Sonoma Portal is a small content management/portal system. Currently many people are still using databases or static HTML pages to maintain semi-static web sites. The Sonoma Portal aims at providing people with a nice web site with the ability to maintain content themselves without the need of a complicated database system. The Sonoma is also template based so the appearance of the site can be changed very quickly, with one XSL template.
Sonoma Portal processes XML content to display on web sites. The XML is mostly in DocBook format. One goal is to use RDF or RSS format for other sections of the site (calendar, topics, etc). The previous home page is at http://rch.tzo.com/ which I hope gets a face lift soon. Other sites using the system are http://www.couponbanners.com/, http://www.korcon.com/ and http://www.wearhiphop.com/.
Currently content can be edited using a web base tool (built with Java and JSP). It works well but there is a lot of work to be done. Currently only user account is support per web site. To be robust, security and user accounts need to be improved.
For more information check out the project home page:
E-Commerce. What would a web site be without being able to get a commerce section up and running quickly. I developed the Sonoma Catalog XML format that should work well for a majority of businesses. Currently there is no 'front' end for creating this catalog. I am working on another project that will facilitate this. Another task is creating many 'import' procedures to transform other databases or spread sheets data in a Sonoma Catalog XML file. I'm hoping by June to consider really getting a good start with this project.
XSLT. 90% or more of the system is written with XSLT. Some of the functionality is written with XSLT Extensions calling Java Classes. A dynamic class loader has also been started which would greatly ease the use of implementing new (simple) methods. Currently the news and calendar classes use this dynamic class loader. Each web site has a shell XSLT and Cascading Style Sheet that contains most of the HTML/Style content. XSLT templates located in the /home directory should not be edited unless the changes are needed throughout the server. XSL Templates on my system are located in a directory not in the web server path. Under each web application, a symbolic link can be created allowing all sites to share the XSLT templates (one source is beautiful!). The booktemp.xsl template file contains templates for transforming DocBook and DocBook Articles. The product.xsl template transforms the catalog xml files, and the calendar.xsl templates transforms the calendar.xml file. The edit.xsl and forms.xsl templates are used for the JSP files in the sonomaEdit directory. Again, this directory is usually shared across all web application.
JSP. The web site itself uses one jsp page. This could be added to the .jar file and mapped as a servlet. To better maintain the code. Currently, each web site maintains their own index.jsp. Content editing. To be continued...