For this project I was the sole designer of a number of PHP classes that take information from a centralised staff database (via a XML feed) and reformat it for a variety of uses. XML data is used to create automatic departmental and research group staff lists, and also individual staff profiles. Profiles are created using a RESTful approach for flexibility of reuse. The PHP class could both generate staff lists linking to staff profiles, or individual staff profiles themselves. The ease of use for the end users (often with no PHP experience) was a key design feature. All displays are generated by simply creating an instance of the class whilst passing options from a single array.
All profiles were generated by passing a unique ID as a parameter in the URL. jQuery was used to add features to the profiles such as accordions and tabbed boxes.
The functionality of the individual staff profile was extended by allowing the data to be downloaded as a Word document, generated using XSLT and the open source WordProcessingML format.
The class was fully documented using phpDocumentor.