Title: Library Web Site Content Management Options Using PHP
1Library Web Site Content Management Options Using
PHP
- Mark Dahl
- Lewis Clark College
- Portland, Oregon
2Problem 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
3Content management systems
- Software packages designed for the construction
and maintenance of large web sites - Expensive
- In use in some higher ed environments and
libraries
4Characteristics of content management systems
- Separation of content from presentation
- Defined document schemas
- Access and workflow controls
5Our 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
6We 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
7Two-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
8Informational pages
- Structured data and redundancy of data not as
important as these pages (hours, library mission
statement, etc. did not adhere to specific
schema.)
9Part 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)
10Template page in graphical mode
11Template page in text-mode
12Dreamweaver environment
- Template system
- Certain regions fixed, unchangeable
- Certain regions editable
- Template system inadequate
- Doesnt display CSS coding correctly
- Wont let you flip between different versions of
template (text and graphical) - Hard to change templates globally across multiple
Dreamweaver sites
13Solution 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
14(No Transcript)
15Central 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
16Central links file
17Fine-tuning Content Mgmt.
- Sometimes, Dreamweaver can be an awkward tool for
staff - Its 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
18Macromedia to the rescue withContribute
- 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.)
19(No Transcript)
20(No Transcript)
21Keys to flexibility of our sites 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
22Part 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
23The 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)
24Goals 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
25The 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
26Building our own
- Existing code base from work at Central Oregon
Community College - Linux OS
- Apache Web Server
- PHP scripting
- PostgreSQL relational database
27Why build our own?
- Special requirements for organization into
pathfinders - Complete display flexibility
- (fussy librarians)
- Laziness
- More on this later
28Resources 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
29(No Transcript)
30(No Transcript)
31(No Transcript)
32Building pathfinders
- Each pathfinder would have a unique name
corresponding to an LC 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
33Resources Pathfinders
Resources
Pathfinders
-Academic Search Premier -Anthropological
Literature -Historical Abstracts -Internet Movie
Database -Lexis-Nexis
News
Film
Anthropology
History
34Pathfinder 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
35This shows the basic structure of a pathfinder
category
resource
36Staff 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
37(No Transcript)
38Displaying the data
- Done by creating a PHP class within an HTML
document
39(No Transcript)
40Displaying 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/resourcedispla
y.php?subjectHistory
41Display 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
42Special 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
43Future enhancements
- Patrons can build their own pathfinders
- Patrons can comment on resources
- Electronic resources management features
- Search
44Reflections 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) dont - Resource records can be used across multiple
pathfinders (ResearchGuide doesnt support) - We support categories and unique order within
categories - Many display options (brief, combined,
alphabetical, full-text only) - Special fields (book review, database/website)
45Technical 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
46Technical 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)
47(No Transcript)
48References
- This presentation http//www.lclark.edu/dahl/pre
sentations/ - 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