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 a backlog of FAQ answers to various categories: drop-down menus, Java inheritance and Java language FAQs.
Added the option to check all font survey check boxes to start with a small amendment to the sampler-FontComparison.js script for the survey pages. A new checkAllBoxes() function iterates through all form elements and sets checkboxes' checked property.
for (i = 0; i < document.forms[0].elements.length; i++) {
if (document.forms[0].elements[i].type == 'checkbox') {
document.forms[0].elements[i].checked = true;
}
Added hashCode() tests to the ClientTest unit test and amended the equals(Object) tests to distinguish clients that only differ by IP address or user agent.
Added an additional Google text ad bar to the TextSample servlet used in the font sampler and survey, with the addition of a new advertiser. Also shifted the placement of Google ads in the FaqMenuGenerator class and most other static pages to make a banner ad at the foot of the page, rather than in the right hand menu.
Adapted the FaqMenuGenerator class to properly expand sub-sections and still show their siblings in the FAQ navigation menu. Also adjusted so that child and parent sections can be properly nested and reflect that structure in the menu include files. The Servlet containers FAQ and Java servlets FAQ sub-sections now have their own local navigation include files. Finally re-generated all navigation menu files and uploaded.
Added media style sheet test result summaries for Netscape 6 to several test pages, which had been omitted since the top level results table had been updated. Corrected several bad links and made some minor spelling and grammar corrections to several pages.
Added a clause to the compareTo(Object) method of AbstractFaqNode to fall back to compare the toString() output to differentiate objects with the same sort index. Removed the temporary fix from the FaqDataEditor class that had been checking, setting and saving the sort index if it differed from the natural load sequence of nodes. The compareTo(Object) method is now consistent with the equals(Object) method, as it should be.
Updated the FAQ pages with a number of new answers and split out a new Servlet exceptions FAQ section. Also added a few new answers to existing sections and updated the font survey results pages.
Added a general exclusion to the .htaccess for the Soupermail feedback script directory for clients without a user agent identifier using the Apache SetEnvIf and Deny directives.
SetEnvIf User-Agent ^$ empty_ua
Deny from env=empty_ua
Added a raiseSortOrder(FaqNode) method to the Category and Section interfaces and implemented them in FaqCategory and FaqSection. Initially only Question and Category types can be moved. Added Move up buttons to the FaqDataEditor application to shift the currently selected item, save the changes and swap nodes in the JTree representation. Slightly different implementations of moveQuestionUp() and moveCategoryUp() could ultimately be refactored to reduce duplication of code.
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.