Sub Tasks

Evolution/surf This is a list of tasks and their breakdown identified for providing exchange features in separate component views.

Move Exchange server connection to e-d-s

The e2k methods that deal with the connection to the exchange server need to be moved into evolution-data-server so that the plugins running in evolution address space can then invoke these methods. This is a very basic requirement to be met if plugins cannot be executed in exchange address space.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Exchange

Move exchange server connection code to e-d-s/servers

High

Medium

Evolution/surf

Completed basic feasibility testing.

Authentication from all the components.
  • Should support user authentication from contacts,calendar and tasks components too (not only mailer and exchange components). User should be able to bring up Evolution and authenticate in all the components.

As of now the user can authenticate only in the mailer and exchange component views only. This is a another basic requirement to be met if we want to allow exchange features in other components.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Additional Information

Exchange

Enable auth-domain in camel exchange provider

High

Medium

Evolution/surf

Done

Exchange

Provide a mechanism to communicate the password the exchange backend.

High

Medium

Evolution/surf

In progress

Might have to move exchange addressbook and calendar to e-d-s for enabling this.

Support for folder hierarchy

        * Should dispaly folder hierarchy in Contacts,Calendar,Tasks components.
        * Folder tree should get updated on every folder operation. (As in mailer view)

Exchange supports multiple addressbooks/calendars/tasks. We need to display the folder hierarchy since the user can decide the location of the subfolders in the hierarchy while creating them.

Currently there are 2 approaches to this.

       Approach 1 : Modify the evolution UI to support folder hierarchy tree in addressbook/calendar/tasks 
                    components as in the mailer component. (Need more granulity in understanding the amount
                    of work involved here.)

       Approach 2 : During any of the folder addition/rename/deletion operations the folder tree hierarchy
                    should be displayed as a popup.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Additional Information

Exchange

Create the folder hierarchy store

High

Medium

Evolution/surf

N/A

Exchange

Create a tree view for displaying the folder hierarchy

High

Medium

Evolution/surf

N/A

Exchange

Implement signal handlers for folder addition/rename/deletion operations

High

Medium

Evolution/surf

N/A

Plugin

Create a folder context menu for adding/removing folders as favourites

High

Medium

Evolution/sush

N/A

This could be a plugin

Exchange

Incorporate the code for handling favourite folders and handle esource creation

High

Medium

Evolution/sush

N/A

Public folders

        * Should display a Group "Public Folders" in every component.
        * On expanding, it should have a group *All public folders*, which should have list of all public folders
          of the type same as that of compoent.
        * Should do nothing on selecting the public folder.
        * On adding public folder to favorites, should create a group "Favorites" and add the folder to the group
          and display it's contents on selecting the folder.
        * Each component should display favorite folders of the same type of component.
        * On selecting the favorite folder, the contents should get displayed.

Evolution/surf Displaying the public folders in every component and not having anything displayed when the folder is selected might not look very user friendly. Instead we could have a popup that lists the public folders (for the component in which it is invoked). There should also be a button which says "Add to favourites" and "Remove from favourites". This would also mandate the favourite folder hierarchy to be displayed in the same popup window.

Folder operations

        * All these folder operations (except dnd) should be supported from main menu items as well as folder 
          context menu. And all these depend upon support for folder hierarchy in all the components.

        1. New folder
                The popup for creating a new calendar should now display the hierarchy structure if the backend 
                supports it. [ Each backend is characterised by the source group ]. This will allow calendars to
                be created as sub-calendars. Ideally we should be showing only those folders whose type matches
                the component type. [ just show calendars in calendar component ]
        2. Delete folder
        3. Rename folder
        4. Copy folder
        5. Move folder
        6. DnD
        7. Add to /remove from favorites
                 This could just be an eplugin mask which changes the operation name displayed from "New folder"
                 to "Add as favourites" and "Delete folder" to "Remove from favourites". Either the folder store
                 or the eplugin should have a mask for this menu item to be displayed.
        8. Folder permissions
                  This should be done as part of the folder properties and should be done as an eplugin.

        * Unsupported/not permitted operations should display proper error messages.

Evolution/Vivek: In order to have (show/hide) more menu options through plugin, we need to define some extra visibility masks for the target type 'folder'. Also their corresponding flags have to be added to the CamelFolderInfo. (Since evo now will show more types of folder in the same view).

Subscribe to/Unsubscribe from other users folders

        * Should allow subscribing and unsubscribing folders of the type same as that of the component, in       
          mail,contacts,calendar and tasks components.
        * Should provide a main menu item and folder context menu item using e-plugin to perform these 
          operations.

Note : Provision to display the folder hierarchy in a popup might be needed.

        This would be a menu-plugin, probably under "Actions".
        This should be enabled only if an exchange account is enabled.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Exchange Plugin

Create a plugin skeleton

High

Medium

Evolution/Vivek

N/A

Exchange

Move the code from exchange to plugin and fix compile issues

High

Medium

Evolution/Vivek

N/A

Test

Test this feature and check for compatibility with the 2.2 release behaviour

High

Medium

Evolution/Vivek

N/A

Folder size

        * Allow user to see folder sizes from all the compoents. Should display folder size for all the folders 
          in a component.
        * Should provide main menu item to display folder size for all folders and folder context menu item for a
          size of a selected folder.

        This would be a menu-plugin, probably under "Actions".
        This should be enabled only if an exchange account is enabled.
        We might also provide a folder context menu item, or have it as part of the folder properties. This could
        be another plugin.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Exchange Plugin

Create a plugin skeleton

High

Medium

Evolution/Vivek

N/A

Exchange

Move the code from exchange to plugin and fix compile issues

High

Medium

Evolution/Vivek

N/A

Exchange

Find a mechanism to fetch folder size for a single folder

High

Medium

Evolution/Vivek

N/A

Test

Test this feature and check for compatibility with the 2.2 release behaviour

High

Medium

Evolution/Vivek

N/A

Delegation

        * Need to integrate delegation assistant dialog in account editor (as OOF), using e-plugin.
        * Bring back delegation feature - as in 1.4
        * Need a mechanism to exchange data between plugin and connector.

Assumption : The plugin headers are exported, so connector can use them and build over it.

        This would be a menu-plugin, probably under "Actions".
        This should be enabled only if an exchange account is enabled.
        Should re-order the code so that it links to only a specific part of exchange and not all.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Exchange Plugin

Create a plugin skeleton

High

Medium

Evolution/sush

N/A

Exchange

Move the code from exchange to plugin and fix compile issues

High

Medium

Evolution/sush

N/A

Exchange

Fix the issues with existing code and make delegation work

High

Medium

Evolution/sush

N/A

Test

Test this feature and check for compatibility with the 2.2 release behaviour

High

Medium

Evolution/sush

N/A

Change Exchange password

        * Allow user to change password in mail, calendar, addressbook and tasks components.
        * For the UI, should add "Change Password" main menu item using e-plugin.

        Should be a menu-item plugin, probably under "Actions"
        This should be enabled only if an exchange account is enabled.

Task Area

Task Description

Importance

Difficulty

Owner

Status

Exchange Plugin

Create a plugin skeleton

High

Medium

Evolution/Vivek

N/A

Exchange

Move the password and kerberos code from exchange to plugin and fix compile issues

High

Medium

Evolution/Vivek

N/A

Test

Test this feature and check for compatibility with the 2.2 release behaviour

High

Medium

Evolution/Vivek

N/A

Apps/Evolution/ExchangeWBS (last edited 2013-08-08 22:50:11 by WilliamJonMcCann)