0,0 → 1,116 |
Host Admiral TODO |
================================================================================================================ |
|
Implement listerners as weak reference, create a general engine for this (?), possible java 1.5. |
|
Move logged in users accounting from the session hack to model, as weak references. |
|
Show user no exceptions, just 'internal error'. |
|
No unique error handle by mail alias creation. |
|
Additional attributes for all objects, configurable. |
|
HTTP Basic Auth as option to replace form-based auth - to allow integration with |
non-tomcat web applications. |
|
Transaction control for listeners. |
|
+/- Save user id for all db-update operations. |
|
Set 'editor' for an object by loading and not require it for each property change? |
Then problem with objects inside (lazy loaded) collections. |
|
Specification for the model. |
|
Test cases for model, based on the specification. Check all bound conditions |
- e.g. security exceptions. Write a complete scenario to start with default database; |
login as admin, create users, domains, logout; login as normal user, |
create/delete/modify mailboxes and aliases etc. |
|
Test cases for actions, not so detailed as for the model |
(because it makes no sense to parse html pages). |
The scenario for the model test can be used. |
|
+/- Cascade object deletion, confirmation page. |
|
Mail aliases are not cascade deleted by deleting connected mail box. |
|
Check passwords quality (make a separate project for this). |
|
Show filters, search. |
|
+/- Sort options for lists. |
|
Allow to use existing system users: enter uid or name only, check in system for full |
information. |
Import users from system - separate page. |
|
Allow admin to define default language for server and domain. |
|
Show domain for user which is in the domain. |
|
Check, if it's possible to create (or change) an object by admin that the object's owner |
is not allowed to see it. |
|
Check maxlength. |
|
Handle list of physical servers and allow to assign domains/users/etc to different |
servers. |
|
Make hierarchy of domains (forest). |
|
Allow user to create domains (?) and subdomains in his domains. |
|
Catch-all mail alias. Only one per domain. |
|
+/- Basic scripts to push changes to the system. |
|
If mailbox is created, create an user and a mail alias for it in one step - as option. |
Afterwards they are binded and change own name or deleted together. Bind by name? In witch directions? |
|
By building cascade delete tree replace existing objects if new effect is stronger. |
|
Sort the cascade delete tree. |
|
Limit deep of cascade by 'before delete'. |
|
Add/delete passwords stores of existing DB objects if they are changed in config. |
If at least one store is reversable, set password in the new stores. |
|
Double check concurency update. |
|
Study Hibernate behavior if it cannot save some information - seems to be not recoverable, |
restart needed. |
|
Done |
---------------------------------------------------------------------------------------------------------------- |
|
+ Track database structure version. |
|
+ Listeners for all operations. |
|
+ User login history. |
|
+ I18n. Switch language of page on the fly. Save selection in DB for each user. |
|
+ Taglig to show ActionMessages in right way (add it to the StrutsX project). |
|
+ Multi-page lists. |
|
+ Store user and malbox passwords in several forms; e.g. clear text, md5, encrypt. Allow |
admin to specify which forms to use. |
|
+ Change db version to store minor version - changes which don'T affect functioonality, |
e.g. indexes. |
|
+ Config in one place. Allow configuration of each listener. |
|
+ Split model and store. |
|
+ Different user name schemes, not only user@domain. Define an interface to allow admin |
implement an own one. Implement a few common ones. |
|
+ Split CoreResources.properties to several files. |
|
+ Change shell password for system user if its owner's password is changed (?). - available via listener. |