WebIssues/Plan for Version 1.0

From MiMec
Jump to: navigation, search

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.