File: libdata_changelog.txt Title: LibData Change Log Author: Paul F. Bramscher brams006@umn.edu Date: November 15, 2005 ============================================================================== CHANGELOG ============================================================================== To download available versions (and utilize bug tracking and discussion forum facilities) please refer to the LibData project page on SourceForge: http://sourceforge.net/projects/libdata/ LibData2.30 / November 15, 2005 =============================== Database changes: * Libstats includes a new table, "format" to record the delivery format of an RQS or CL/PS page to an end-user. Doing so allows the tracking of RSS or HTML activity -- or both -- for a given page. The stats tables are now named page, pageelem, subject, subjectres. The primary keys for each are "stats_id". * There were some residual fields in the libsession.session table which are not used in the open source release of LibData (LC1, LC2, etc.). They've been removed. Code changes (significant changes only): * RQS and CL/PS pages are now RSS enabled. They are fed from their HTML counterparts by the following files added to the public directory: rqs_rss.phtml and page_rss.phtml. Statistics for element usage are tracked (in a similar method to RQS and CL/PS) by the following click-thru files: rslink.phtml and slink.phtml. Refer to the LibData documentation for further discussion. * Statistics PHTML files on the administrative side were changed somewhat to accommodate the viewing of stats for RSS or HTML activity or both (see database changes above). * The functions in public_controls.php to increment stats are named statsPage() and statsSubject(). * XMLClean() was added to the public_controls.php file to (hopefully) cleanse the content of RQS and CLPS pages to meet RSS specifications. LibData2.20 / March 25, 2005 ============================ Database changes: * libstats now contains an extra table (libstats.rsistats). This tracks resource usage on RQS pages in the same way that elementstats tracks resource usages on CLPS pages, by trapping the exit link, making a note of the usage, and redirecting the user to the actual URL. Code changes: * Much of the code libraries have been audited for uniformity and better logic flow. * Most self-posting variables are now explicitly checked for $_GET or $_POST, and most all variables are explicitly initialized before being used. * Scribe.phtml is somewhat more streamlined under-the-hood. Perhaps a hundred lines or so have been removed. * Several SQL's have been optimized. * Statistics system now includes a customized view of RQS and CLPS pages unique to the currently logged in user. A rollup of all page activity is no longer generally available, though pages may be examined individually. We've determined in our own instance, with over half a million rows of statistics, certain kinds of crosstabs are computationally prohibitive in real-time. * RQS pages are now entitled like "Research QuickStart: Astronomy", with the subject name appearing in the HTML header & page title. LibData2.10 / July 20, 2004 =========================== LibData 2.1 fixes a couple of small bugs discovered in page.phtml and page_print.phtml. The page_id is now explicitly typecast to the integer type to guard against possible errors. A major enhancement, with code alterations cascading into many files, is the ability to add CourseLib/PageScribe pages as elements on other CLPS pages. This required numerous modifications in scribe forms, application and transaction files -- as well as some new administrative search functionality and statistics tracking. The code alterations are too numerous to detail line-by-line here, but major affected routines include the copy/paste, page cloning, and page rendering logic. They were modified to accomodate the new field. This also required modifying the libdata.element, libdata.pastebuffer and libstats.elementstats tables with the introduction of a new database field: element_page_id mediumint(9). This element refers to any elements which are CLPS page id's. This is not to be confused with element.page_id, which is the page on which the element occurs (whether or not the destination is another CLPS page). LibData2.0 / March 16, 2004 =========================== LibData 2.0 represents a significant break from 1.x, so a new major release number (2.0) was chosen. This version introduces some database changes, namely the introduction of the vendor table, and utilization of the resource.vendor_id field. This allows resources to be associated with a vendor. Either at the vendor level (affecting all associated resources) or at the individual resource level, a status flag can be configured as up (default), down, or alert. On any RQS, or CL/PS page on which the resource appears, the down or alert message is prominently displayed. Another sweeping set of changes involved the passing around of the $con (mySQL resource link/connection identifier) variable. This was not needed, and has been removed from all function calls. In addition to this change, most or all mysql_query() functions have been replaced with a thin wrapper around it (located in db_connect.php) called mysql_tryquery(). This function allows centralized error trapping and reporting for any SQL string passed into the function. Standardization of the drawing of many forms in the administrative portion of LibData. Forms which involve the adding, editing, and deleting of setup tables are now generally routed through a pair of new (and simple) functions in app_controls.php: msgTableOpen() and msgTableClose(). The purpose of this function pair is to open an HTML box utilizing LibData CSS definitions, and create a header row. All subsequent text is then output within the box, until the corresponding msgTableClose() is called to close up the table. Several security enhancements. LibData1.04 / January 27, 2004 ============================== This release fixes a bug (refer to bug tracker for details) in the public rqs.phtml file. It also introduces a couple minor enhancements (administrative search for resources by call number and feature) as well as a new database field for PageScribe pages: pageheader. This field is available for edit only on PageScribe (not CourseLib), and allows for the inclusion of descriptive text or HTML between the page title and Table of Contents. (Note that CourseLib already has descriptive-type fields pertinent to courses). LibData1.03 / January 14, 2004 ============================== Fixed a minor bug in app_controls.php recordCount() which causes strings with single-quotes to fail during SELECT. Also introduces new functionality to PageScribe/CourseLib: the wrapping of the Table of Contents at the calculated midsection into two-column format. This can be useful for pages which have many root-level elements, a long ToC, and wasted horizontal screen real estate. LibData1.02 / December 04, 2003 =============================== Fixed a minor bug discovered in accessClass.php. Please refer to the bug tracker (browse the closed ticket items) for details. LibData1.01 / November 30, 2003 =============================== The first open source GPL release of LibData. July 20, 2004 Paul F. Bramscher brams006@umn.edu University of Minnesota Libraries