This roadmap defines the goals and direction for the OpenACS web application toolkit. It lists the current development direction defined by the OpenACS Core Team and developer community. All users, administrator, and developers of OpenACS are encouraged to participate in the community and provide feedback on this roadmap. The latest version of this document is available at http://openacs.org/storage/view/proposals/roadmap.html
OpenACS is a development platform for rapid development of customized web based applications.
OpenACS has a strong templating system, and a good basic datamodel to support interactive web applications, strong support for communities and subsites, including flexible permissons and group memberships features, a powerful form definiton API, built-in query and form input validation, built-in security features, automated testing tools for API and web user interface tests, a content repository to provide versioned storage of content and application objects.
We will make OpenACS easier to learn for developers and adminstrators.
We will improve performance by tuning
in order to allow OpenACS to run on a single box even when more than 200 members are online at the same time instead what we need now: 1 static 2-CPU aolserver server, 1 dynamic 4-CPU aolserver server and 1 4-CPU database server and the system is overloaded as soon the number of online users excess 110.
We will improve quality by:
For developers we will provide a consistent Tcl API to define and manipulate object types, define and process forms based on object type definitions. This includes rapid development features to generate tcl/adp pages for the most common use cases for rapid proptyping and easy customization.
The following projects have sponsors:
Dave Bauer, Lee Denison, Don Baccus: Merge object models (acs_objects/cr) to allow the same type definition APIs for both. Create insert/select views for every object type, similar to CR. Allow automatic form defintion based on object type definiton. This includes and API to define multiple forms per object type to be used in different cases and specification of widgets for each type attribute (have sane defaults for everything). Allow for rapid development by generating type definitions, forms, and user interface pages based on database tables.
All of this will be based on the work by Lee Denison and Dave Bauer with the dynamic-types package. This will provide a consistent Tcl API using the preferred declarative style, with a list-based specification paraemter to the creation functions. This will require only one Tcl procedure call to define an object_type and all attributes instead of the multiple calls required now.
Jeff Davis, Andrew Grumet, Malte Sussdorff, Dave Bauer: Clean up HTML in core and application packages to adhere to XHTML Transitional. Replace presentational markup with semantic markup. Define a reasonable set of default CSS classes and ids that can be resused across the toolkit. Remove package specific CSS classes and ids in most cases and replace with site-wide ones. Allow for easy CSS-based themes.
OpenACS Core Team: Full automated testing coverage of core, and test cases for bug reports, and fixes.
OpenACS Core Team: Use existing Tcl code where possible, particularly from the Tcl standard libarary, Tcllib. Long Term
Stuff people are committed to working on after 5.3, or stuff noone is committed to work on yet. Should be community driven.
Near term:
Long term: