Plaza Status

March 29, 2005

Jennifer Oxelson, Joanne Graham, and Jeff McWhirter

For the short version of the web-site status, see:  http://www.unidata.ucar.edu/publications/monthlyNL/archive/feb05el.htm#webbies

Jennifer Oxelson, Joanne Graham, Jeff McWhirter

For the short version of the web-site status, see:  http://www.unidata.ucar.edu/publications/monthlyNL/archive/feb05el.htm#webbies

Now for the long version:

Unidata hired Jennifer Oxelson in September 2004 to replace Scott Kehoe as our web engineer. Main web-related activities have been focused in three areas: 1) assessment and documentation of the current PHP-Nuke web portal; 2) preparation and implementation for replacing the current web site with a more stable architecture; and 3) making interim changes to current Nuke code base to address critical bugs and security issues.

  1. Assessment and documentation of the current PHP-Nuke web portal
  2. The current Unidata web portal utilizes an old and insecure version of PHP-Nuke which was modified by in-house developers to create custom functionality. After examining the PHP-Nuke architecture, it was determined that 95% of the Nuke code had been modified, making it impossible to upgrade Nuke to a more secure version.>

    The underlying MySQL database structure that stores web user registration data was also determined to be out-of-date and in need of re-factoring to improve normalization and referential integrity.

    Furthermore, persistent issues that have plagued Unidata web portal users, such as bad search engine results, were traced to web server configuration oddities put into place to accommodate the PHP architecture.

    Website functionality was broken down into its major components and recommendations for change were made to PV2 to improve website user experience, staff workflow posting content online, and/or website administration:

    • Addition of an online support section

    • Database re-factoring

    • Website redesign to improve usability

    • Better handling of mailing lists membership

    • Improve handling of online news items, including events, and job announcement notices

    • Re-factoring of package distribution downloads section with improved logging for metrics

    • Improve search results for Unidata content using the in-house search engine

    • Move site formatting and user authentication functionality out of PHP and into the scope of apache or another server-level framework

    Documentation of the current database schema and web portal architecture was created for Unidata staff to reference.

  3. Preparation and implementation for replacing the current web site with a more stable architecture
  4. Our fundamental goal is to replace the current web site architecture with common and ‘proven’ components without detracting the user experience.   Tried-and-true components tend to be more secure and robust, making the site easier to maintain while providing a solid foundation upon which additional website functionality can be built safely.

    The PHP-Nuke architecture will be replaced with apache, Java Server Pages (JSP), and secure PHP technologies.

    Website functionality was broken down into major components (mentioned above) provides the methodology for replacing existing architecture:

    • Tom Yoksas and the Unidata support task force have been investigating promising web-based packages that address the various support issues/needs of community members and developers alike.  Two potential solutions have been tested in-house (eSupport and RequestTracker) and we anticipate rolling one of these packages out within the next couple of months as a featured service of the website.

    • A new database schema has been created to address current and future needs.  The new database schema is highly normalized which should make it easier to re-factor/upgrade the database in the future.

      This database will serve as a larger community member database and serve as resource for future collaborative endeavors.

    • The website will be redesigned to improve usability, highlight improved online support features, and make use of the new website architecture.

    • Mailing list membership will be incorporated into the database design to improve ease of list management.

    • Posting and presentation of news items, events, and job announcements will be improved as to make this information more accessible and useful to our users. 

      Future plans (Fall 2005) are to incorporate RSS feeds into these sections of our website so community members can easily include relevant news items on the Unidata site and their own web sites.

    • The mechanism for uploading package distribution files for download by Unidata developers will be simplified and less time consuming for developers.  More accurate logging will be in place for tracking download data.

    • Move site formatting and user authentication functionality out of PHP and into the scope of apache or another server-level framework.

      An open-source Apache module has been found and tested that will automatically apply formatting to the Unidata website, replacing PHP functionality.

      Various methods of implementing user authentication and access control are being evaluated, including apache modules and a third-part Single Sign On package (also replacing PHP functionality).

    • The web file system will receive an overhaul and structured in a manner that will do away with unconventional apache web server configuration.  (Some URL changes will occur as a result, but automatic redirection will be kept in place at the server level to address this.)

    • Best practices are being drafted as a resource for staff on how to optimize Unidata web pages for improved search engine ranking.  

    • Addressing the file system issues and the non-standard apache configuration will also go a long ways towards improving search results for Unidata content using the in-house search engine.

    • A development server has been created for in-house testing of the new website architecture.

    • A log analyzer (Sawmill) has been evaluated, purchased and installed for general staff use.  Sawmill can analyze web logs, FTP logs, and many others, and make it easier for staff members to gather metrics about web site usage,  distribution file downloads statistics, etc.

  5. Making changes to current Nuke code base to address critical bugs and security issues
  6. Time has been spent on making various changes to the existing PHP-Nuke architecture to address significant security issues and/or usability bugs as they arise:

    • The web portal user registration form has been completely redone to improve the collection and storage of user data.

    • The support web form has been fixed to address issues of missing attachments.

    • The web-based search tool used to make queries to the existing database has been redone to improve usability.

    • A first pass at a ‘clean up’ of the data in the database has been done to put the data in a more standard format.

    • Various components of the PHP-Nuke architecture have been rewritten or removed altogether to address security vulnerabilities.