This page is part of a searchable archive of the Code Style site log. Technical implementation notes that shed light on when, why and how the site has evolved since 2000.
Follow the latest entries to the site log.
Updated the date selector fields on the advanced search page to 2003. Re-formatted the search results page to put a line break before the document URL, and shortened the summary lines to a maximum of 50 characters of title and 75 of URL. Also added a new SearchSummary class to the summary details, though this is not styled at present.
Corrected some bad links on the Anchor Points: Recommended software and Anchor Points: Recommended books pages.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Implemented a full range of metadata handling in the renderLinks method of the Metadatum class to generate navigational links, plus a couple of private methods to check if the metadatum is navigable and is a back reference.
Tightened up the consistency of error handling in the XML ValidationException class and brought the JavaDoc comments up to date.
Finished a unit test for the LinkSet class.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Re-packaged the ServletUtilities class in the org.codestyle.util package and updated import statements for all affected classes.
Created a first draft unit test for the LinkSet class.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Implemented a getLastModified method in the draft EchoRequest servlet and moved its DocumentTemplate instantiation to the servlet init method.
Added new StyleLink constructors for preferred, media-neutral stylesheets, preferred media-specific stylesheets and preferred media-neutral alternate stylesheets.
Added overloaded encode and decode methods to the SpaceCodec utility class for default operation, and adapted the main method to make the encoded replacement string optional.
Developed JUnit test suites for StyleLink, SpaceCodec and WrappedException to debug and clear for release.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Added a 2003 date links to the Code Style section contents and Site log contents pages, with top links and an "At A Glance" boxout. Also made a number of minor adjustments to the What is Code Style? and Who is Philip Shaw? pages.
Introduced a range of new methods to the Presentable interface including getHeader(String title, LinkSet customStyles), getFooter(String uri) and getFooter(String uri, long lastModified).
Implemented the new Presentable methods in the CodeStyleTemplate and ErrorTemplate classes, with a SimpleDateFormat for a last modified date in the document footer.
Moved the custom getErrorReport, getHeadersTable and getParametersTable methods to CodeStyleTemplate from the generic XhtmlTemplate class and implemented custom markup indentation for all output methods. Then simplified these methods to generic versions to re-introduce to XhtmlTemplate.
Corrected a bad link on the Font sampler and survey FAQ page and updated the font survey results tables. Also updated the font survey user agent check to include Mozilla release version 1.3b, Safari 51, and Opera 7.01 browsers.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Added the latest Mac font image samples to the Mac font sampler and survey, see 30 January 2003.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Stripped out all template-specific markup methods from the ServletUtilities class to make this purely functional, and updated all client servlet classes to use the DocumentTemplate scheme instead.
Moved the getHeadersTable and getParametersTable methods to the Presentable interface and implemented these in the abstract XhtmlTemplate class. Updated the EchoRequest servlet to use this new implementation. Also added variant getWideHeader and getPopupHeader methods to the Presentable interface, as required by various servlets, implemented in CodeStyleTemplate.
Implemented all Presentable interface methods in the ErrorTemplate class as plain text error messages that indicate a mis-configuration of the servlet container.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Conceded that the servlet template system will be for XHTML output only and reverted to the renderLinks method name for all objects that implement the Linkable interface.
Re-configured the TemplateFactory class to simply instantiate a custom DocumentTemplate subclass based on a class name argument rather than a ServletConfig object. If any exception is thrown, a basic ErrorTemplate is instantiated.Changed all client calls to the getTemplate method to pass the name of the CodeStyleTemplate class, rather than the servlet configuration. Completed a JUnit test case for TemplateFactory.
Saved an interim backup copy of the FontSampler servlet class and upgraded the master to the new DocumentTemplate scheme.
Introduced some simple constructors to the LinkSet class and methods to add a LinkSet and get an Enumeration of links. Also introduced a basic persistent stylesheet constructor method to StyleLink: public StyleLink(String href).
Created a first draft RootSection class that extends the abstract Section class, to represent the "home" level of a Web site.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Re-packaged the CodeStyleTemplate class to org.codestyle to separate the specifics of this implementation from the org.codestyle.template API package. Corrected some StringBuffer concatenation problems and added configurable indentation to the output markup with a standard default.
Updated the import statements in the draft EchoRequest servlet class for DocumentTemplate and TemplateFactory.
Created a first draft Section class to represent an abstract Web site section object that implements the Linkable interface.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Simplified the ResourceResolver class only to implement the JAXP EntityResolver interface, and enforced the use of local resources by throwing SAXExceptions for all unrecognised entity requests.
Updated the Anchor Points: Your submissions page with a new site design section and updated all relevant menus.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Completed first JUnit test case for the ResourceResolver class, with tests for all argument permutations of the single resolveEntity method.
Answered the FAQ Where can I get the fonts in this survey? more thoroughly and updated relevant menus. Published the new FAQ: Media dependent stylesheets with two initial questions.
Actions: Ask a question about this log entry, seek clarification or offer a correction.
Find technical implementation notes on all aspects of the Code Style site.
For a summary overview, see the annotated site log contents.