The "Collections and Journals Review" tool was developed by Eric F. Pauley and Jason M. Casden at the North Carolina State University Libraries. Its goal was to provide a list of possible journal cancellations to NC State students, faculty, and staff, so that these interested patrons could rank and comment on journals of interest. These rankings and comments helped the Collection Management staff make final cancellation decisions in the face of budget cuts. Originally written for a 2009 review process, the tool was modified for a subsequent review in 2014. A full description of the review process (and this tool) can be found here: http://www.lib.ncsu.edu/collections/collectionsreview2014 Because the intended audience was limited to NC State affiliates, access was restricted to users who could authenticate via the campus Shibboleth service. Putting some kind of authentication on this tool is essential, as it provides a user-specific interface by way of the user ID. While the underlying code is fairly generic, there are some features that are specific to NC State. At NC State, every student, faculty, and staff member has a unique login called the "Unity ID", and thus the variable "unity_id" is found in many places throughout the code and database. Renaming that variable would be a bit of a task. This tool also relies on an LDAP server to automatically obtain user information such as name, email, affiliation, etc. This would need to be customized to your organization. See the main "index.php" file for the code that fetches these data from LDAP. The code is mostly basic PHP that stores user data in a MySQL database, with some JavaScript to make many of the database changes via AJAX. The code should be fairly portable. All of this runs with Apache 2.2, PHP 5.3, and MySQL 5.1 on a Linux-based web server. It also works using Apache 2.4, PHP 5.5, and MySQL 5.6. The code packaged here includes a few small CSS files and several JavaScript libraries (including jquery-1.7.2.min.js, jquery.simplemodal.js, and handlebars-v1.1.2.js). It should be self-contained and have no external dependencies. Contents of this directory: README.txt -- You're reading this file now. /admin -- This directory should be restricted to those users who are in the "admin_users" array (see /includes/config.php). column_details.php -- A script that displays a pop-up window with explanations of what each column in the list means and/or how the data were collected. csv.php -- A script that outputs a comma-separated variable file of whatever list is currently being displayed. /db -- This directory contains a basic MySQL file to build the database tables, including some sample journal titles and a single ("admin"). The user information is hard-coded. See /includes/config.php for that information, as well as the database connection parameters. howtouse.php -- A script that displays a pop-up window with detailed information about how to use this tool and a few other project details. /images -- This directory contains some small images used in various places. /includes -- This directory contains many critical PHP, CSS, and JavaScript files that make the whole thing run. Pay special attention to "config.php", as you will need to customize a number of settings. index.php -- The main page that displays the data. logout.php -- A script that handles logging out. You will need to customize this if you use it. rankings.php -- A script to handle the rankings process (adding/updating/deleting them from the database tables). title_comments.php -- A script to handle the comments (adding/updating/deleting them from the database tables). userdata.php -- A script to handle the logged-in user information (name, email, status, etc., only some of which is editable by the user) Questions? Comments? Contact Eric Pauley: (919) 513-3426 efpauley@ncsu.edu http://www.lib.ncsu.edu/staff/efpauley