Zope Page Templates and/or Python scripts ("core code") that transform a Zope ordered folder's contents into a presentable web-site.
Consider a Zope ordered Folder, containing some number of objects, typically ZPT or a sub-folder (which itself would contain some number of objects, etc). Each non-folder would contain some minimal amount of code to include a single master template (e.g., "<tal:x replace="structure here/std_tmpl" />"), then standard HTML in the rest of the file. (A similar minimal amount of footer code is also acceptable.)
Consider an [url removed, login to view] web design, like [Sliqua]. It has a vertical navigation bar on the left. Modify that navigation bar to reflect the folder contents as described below.
1) Take the Sliqua design and adapt it as follows:
A. Change the "References" side-bar to "Navigate"
B. Make core code fill the rest of that side-bar with the contents of the ordered folder (i.e., title or name), in order, with appropriate link.
C. Currently-displayed object should be bold
D. Make core code fill the "breadcrumbs" (upper left, just below "Sliqua...": i.e. "// home / relative url") to reflect the current page.
E. Other navigation on the page can be commented out, but not removed.
As an example, consider a root folder with contents: Outer-A, Outer-B, Folder-C, Outer-D. Folder-C contents: Inner-A, Inner-B, Inner-C. When displaying Folder-C/Inner-B, the navigation bar should show:
>> Inner-B (highlighted)
A. Links should be relative to the current URL.
B. Only one set of core code should be needed for an entire site. The core code wouldn't show itself in the navigation bar.
C. The files should be directly accessible by URL. That is, "<[url removed, login to view]>" is strongly preferred over "<[url removed, login to view]>".
D. Consider that the "root" folder for the web-site might NOT be your Zope instance's root folder. Don't allow navigation above the user-designated root folder. (You can use the presence of the core code as indication that you're at the root.)
E. Separate the web code from the Zope code, so that adapting another [url removed, login to view] web design is as easy as possible.
F. Changing the entire site's look and feel would be a single change to the Sliqua-based template.
G. Don't require adding new ZClasses to Zope, or otherwise extending it. Use only ZPT or Python, so that regular zope users (not site administrators) can install and use it.
H. Strongly preferred: the fewest number of core files possible.
I. Individual Zope objects hidden (omitted) by setting a property value for that object.
J. Page(s) should render in IE6+, Firefox, and Netscape 7+.
K. Core code should generate XHTML-compliant output.
L. If deviating from these considerations allows a much more elegant solution in Zope, recommend the better approach.
M. I realize that Sliqua is a table-based design, not pure CSS. If a pure CSS design would simplify the core code design (i.e., simplify the pages using it
N. The HTML Meta-tag should be accomodated, by some mechanism you recommend.
1) Complete and fully-functional working program(s). These are text files that the Buyer will upload to his Zope installation.
2) Deliverables must be in ready-to-run condition. The Buyer will install the software on his site.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (GPL, GNU, 3rd party components, etc. are acceptable, but the seller shall collect any necessary license files or URLs to licenses).
Zope web server.
Output of core code will be XHTML compliant (assuming it's used properly).
Browsers to test against:
1. Internet Explorer 6 and above.
2. Firefox 1.0.6 and above.
3. Netscape 7.1 and above.