This page has been moved to FSFE docs.
Dynamic Content Pages
Some pages on the main page of the FSFE are not build from a static source but dynamically from a set of files. This page will describe the structure and build process for these files.
Pages with dynamic content
Basic structure of the pages
The pages are build from three base files plus the files for the dynamic content, e.g. the collection of reviews for the book.
The XHTML skeleton for the page structure, e.g. book-reviews.en.xhtml.
A file defining the location of the sources for building the page from the dynamic content; e.g. book-reviews.sources
A XSL file that performs the actual building of the page, e.g. book-reviews.xsl.
The XHTML that is produced by the XSL file will replace the <dynamic-content/> tag used in the skeleton file.
The directory defined in the sources file contains a number of XML files, that define the single items from which the page is build. For the book reviews and testimonials these are either dividers or items to be displayed. The XSL file automatically places the dividers such, that they are evenly distributed among the items. The filenames of items are starting with a four digit number, the filenames of the dividers are starting with a d followed by three digits. These numbers define the order of the items.
Structure of dividers
Structure of items
The structure of a testimonial item looks like
Items for the book review listings have a similar format.
Translations of the content
The items and dividers for the dynamically generated pages have the same schema related to the translation of them as other files on the webpage. The *.en.xml file is the original English version of the file with a version to mark the different versions of the file. Translations are stored in separate files accordingly. Same for the skeleton XHTML file.
Adding new content
To add a new book review (testimonial, divider, ...) locate the directory that contains the dynamic page items and add the content for it using an existing file as template. Important is, that you use a unique id and a speaking filename. Once the new content is added, when the webpage is build (on the build server or locally on your machine using fsfe-build) the new item will be included in the dynamically generated page.