New Portal Comparison
New Portal Comparison
New Portal is the original version of the OpenACS portals package written for
.LRN. This package is inadequate for a variety of reasons:
- Can't run standalone (is tied to .LRN)
- Defining a portlet requires the writing of dozens of lines of boilerplate SQL code
for Oracle and PostgreSQL.
- Defining a portlet requires the writing of dozens of lines of custom Tcl code to implement
a fairly complex service contract. Among other things, the portal has to "know" how to
add itself to a new-portal page and to remove itself as well. The new-portal package itself provides very limited management help.
- Likewise, in order to add an application which supports portlets, one must implement a .LRN applet or similar functionality. new-portal provides no configuration help.
- Portlets are called with parameters passed in an array. It's impossible to wrap an existing
template with a portlet definition and run it unchanged (i.e. share it with existing code)
without providing an intermediate interface template.
- There's a lot of magic HTML generated within the new-portal package's Tcl library.
By comparison, the Layout Manager package:
- Provides a simple Tcl API for defining a new includelet. No SQL or service contract
implementation is required. An includelet may provide an optional initializer
procedure, for instance to create a private calendar for a user if desired, etc.
- Parameters are defined directly, by name, when an includelet's template is rendered,
just as is true when they're passed using the template system's <include> tag.
- All rendering is done through use of <include> tags, and a simple Tcl API is
provided to allow the addition of custom page templates (which define page layout), themes,
etc.
- The Layout Manager is a service, and is not meant to be mounted, so provides no
User Interface for the customization of page layout, etc. However, there is a library of
templates which are designed to be included (see the Layout Subsite Integration package
for an example of how to use these).
- Though the Layout Manager itself provides no assistance in the managing of
applications and their associated includelets, the Layout Subsite Integration package
provides a very flexible admin interface that can be used to build a subsite interactively,
with no programming required. Alternatively, the install.xml facility, or a script
accesing the Layout Manager Tcl API directly, can be used for site building.
- All rendering operations are heavily cached, so performance should be much better than
new-portal's (queries required for page and navigation tab rendering are all cached).