This prototype is just a test of the basic concepts discussed in Definitions. The system consists of several folders containing the XML page files, templates, CSS styles, images, global components and configuration files.
 |
- Run project1.bat to create the website.
- This calls cms.makesite.bat project1
- In this way you can manage multiple sites by keeping them in seperate named folders
- components.xml contains re-usable Global Components (like a Header) which can be inserted into any page
- cms.makesite.bat uses sitemap.xml to get a list of all pages in the site and build a batch file to process them all with cms.makepage.bat
- cms.makepage.bat combines each pageN.xml with components.xml to ensure the template has access to both page and global components.
- cms.makepage.bat then uses the (currently hardcoded) template template/simple.xsl to produce pageN.htm in the folder site/
- The resulting website is in /project1/site/
|
Right click and choose “Save Link/Target as” to download the file prototype1.zip.gif. Then rename to prototype1.zip and unzip.
This all looks good by how do I as a user go about changing a page? There’ll need to be some kind of a GUI in order for basic users to edit pages and then are those pages required to be regenerated? If the user edits a component would each page where that component is used need to be regenerated?
Comment by Jeremy — October 3, 2005 @ 2:20 pm
Wouldn’t it be better if there was someway to dynamically crawl the pages of the site and there be some text file or naming convnention to specify the type of template a page came from so that when it came to regenerating pages this could be done by clicking one button?
Comment by Jeremy — October 3, 2005 @ 2:50 pm
The publishing process is serial like CityDesk. You work on your site (xml files) and then press “Preview” or “Publish” which builds the entire site and optionally publishes via FTP. Bear in mind we’re talking about small 1-man sites here so a build should be less than a minute.
The GUI is still a challenge to be faced. Currently, my main interest lies in bringing a page together (prototype 2 is coming up!!!).
I could do with some suggestions and support on the GUI. I hate re-inventing the wheel and coding forms so I have been considering some automated solutions. One would be a DTD2FORM function which creates a HTML Form for editing the XML Document. Another possibility is “Explorer Integration”. A user would simply browse the file system, right click on a page or component and choose “Edit”. With desktop.ini and customized folders you can make the whole experience very user friendly. If there is gonna be any coding it’s gotta be VBS/HTA because this runs automatically on any Windows machine.
Comment by Administrator — October 3, 2005 @ 8:31 pm
Regarding the assignment of templates to pages. I played around with a few ideas including the <?xml-stylesheet processing instruction. What I have settled for in prototype 2 is a simple element in each page called <template> which means the template can be changed easily by the user. There is a discussion of the problematic on IBM developerWorx.
Comment by Administrator — October 3, 2005 @ 8:38 pm