Difference between revisions of "WebIssues/Plan for Version 1.0"
(New page: Here's the most general development plan for the nearest future: {| border="1" cellpadding="5" cellspacing="1" ! Server Side ! Client Side |- | create branch 1.0; change the layout and st...) |
|||
Line 1: | Line 1: | ||
− | + | The WebIssues server will be completely rewritten in version 1.0 and an integrated Administration Panel and Web Client will be added. Many changes are required in the database and the protocol in order to make it possible store all information on the server side and share them between the client and the server. Also many already existing features will be redesigned (including filters, watches and notifications) and new capabilities will be added. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== WebIssues Server 1.0 == | == WebIssues Server 1.0 == | ||
− | + | The layout of the server code will look like this: | |
{| border="1" cellpadding="5" cellspacing="1" | {| border="1" cellpadding="5" cellspacing="1" | ||
Line 29: | Line 10: | ||
| client/ || the Web Client application | | client/ || the Web Client application | ||
|- | |- | ||
− | | common/ || | + | | common/ || code shared between the admin and client applications; data files and resources (images, style sheets, scripts, etc.) |
|- | |- | ||
− | | data/ || user's data: configuration | + | | data/ || user's data: configuration files, attachments, logs, etc. |
|- | |- | ||
| server/ || the WebIssues protocol handler | | server/ || the WebIssues protocol handler | ||
|- | |- | ||
− | | system/ || | + | | system/ || code shared between all parts of the application: database abstraction layer, logging, validation, logic, etc. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | index.php || the login page |
|} | |} | ||
− | Note that <tt>index.php</tt> will no longer be the WebIssues protocol handler | + | Note that <tt>index.php</tt> will no longer be the WebIssues protocol handler but instead it will be a login page for the web applications. Code handling the protocol will be moved to the <tt>server</tt> subfolder and the desktop client will automatically append <tt>server/webissues/handler.php</tt> to the server's URL. |
− | The setup and update wizards will be similar to what already exists, except that they will allow, as the first step, to enter database connection details and will create the configuration file | + | The setup and update wizards will be similar to what already exists, except that they will allow, as the first step, to enter database connection details and will automatically create the configuration file. They will be stored in <tt>admin/setup</tt> subfolder. |
− | The configuration file, all data files and custom user's files will be stored, by default, in a single folder called <tt>data</tt> so that it's easier for the user to back up everything, protect the folder from unauthorized access and perform the updates. | + | The configuration file, all data files and custom user's files will be stored, by default, in a single folder called <tt>data</tt> so that it's easier for the user to back up everything, protect the folder from unauthorized access and perform the updates. As much configuration data as possible will be stored in the database and managed using the Administration Panel. Also an event log will be stored in the database (accessible through the Administration Panel) and only debugging information will be logged to text files. |
− | + | See [[../MVC_Pattern|MVC Pattern]] for details of the architecture of the server application. | |
− | + | == Protocol Changes == | |
− | The | + | The most important functionalities which will be added in version 1.0 of the protocol are: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* deleting and moving issues | * deleting and moving issues | ||
− | * editing/deleting attachments | + | * editing/deleting attachments and comments |
− | * | + | * managing filters, column settings, etc. |
− | * tracking read/unread state of issues | + | * tracking read/unread state of issues, managing watches |
− | + | * updated support notifications | |
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Other changes include: | |
− | * | + | * increase maximum length of attribute values to 255 characters and add support for multi-line fields |
− | + | * support for localization of the format of dates and numbers | |
− | + | * command for getting server version and settings | |
− | |||
− | * | ||
− | |||
− | |||
− | * | ||
− | + | == Web Client == | |
− | The | + | The Web Client will be a regular web application without AJAX and generally it should be possible to use the Web Client without JavaScript enabled. On the other hand, the application should provide functionality equivalent to the desktop client, including a three-pane UI similar to email clients and support for all operations which can be performed through the desktop client. The UI doesn't have to be identical and should be design with web design principles in mind; for example contextual menus will be replaced with equivalents more natural to web applications. The Web Client will be fully localizable just like the desktop client. |
Latest revision as of 21:17, 26 June 2010
The WebIssues server will be completely rewritten in version 1.0 and an integrated Administration Panel and Web Client will be added. Many changes are required in the database and the protocol in order to make it possible store all information on the server side and share them between the client and the server. Also many already existing features will be redesigned (including filters, watches and notifications) and new capabilities will be added.
WebIssues Server 1.0
The layout of the server code will look like this:
admin/ | the Administration Panel application |
client/ | the Web Client application |
common/ | code shared between the admin and client applications; data files and resources (images, style sheets, scripts, etc.) |
data/ | user's data: configuration files, attachments, logs, etc. |
server/ | the WebIssues protocol handler |
system/ | code shared between all parts of the application: database abstraction layer, logging, validation, logic, etc. |
index.php | the login page |
Note that index.php will no longer be the WebIssues protocol handler but instead it will be a login page for the web applications. Code handling the protocol will be moved to the server subfolder and the desktop client will automatically append server/webissues/handler.php to the server's URL.
The setup and update wizards will be similar to what already exists, except that they will allow, as the first step, to enter database connection details and will automatically create the configuration file. They will be stored in admin/setup subfolder.
The configuration file, all data files and custom user's files will be stored, by default, in a single folder called data so that it's easier for the user to back up everything, protect the folder from unauthorized access and perform the updates. As much configuration data as possible will be stored in the database and managed using the Administration Panel. Also an event log will be stored in the database (accessible through the Administration Panel) and only debugging information will be logged to text files.
See MVC Pattern for details of the architecture of the server application.
Protocol Changes
The most important functionalities which will be added in version 1.0 of the protocol are:
- deleting and moving issues
- editing/deleting attachments and comments
- managing filters, column settings, etc.
- tracking read/unread state of issues, managing watches
- updated support notifications
Other changes include:
- increase maximum length of attribute values to 255 characters and add support for multi-line fields
- support for localization of the format of dates and numbers
- command for getting server version and settings
Web Client
The Web Client will be a regular web application without AJAX and generally it should be possible to use the Web Client without JavaScript enabled. On the other hand, the application should provide functionality equivalent to the desktop client, including a three-pane UI similar to email clients and support for all operations which can be performed through the desktop client. The UI doesn't have to be identical and should be design with web design principles in mind; for example contextual menus will be replaced with equivalents more natural to web applications. The Web Client will be fully localizable just like the desktop client.