The Code Style site has evolved by gradual refinement and accumulation of features and content. This review is part of a fully backdated site log and archive that sheds light on when, why and how particular features were implemented.
This log is sometimes updated several times per week, sometimes with a long overdue backlog of items. Many log entries refer to the Code Style Java package that delivers the servlet services and utilities used to manage this site.
Subscribe to the news feed for this log:
Added several new fields to the Service interface and SubscriptionService implementation for representing the services on a forthcoming mailing list subscriptions page:
String getServiceDescription();
String getSectionName();
String getServiceType();
boolean hasSubscriptionDisplay();
boolean hasSubscribers();
Also added a removeSubscription(final Service service) method to the Person interface and Subscriber implementation.
Updated the SubscriptionEditor class to improve subscription management with the new person and service methods. Added buttons to un-subscribe a person and delete a service. A service must have no subscribers before it can be deleted.
Added a standard border to the LabelledBooleanSelector class. Added a constructor field to the TitledTextArea class to specify the number of text area rows to use, defaults to 5.
Switched the LabelledTextArea in the SubscriptionService Swing class for a TitledTextArea for better use of space and easier access to the subscriber listing for copy and paste purposes. Also switched the component layout manager for SubscriptionService and Subscriber to BorderLayout and arranged for the main list displays for each to be in the BorderLayout.CENTER position, so that they expand to occupy as much space as possible.
Added new FAQs to various sections.
Modified the global text ads include file to use XSSI for selective service area placement based on DOCUMENT_URI paths. A series of conditional statements check the path of the requested document and displays ads for the relevant section. Currently mixed with some static output ads.
Added a new Section interface method newSubSection() that includes an explicit sort index to load from the database and implemented in FaqSection. Also introduced a new method getNextCategoryIndex() that finds the current highest sort index and increments it, and adapted getNextRootSectionIndex() and getNextSectionIndex() on the same basis to increment existing sort index values.
Added some more explicit code to FaqDataEditor to check section database field variables are not null before trimming them and creating new subsections.
Extended the FontSurveyTemplate class to enclose font names that include an underscore or begin with a number in quotation marks for CSS output.
Published a new full Mac font survey results listing that includes submissions for many low frequency fonts. Updated all survey results pages with latest figures and added new fonts to the generic font family sampler pages and style sheet, Sampler.css. Also added numerous new FAQs.
Adjusted the ServiceLogClientParser class to stop the output of mail servlet filter configuration. Altered the test cases for IPMap third level network node to exclude partial matches on the fourth node and corrected the behaviour by adding a dot separator to the comparison string.
Corrected references to the standard style sheets in the wide format style sheet CSWide.css instead of the superseded "strict" ones.
Fixed a bug in FaqMenuGenerator where the archive file names were based on the issued date of the questions and the question selection was based their created date. In all but 2 cases the dates were the same, but one file was being produced with no question content. Set the created and issued dates for both questions to the same value and re-generated the pages.
Added the FAQ search form include to the site home page. Created a redirect for the former site search FAQ to the relevant Google page.
Created a new FAQ search form include file pre-configured with an intitle:FAQ prefix to the query input. This standard Google search feature restricts queries to pages with "FAQ" in the page title and any further query terms in the whole document. Added the server side include to the FAQ index and updated the FaqMenuGenerator class to include it in all standard FAQ and premium content pages.
Added styling to the standard layout and livery style sheets for the new FAQ search. Also took the opportunity to update the standard style sheet import scheme to drop support for Internet Explorer 4. This browser only represents about 1% of page requests and no longer justifies the relatively complex workarounds that have been used to date.
Added comments to the top of the excluded CSStdLayoutIE4.css, CSStdLayoutStrict.css and CSStdLiveryStrict.css style sheets to note they are no longer in service, but kept online to maintain old links for future reference. Also updated the Code Style CSS article to reflect these changes and added notes on the site's persistent style sheet and alternative "Print preview" selection.
Technorati tags: FAQ search, Google AdSense for search, intitle, IE4, CSS.
These backdated pages record detailed changes to the Code Style Web site since July 2000, when development first got underway. Some pages may refer to documents or features that have since changed or are no longer part of the site, but the archive is checked to ensure there are no dead links.
For a summary overview, see the annotated site log contents.