Rev 1208 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1208 | Rev 1222 | ||
---|---|---|---|
1 | Host Admiral TODO |
1 | Host Admiral TODO |
2 | ======================================================================================================================== |
2 | ================================================================================================================ |
- | 3 | ||
- | 4 | Implement listerners as weak reference, create a general engine for this (?), possible java 1.5. |
|
- | 5 | ||
- | 6 | Move logged in users accounting from the session hack to model, as weak references. |
|
3 | 7 | ||
4 | Do not show any exceptions to user, show just 'internal error'. |
8 | Show user no exceptions, just 'internal error'. |
5 | 9 | ||
6 | No unique error handle by mail alias creation. |
10 | No unique error handle by mail alias creation. |
7 | 11 | ||
8 | Additional attributes for all objects, configurable. |
12 | Additional attributes for all objects, configurable. |
9 | 13 | ||
10 | HTTP Basic Auth as option to replace form-based auth - to allow integration with |
14 | HTTP Basic Auth as option to replace form-based auth - to allow integration with |
11 | non-tomcat web applications. |
15 | non-tomcat web applications. |
12 | 16 | ||
13 | Transaction control for listeners. |
17 | Transaction control for listeners. |
14 | 18 | ||
15 | +/- Save user id for all db-update operations. |
19 | +/- Save user id for all db-update operations. |
16 | 20 | ||
17 | Set 'editor' for an object by loading and not require it for each property change? |
21 | Set 'editor' for an object by loading and not require it for each property change? |
18 | Then problem with objects inside (lazy loaded) collections. |
22 | Then problem with objects inside (lazy loaded) collections. |
19 | 23 | ||
20 | Specification for the model. |
24 | Specification for the model. |
21 | 25 | ||
22 | Test cases for model, based on the specification. Check all bound conditions |
26 | Test cases for model, based on the specification. Check all bound conditions |
23 | - e.g. security exceptions. Write a complete scenario to start with default database; |
27 | - e.g. security exceptions. Write a complete scenario to start with default database; |
24 | login as admin, create users, domains, logout; login as normal user, |
28 | login as admin, create users, domains, logout; login as normal user, |
25 | create/delete/modify mailboxes and aliases etc. |
29 | create/delete/modify mailboxes and aliases etc. |
26 | 30 | ||
27 | Test cases for actions, not so detailed as for the model |
31 | Test cases for actions, not so detailed as for the model |
28 | (because it makes no sense to parse html pages). |
32 | (because it makes no sense to parse html pages). |
29 | The scenario for the model test can be used. |
33 | The scenario for the model test can be used. |
30 | 34 | ||
31 | +/- Cascade object deletion, confirmation page. |
35 | +/- Cascade object deletion, confirmation page. |
32 | 36 | ||
33 | Mail aliases are not cascade deleted by deleting connected mail box. |
37 | Mail aliases are not cascade deleted by deleting connected mail box. |
34 | 38 | ||
35 | Check passwords quality (make a separate project for this). |
39 | Check passwords quality (make a separate project for this). |
36 | 40 | ||
37 | Show filters, search. |
41 | Show filters, search. |
38 | 42 | ||
39 | +/- Sort options for lists. |
43 | +/- Sort options for lists. |
40 | 44 | ||
41 | Allow to use existing system users: enter uid or name only, check in system for full |
45 | Allow to use existing system users: enter uid or name only, check in system for full |
42 | information. |
46 | information. |
43 | Import users from system - separate page. |
47 | Import users from system - separate page. |
44 | 48 | ||
45 | Allow admin to define default language for server and domain. |
49 | Allow admin to define default language for server and domain. |
46 | 50 | ||
47 | Show domain for user which is in the domain. |
51 | Show domain for user which is in the domain. |
48 | 52 | ||
49 | Check, if it's possible to create (or change) an object by admin that the object's owner |
53 | Check, if it's possible to create (or change) an object by admin that the object's owner |
50 | is not allowed to see it. |
54 | is not allowed to see it. |
51 | 55 | ||
52 | Check maxlength. |
56 | Check maxlength. |
53 | 57 | ||
54 | Handle list of physical servers and allow to assign domains/users/etc to different |
58 | Handle list of physical servers and allow to assign domains/users/etc to different |
55 | servers. |
59 | servers. |
56 | 60 | ||
57 | Make hierarchy of domains (forest). |
61 | Make hierarchy of domains (forest). |
58 | 62 | ||
59 | Allow user to create domains (?) and subdomains in his domains. |
63 | Allow user to create domains (?) and subdomains in his domains. |
60 | 64 | ||
61 | Catch-all mail alias. Only one per domain. |
65 | Catch-all mail alias. Only one per domain. |
62 | 66 | ||
63 | +/- Basic scripts to push changes to the system. |
67 | +/- Basic scripts to push changes to the system. |
64 | 68 | ||
65 | If mailbox is created, create an user and a mail alias for it in one step - as option. |
69 | If mailbox is created, create an user and a mail alias for it in one step - as option. |
66 | Afterwards they are binded and change own name or deleted together. Bind by name? In witch directions? |
70 | Afterwards they are binded and change own name or deleted together. Bind by name? In witch directions? |
67 | 71 | ||
68 | By building cascade delete tree replace existing objects if new effect is stronger. |
72 | By building cascade delete tree replace existing objects if new effect is stronger. |
69 | 73 | ||
70 | Sort the cascade delete tree. |
74 | Sort the cascade delete tree. |
71 | 75 | ||
72 | Limit deep of cascade by 'before delete'. |
76 | Limit deep of cascade by 'before delete'. |
73 | 77 | ||
74 | Add/delete passwords stores of existing DB objects if they are changed in config. |
78 | Add/delete passwords stores of existing DB objects if they are changed in config. |
75 | If at least one store is reversable, set password in the new stores. |
79 | If at least one store is reversable, set password in the new stores. |
76 | 80 | ||
77 | Double check concurency update. |
81 | Double check concurency update. |
78 | 82 | ||
79 | Study Hibernate behavior if it cannot save some information - seems to be not recoverable, restart needed. |
83 | Study Hibernate behavior if it cannot save some information - seems to be not recoverable, |
- | 84 | restart needed. |
|
80 | 85 | ||
81 | Done |
86 | Done |
82 | ------------------------------------------------------------------------------------------------------------------------ |
87 | ---------------------------------------------------------------------------------------------------------------- |
83 | 88 | ||
84 | + Track database structure version. |
89 | + Track database structure version. |
85 | 90 | ||
86 | + Listeners for all operations. |
91 | + Listeners for all operations. |
87 | 92 | ||
88 | + User login history. |
93 | + User login history. |
89 | 94 | ||
90 | + I18n. Switch language of page on the fly. Save selection in DB for each user. |
95 | + I18n. Switch language of page on the fly. Save selection in DB for each user. |
91 | 96 | ||
92 | + Taglig to show ActionMessages in right way (add it to the StrutsX project). |
97 | + Taglig to show ActionMessages in right way (add it to the StrutsX project). |
93 | 98 | ||
94 | + Multi-page lists. |
99 | + Multi-page lists. |
95 | 100 | ||
96 | + Store user and malbox passwords in several forms; e.g. clear text, md5, encrypt. Allow |
101 | + Store user and malbox passwords in several forms; e.g. clear text, md5, encrypt. Allow |
97 | admin to specify which forms to use. |
102 | admin to specify which forms to use. |
98 | 103 | ||
99 | + Change db version to store minor version - changes which don'T affect functioonality, |
104 | + Change db version to store minor version - changes which don'T affect functioonality, |
100 | e.g. indexes. |
105 | e.g. indexes. |
101 | 106 | ||
102 | + Config in one place. Allow configuration of each listener. |
107 | + Config in one place. Allow configuration of each listener. |
103 | 108 | ||
104 | + Split model and store. |
109 | + Split model and store. |
105 | 110 | ||
106 | + Different user name schemes, not only user@domain. Define an interface to allow admin |
111 | + Different user name schemes, not only user@domain. Define an interface to allow admin |
107 | implement an own one. Implement a few common ones. |
112 | implement an own one. Implement a few common ones. |
108 | 113 | ||
109 | + Split CoreResources.properties to several files. |
114 | + Split CoreResources.properties to several files. |
110 | 115 | ||
111 | + Change shell password for system user if its owner's password is changed (?). - available via listener. |
116 | + Change shell password for system user if its owner's password is changed (?). - available via listener. |