Emersion Platform Development Tasks
Here comes the overview of ongoing or planned tasks, ideas and architecture approaches related to the different aspect of Platform development.
Workplace Overall Architecture
The first task here is general API design, Workplace GUI layout scheme and extension points. The aim is to develop Workplace basis as highly extendible GUI container to allow others to plug their screens in "standard" way. (The good analogue and example here is Eclipse Workbench).
Will try to create web part of Workplace using Apache Struts Web Application Framework. Seems that it suites good for Workplace nature.
Workplace Web GUI Functional and Graphical Design
Another very important thing is kind of Web GUI library, set of "web widgets" to build nice looking rich web interfaces (like SWT + JFace in Eclipse, or AWT + Swing in "common" Java world). Look for possible candidates. Or maybe will just use javascript components and create some tag library to "wrap" them for "scripting" on the server side.
General Usage DB Access Components
Nothing concrete here yet. Just links for the moment: Jakarta DBCP, Hibernate. Try to generalize approaches and provide simplified API to deal with DB. Declare some extension points.
Users/Security Related Components
Nothing concrete here yet. JAAS. Single-sign-on. ACL. User management.
Workplace Standard Components (Web GUI)
This is the "pre-build" components that will initially come with Workplace.
Plug-ins Manager
Tool to browse and manage plug-ins.
Web Applications Manager
Tool to manage web applications (start/stop/reload/activate/deactivate etc.).
Configuration Manager
Tool to manage Platform configuration: export/import settings, configure all aspects of installed applications (if they contribute to this tool, of course).
Content Management Related Components
Seems that this is suites very good for our needs - Content Repository API for Java Technology (Java Specification Request 170). The Open Source reference implementation of this spec is Apache Jackrabbit. Hope we can utilize this in the CMS part of the Platform.
Content Management Web GUI
I'm quite familiar with OpenCMS system and like some ideas implemented there (but I don't like the implementation :) Think we can take something from OpenCMS.