2 Here is the explanation of the steps involved in deleting users and
3 lists, the examples were created using cut and paste, so they should
4 reflect what actually is printed to the user. The one thing that
5 something like this can't give you a feel for is how long it takes to
6 delete a list or user. If you let the client do all the work of
7 removing references then deleting an average list or user seems to
10 Comments on this, Anyone???
14 ------------------------------------------------------------
16 ------------------------------------------------------------
18 Before a list can be sucessfully deleted a number of things must be
21 - This list may be a member of other lists.
23 - This list may have members of its own.
25 - This list may be the ACL of another object.
27 Since the SMS server makes these checks internally we will make an
28 attempt to delete the list, and only if this fails with SMS_IN_USE
29 will we attempt to check and assist the user in deleting the list.
31 Once this list has been deleted then some new lists that may be likely
32 canidates for deletion, these would be lists of the following types:
34 - The ACL of this list may now not be in use.
36 - A list of which this list was a member may now no longer have any members.
38 In both these cases the lists mentioned should be deleted.
39 I suggest, and have implemented the following user interface.
43 ------------------------------------------------------------
44 list kit is the Access Control Entity (ACE) for the following data objects:
51 The ACE for each of these items must be changed before
52 the list kit can be deleted.
55 ------------------------------------------------------------
57 Once this has been changed, we try again, and...
59 ------------------------------------------------------------
60 Are you sure that you want to delete the list kit [n]: y
61 List kit has 4 members:
68 Remove these members from list kit? [n]: y
69 list kit is a member of 2 other list(s).
73 Remove list kit from these lists? [n]: y
76 Delete the unused Access Control Entity (ACE) foo? [n]: y
77 Are you sure that you want to delete the list foo [n]: y
79 Delete the empty list xconq? [n]:
80 Command: - ready for next command...
82 ------------------------------------------------------------
84 and the process continues until all dangling references are cleaned up.
87 ------------------------------------------------------------
89 ------------------------------------------------------------
91 Checks must also be made before a user is deleted.
93 - The user's home filesystem should be deleted. (query first) ?
95 - The user's group should be deleted. (query first) ?
97 - Is the user an ACL of any object in the database ?
99 - Is the user a member of any lists ?
101 Once again, since the SMS server makes these checks internally
102 we will make an attempt to delete the user, and only if this fails
103 with SMS_IN_USE will the client attempt to check why it failed and
104 assist the user in deleting this user.
106 If these checks are passed then another attempt will be made
107 to delete the user. This time there should be no way to get an
108 SMS_IN_USE error. Now that the user has been sucessfully deleted,
109 one last check is made to clean up dangling references in the database.
111 - Remove any lists that are now empty due to the user being deleted from them.
113 NOTE: postoffice and finger info are deleted automatically by the SMS server.
115 User interface for delete user:
117 ------------------------------------------------------------
120 Are you sure that you want to delete this user? [n]: y
122 Delete the filesystem named foo_bar (y/n)? [n]: y
123 Filesystem Successfully Deleted.
125 There is also a list named foo_bar, delete it? [n]: y
126 Are you sure that you want to delete the list foo_bar [n]: y
127 List foo_bar has 1 member:
131 Remove this member from list foo_bar? [n]: y
133 user foo_bar is the ACE for the following data objects:
137 The ACE for each of these items must be changed before
138 the user foo_bar can be deleted.
140 ------------------------------------------------------------
141 once this has been done then we try again and get...
142 ------------------------------------------------------------
144 user foo_bar is a member of 2 other lists.
149 Remove user foo_bar from these lists? [n]:
151 User foo_bar deleted.
154 Delete the empty list xconq? [n]:
155 Are you sure that you want to delete the list bar [n]: y
156 List Sucessfully Deleted.
157 ------------------------------------------------------------