Library Web Site Content Management Options Using PHP
description
Transcript of Library Web Site Content Management Options Using PHP
![Page 1: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/1.jpg)
Library Web Site Content Management Options Using
PHP
Mark DahlLewis & Clark College
Portland, Oregon
![Page 2: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/2.jpg)
Problem of content management
Building and maintaining a web site requires the collaboration of multiple specialists
Designers, writers, editors, programmers, etc.
Even in a small environment (college library with 25 employees) collaboration required
![Page 3: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/3.jpg)
Content management systems
Software packages designed for the construction and maintenance of large web sites
Expensive In use in some higher ed environments
and libraries
![Page 4: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/4.jpg)
Characteristics of content management systems
Separation of content from presentation Defined document schemas Access and workflow controls
![Page 5: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/5.jpg)
Our solution
Not a full blown content management system A mixture of commercial and homegrown tools Achieves some of the features of full blow
system• Separation of content from presentation
• Defined document schemas (metadata)
• Limited workflow controls
![Page 6: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/6.jpg)
We sought a system that:
Allowed multiple staff members to edit pages on the site with little knowledge of HTML or web editing tools
Separated the content of the site from the presentation as much as possible
Structured data to promote consistency and ease of migration to future platforms
Allowed data used redundantly to be updated in one central location
![Page 7: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/7.jpg)
Two-pronged strategy
All pages on site• Distributed updating
• Separation of content from presentation
Only our research resources pages• Structured data
• Redundant data in one place
![Page 8: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/8.jpg)
Informational pages
Structured data and redundancy of data not as important as these pages (hours, library mission statement, etc. did not adhere to specific schema.)
![Page 9: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/9.jpg)
Part 1: the template system
Built to support the “interior pages” of our website that all feature a sidebar and banner (including pages edited by our resources editor to be discussed shortly)
These pages are also available in text-only format (that is, with the sidebar and banner removed)
![Page 10: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/10.jpg)
Template page in graphical mode:
![Page 11: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/11.jpg)
Template page in text-mode:
![Page 12: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/12.jpg)
Dreamweaver environment
Template system• Certain regions fixed, unchangeable
• Certain regions editable Template system inadequate
• Doesn’t display CSS coding correctly
• Won’t let you flip between different versions of template (text and graphical)
• Hard to change templates globally across multiple Dreamweaver sites
![Page 13: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/13.jpg)
Solution: Templates + include files and PHP
Use server-side includes for the code to display • Graphical sidebar/banner
• Text-only banner
PHP browser-sniffer code checks for compatibility with CSS2 compatible browser
![Page 14: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/14.jpg)
![Page 15: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/15.jpg)
Central links file
The main set of links on the interior sidebar and on homepage are controlled with a central file
PHP code automatically inserts the links from this file
The code creates flyouts as needed
![Page 16: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/16.jpg)
Central links file
![Page 17: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/17.jpg)
Fine-tuning Content Mgmt.
Sometimes, Dreamweaver can be an awkward tool for staff:
•It’s easy to check out files and forget to check them in•You must be conscious of remote and local files•There are many options for editing and formatting
![Page 18: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/18.jpg)
Macromedia to the rescue with:Contribute
Allows users to simply browse to a page and click edit to edit page
Checkin/checkout of files handled transparently
Respects Dreamweaver templates, synchronizes to latest version of templates
Can restrict access to certain files Can restrict types of edits (dynamic pages,
fonts, etc.)
![Page 19: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/19.jpg)
![Page 20: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/20.jpg)
![Page 21: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/21.jpg)
Keys to flexibility of our site’s look:
Template system keeps content within certain parts of the pages
Server side includes allow banner/sidebar to be changed centrally
An attached stylesheet allows font and site colors to be changed globally
This fall, we changed the fonts used across the whole site
![Page 22: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/22.jpg)
Part 2: The resources editor
Like most academic libraries, we maintain web pages that direct users to databases, electronic reference works, and “web sites”
These web pages are organized by subject
We built a database driven system to maintain these pages
![Page 23: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/23.jpg)
The resources editor
It meets objectives 3-4 that I mentioned earlier:• Structured data as much as possible to promote
consistency and ease of migration to future platforms
• Allow redundant data used across the site to be updated in a central location
We designed a database driven system for organizing research resources (including databases, web sites, and links to library catalog records of print resources)
![Page 24: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/24.jpg)
Goals for the resources editor:
Consistent metadata for each resource Same data presented in multiple places
kept in one place Flexibility in displaying resources (A-Z
list, by pathfinder) Can be used to edit resources by the
relatively untrained
![Page 25: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/25.jpg)
The precedent
There are many examples of libraries building database driven systems to organize resources on their web sites
Open source projects available for this:• Scout portal toolkit
• MyLibrary
• ResearchGuide
![Page 26: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/26.jpg)
Building our own
Existing code base from work at Central Oregon Community College
Linux OS Apache Web Server PHP scripting PostgreSQL relational database
![Page 27: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/27.jpg)
Why build our own?
Special requirements for organization into pathfinders
Complete display flexibility (fussy librarians) Laziness More on this later
![Page 28: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/28.jpg)
Resources database
Each resource represents a research database, web site, or reference to printed library material
Kept in a ‘resources’ SQL table Fields in table loosely based on Dublin Core
metadata standard: publisher, title, description, coverage, etc.
Resource editor: staff interface to allow adding and editing of new resources
![Page 29: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/29.jpg)
![Page 30: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/30.jpg)
![Page 31: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/31.jpg)
![Page 32: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/32.jpg)
Building pathfinders
Each pathfinder would have a unique name corresponding to an L&C discipline: History, Psychology, Sociology & Anthropology, etc.
Resources would be organized into librarian-defined categories (history databases, history metasites, etc.)
Resources would be put in a certain order within those categories
![Page 33: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/33.jpg)
Resources & Pathfinders
-Academic Search Premier-Anthropological Literature-Historical Abstracts-Internet Movie Database-Lexis-Nexis
Anthropology
History
Film
News
Resources: Pathfinders:
![Page 34: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/34.jpg)
Pathfinder SQL table
Contains references to resources Each row contains:
• ID of resource
• Name of pathfinder in which resource is found
• Name of category in pathfinder
• Position within category Link to resources table to create
pathfinders
![Page 35: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/35.jpg)
This shows the basic structure of a pathfinder:
category
resource
![Page 36: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/36.jpg)
Staff interface to pathfinder
Allows staff to search for resources or pick from drop-down menu
Pick appropriate spot in pathfinder, then add resource
Staff can also add and move categories
![Page 37: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/37.jpg)
![Page 38: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/38.jpg)
Displaying the data
Done by creating a PHP class within an HTML document
![Page 39: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/39.jpg)
![Page 40: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/40.jpg)
Displaying the data
Our librarians can create the PHP class in their web page in order to display resources
Or they can simply send a parameter to an existing page custom built to display pathfinders:
http://library.lclark.edu/reference/resourcedisplay.php?subject=History
![Page 41: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/41.jpg)
Display options
Display pathfinder normally (brief description of databases, extended description of websites)
Display 1 category of a pathfinder within a normal web page
Display data about single resource List all databases A-Z List all full text databases
![Page 42: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/42.jpg)
Special features
Easy ability to link to print resources in catalog
Staff member updating data has name/time updated recorded
Book reviews field for info about how to find book reviews on a particular item
![Page 43: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/43.jpg)
Future enhancements
Patrons can build their own pathfinders Patrons can comment on resources Electronic resources management
features Search
![Page 44: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/44.jpg)
Reflections on doing it on our own.
Kind of like reinventing the wheel But we do have special features of our system
others (MyLibrary, ResearchGuide, Scout Portal Toolkit) don’t:• Resource records can be used across multiple
pathfinders (ResearchGuide doesn’t support)
• We support categories and unique order within categories
• Many display options (brief, combined, alphabetical, full-text only)
• Special fields (book review, database/website)
![Page 45: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/45.jpg)
Technical details
SQL databases (resources, subjects (pathfinders), links)
Query class (for querying database and returning result sets) PHP, built for PostgreSQL db
Displayclass extends queryclass, can be called with various parameters to display resources as desired
![Page 46: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/46.jpg)
Technical details
Staff interface (PHP)• Separate from other
• Uses queryclass for lookups
• Not object oriented
• Writes to database without using special class
Written using Nusphere PHPEd (allows FAST PHP debugging and testing)
![Page 47: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/47.jpg)
![Page 48: Library Web Site Content Management Options Using PHP](https://reader035.fdocuments.in/reader035/viewer/2022062517/56813aea550346895da352c7/html5/thumbnails/48.jpg)
References:
This presentation: http://www.lclark.edu/~dahl/presentations/
Web site discussed: http://library.lclark.edu/ Macromedia: http://www.macromedia.com Nusphere PHPEd: http://www.nusphere.com Oss4lib Open Source Systems for Libraries
(links to ResearchGuide, MyLibrary, Scout Portal Toolkit): http://oss4lib.sourceforge.net