Subversion Repositories general

Rev

Rev 1222 | Blame | Compare with Previous | Last modification | View Log | RSS feed

Host Admiral TODO
================================================================================================================
        
        Implement listerners as weak reference, create a general engine for this (?), possible java 1.5 only.
        
        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.
        
        Split core classes to groups were dependancies between the groups may be one-way one without cycles.
        E.g.:
          users <--- system_users
           ^  ^         ^           
           |  *---------*-------- emails 
           |            v
           *-------- domains

        For all object: save separate public and private comment. Public one is visable for anyone
        who has view rights for the object; private one - only who has edit rights.

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.