NUN.ME.SHU logo
NUN.ME.SHU banner
Switch to printer friendly page layoutView XML source of this pageHistory

Public release: September 15, 2002
Last update: September 28, 2002

On this page you can follow the day-to-day developments of the creation of this web site.



The birth of a web site
August 4: Sign up with ISP SolidWebHosting.com
Registration of domain NunMeShu.com
August 5: Configure site according to Cocoon 1.8 requirements. Create helloWorld.xml file and stylesheet. Is not working.
August 13: After a few days of frustrating miscommunication with the support department of SolidWebHosting, and after discovering that I have secure shell access, and after some looking around on the remote host, I find out that they use Cocoon2. The configuration for Cocoon2 is very different from the configuration for Cocoon 1.8, so I'll have to read its documentation at the Apache site.
August 15: While studying the Cocoon2 documentation I choose the general color scheme for the Nun.Me.Shu web site. Based on the origin of the name Nun.Me.Shu, which is Sumerian/Akkadian, and the fact that the Sumerians used clay tablets to document their knowledge, I opt for different shades of brown plus deep red. This also works well from a Feng Shui point of view, were light brown stands for new beginnings, brown for stability, and deep red for authority. I create a logo, header title and watermark background image using Photoshop.
August 17: I now understand the Cocoon2 configuration, and implement a minimal setup on the host machine. Finally I have my helloWorld.xml test page running, but I realize that configuration for a full-blown site will require more study of the Cocoon2 framework. I download Cocoon 2.0.3 and Tomcat 4.0.4 to my Notebook. Installation is simple, but configuring Tomcat and Cocoon2 to process a site outside the default Tomcat webapp directory takes another day. (Looking back it's all pretty simple, it's just not well documented)
August 18: Tomcat and Cocoon2 are configured and running on my Notebook. My general purpose stylesheet is displaying pages. There are a few incompatibility issues between the Xalan XSLT engine from Cocoon2 and the one from Cocoon 1.8 (with regard to global variables), but they are quickly resolved. At last I can start creating content for the Nun.Me.Shu site.
August 20: I generate an index.html file on my Notebook from an XML source and post it on the site. Have to make some tweaks to the css file to make the page look reasonable decent in Netscape 4.7. Revert back to original css file, because trying to be compatible with NS, or older browser versions, is much too limiting in this stage of development.
August 22: Cocoon2 is configured on the host machine. Pages are now served from XML.
The Amazon XML/HTTP web service is not working correctly though, only one product is displayed, and then somehow the rendering breaks.
One of the benefits of working from a base stylesheet is the ability to quickly prototype a web site (no traditional wire-frames necessary). Start with the navigation structure and the basic organization of the site becomes visible. Content, layout and styling all can be worked on individually and independently. There is no cross-influence between the three in the Nun.Me.Shu architecture.
August 25: Configured the form mail, so that the contact form is now working.
One of the benefits of the Nun.Me.Shu architecture is the ability to define global variables at three levels: site wide (in an entity definition file), page specific (in the content xml file) and request specific (as a querystring parameter in the URL of a page). On a site wide level, the site is defined as "under construction" leading to the display of the brown-bordered message at the top of most pages. For some pages though, that are final (for the time being), the status is changed in their xml content file to "not under construction", and they will therefore not display the brown-bordered message. See for example the contact page.
August 26: The issue with the Amazon web service (Java errors when using the substring-before() and/or substring-after() functions) and another issue with pages more than two levels deep in a hierarchical structure (DOCTYPE includes with relative path "../../../" are resolved as "../../" causing files not being found) have been traced back to originate from the versions of Xalan (2.3.1) and Xerces that are shipped with Cocoon2. I have to revert to a previous stable version of Xalan (2.2.0). This is causing some real headaches so far. On my Notebook all works fine, but on the host, Tomcat no longer recognizes Cocoon2 when the older Xalan is present.
September 1: I didn't spend much time on this project the last few days. I still have to configure my host with the older Xalan version. I added the basic pages for a sample web site. These pages will eventually contain a relatively extensive overview of all XML elements in the Nun.Me.Shu framework. I also added a store section on the main site (even though that is not working yet due to the Xalan bug)
September 4: Cocoon2 is now configured with a stable (older version) of Xalan and Xerces. Most problems I had before have been solved. The functionality to view the XML source of a page is still not working though. To be able to view the XML source of a page I try to make use of Cocoon's "pipeline" concept. In this case, based on the extension of a file ("*.xml-source") Cocoon should render the current page ("*.xml") with a different stylesheet, but somehow Apache or Tomcat assumes it is supposed to serve the page and produces a 404 error (since there is no file with extension "xml-source"). Again, as before, all works perfectly well on my Notebook, but not on my host, due to little differences in configuration. Now I have to figure out what is different and is causing this specific problem.
In general, as can be seen when viewing the previous history, most time is spend configuring the host server and solving differences in behavior between development environment and host. I started a month ago, and despite many time-consuming software-environment issues, the web site is starting to come together.
September 7: Finished the Sample Framework, and added the Web Services section. At the moment Cocoon2 is rendering pages real-time, and is using a memory cache to store results. The sites web logs indicate that Cocoon2 doesn't serve pages fast enough (even if cached) to satisfy search engine web crawlers; they seem to give up quickly if a response to a request takes too long. Therefore it might be necessary to pre-generate static pages as HTML and have them served by the Apache web server. After all, only the store and the news pages are really dynamic on this site.
September 10: Added some content to the XML/XSL/CSS section.
September 15:
(Public release)
Finished adding content to the web site. The site is now ready for public viewing:) All in all, it took about 160 hours to develop this web site (61 pages), of which some 30 hours were spend in configuring the development and production environment. It should be taken into consideration that the Nun.Me.Shu architecture (which takes care of the page layout and styling, and which was a three-month effort in itself) was complete, mature and stable when I started, thus allowing me to focus on writing content, resulting in a short development time.
September 28: Added "Why/When XSLT" page in the XML/XSL/CSS section. Enabled conditional redirect by Apache, so the static part of the site can now be pre-generated and served as plain HTML. Only the web services pages are rendered real-time. From now on all web pages thus have the extension .html in stead of .xml, even the real-time rendered XML pages. Switching extensions was already supported by the Nun.Me.Shu architecture, so no code changes were required for this.