Greg Vogl ACNS Middleware Wednesday, January 5, 2011 TM
Software application Web-based Manages content (files and information) ◦ Create - WYSIWYG editor ◦ Store - Database ◦ Display – Templates ◦ Organize - Administration tools No universal definition ◦ Systems differ radically Feature sets Complexity Cost 2
Top and left menus Breadcrumbs Footer: URL, modified, contact, print, News and promotions Newspromotions Sitemap Sitemap A-Z list vs. Drupal Glossary A-Z listDrupal Glossary Drupal Search Drupal Search Contact form, CAPTCHA Contact form Drupal procedures for Libraries staff Drupal procedures for Libraries staff 3
XHTML: static pages JavaScript: client-side dynamic effects SSI: consistent headers, footers, menus CSS: consistent presentation Apache: restrict access to staff content Samba: read/write access via Windows paths PHP and Perl: dynamic pages and applications ◦ Open source: Wikis, blogs, calendar, form handler ◦ In house: Databases, staff directory, request and contact forms, spam protection, author meta tags, web page list ◦ Other servers: LibGuides, Catalog, Discovery, E-Journals, InterLibrary Loan, Course Reserves, Digital Repository 4
Too many web pages, files and folders Presentation is not fully separated from content Web authors need extensive technical skills Existing admin tools are home-grown and limited Maintenance is time-consuming and error-prone Consequences ◦ Few staff members add or edit content ◦ Content is not organized, consistent, up to date ◦ Quality and consistency of presentation is weak ◦ Site seems static, neglected, complex, unappealing ◦ 10% decline in Libraries site visits in 2009 vs
Existing CMS-like systems ◦ Wikis, Blogs, LibGuides Observations ◦ More dynamic pages are being created and viewed ◦ More authors are active Conclusions ◦ Dynamic Web pages are replacing static ones ◦ Most staff prefer creating them ◦ Processes and tools affect product quality ◦ Automated content management saves staff time 6
WYSIWYG editor ◦ No need for advanced HTML or CSS skills ◦ No need for Dreamweaver or FrontPage ◦ No wiki syntax to learn ◦ Can paste content from a word processor Web-based access ◦ Edit content from any networked PC ◦ Staff can change content immediately ◦ No waiting for Web staff to upload content ◦ Upload many types of documents and files 7
Specialization of roles ◦ Content, edit/publish, design, code, admin Better content management tools ◦ Workflows – assure key pages are reviewed ◦ Version history – view and roll back changes Better admin tools ◦ User and permissions management ◦ Global search and replace - URLs, Web authors Remix content ◦ No redundant copies of information ◦ Form data, RSS feeds, A-Z, sitemap, breadcrumbs 8
Separation of concerns Separation of concerns ◦ Content/presentation, data/business logic Content/presentation Visual consistency ◦ Page layout, formatting, navigation ◦ Each page must choose a template More findable, usable, accessible ◦ Easier compliance with Web standards ◦ Easier Search Engine OptimizationSearch Engine Optimization 9
What ◦ Participation, information sharing, collaboration ◦ Form a learning community (social constructivism) Who ◦ Libraries staff, CSU, community, world How ◦ Forms, comments & suggestions, surveys, polls ◦ Wikis, blogs, news feeds, events calendars ◦ Discussion forums, chat rooms, mailings, photos ◦ Personalization, tags, ratings, reviews 10
Staff time: design, admin, migration, support Degraded performance and security Overly uniform appearance Inflexibility Increased complexity (site, code, workflows) More information silos More content and authors to manage Lower overall content quality? 11
Free or relatively low cost Maturity, stability, performance Flexible open-source development framework Ease of use ◦ Good match for expertise of technical staff ◦ Installation, configuration, customization ◦ Integration with existing systems/apps ◦ Edit and manage many content types ◦ Manage users, roles and workflows ◦ Documentation and support 12
Commercial ◦ Microsoft SharePoint Microsoft SharePoint ◦ Adobe Contribute Adobe Contribute ◦ CSU Department of Web Communications CSU Department of Web Communications Open Source ◦ Drupal (PHP/MySQL) Drupal ◦ Joomla! (PHP/MySQL) Joomla! ◦ Plone (Python) Plone ◦ Alfresco (Java) Alfresco List of Content Management Systems List of Content Management Systems 13
Mature (created in 2001) ◦ Rich in features, documentation and supportfeaturesdocumentationsupport Free, open source, Web-based ◦ Linux or Windows, Apache or IIS, PHP 5, MySQL ◦ No added hardware or software costs Many Drupal online resources for Libraries Many Drupal online resources for Libraries ◦ Used by over 30 academic libraries, e.g. ArizonalibrariesArizona ◦ Discussed at library conferences and online groups ◦ Many library-specific modules and usesmodules 14
Prepare a server ◦ Install Web server software, PHP, and SQL Download Drupal and contributed modules ◦ drupal.org/download drupal.org/download ◦ Top modules by usage Top modules by usage Download a theme to customize look and feeltheme ◦ CSU Libraries uses CTI Flex, a subtheme of ZenCTI FlexZen Drush (Drupal Shell) Drush ◦ Easy module installs/upgrades: drush dl module_name 15
Free downloads to simplify Drupal installation Free downloads ◦ Drupal distributions include popular modulesmodules ◦ Stack installers for Windows and Mac OS X ◦ Microsoft Web Platform Installer for IIS ◦ Version Control Repositories (e.g. Subversion) Version Control Repositories Easy command-line Drupal installation: svn co Easy upgrades of Drupal and modules: svn update Paid services Paid services ◦ Hosting, support, training, etc. Hostingsupporttraining 16
Login Personal Information Blog Edit Track Contact 17
Content lists: Content, Accessible content Create content: Page, CKEditor, Revisions Books Events and Calendar Web Forms Comments Taxonomy Search and Replace Scanner Backup and Migrate 18
Blocks Contact Form Menus Modules Themes: CSU_CTI_Flex, CTI_Flex, Zen, etc. URL Aliases URL Redirects Views Workflows 19
Google Analytics ◦ track outgoing and download links, user info Input Formats ◦ full/filtered HTML, WYSIWYG, PHP Performance ◦ cache pages; optimize CSS and JavaScript Site information ◦ name, notification , slogan, footer, home page Site maintenance ◦ temporarily put the site offline 20
Roles ◦ list and edit types of users Users ◦ list and edit user accounts Permissions ◦ allow or deny actions for each role Access Rules ◦ allow or deny certain usernames or addresses Profiles ◦ fields to display about each logged in user 21
Status Report ◦ software versions, problems Available Updates ◦ module and theme versions and updates Security Review ◦ list potential security problems 22
Themes - provide basic layout; subthemes Views - display data in a block or node, in table or list format Panels - display templates for the main content area, e.g. 3-column layout Path - user-friendly URLs vs. node numbers Pathauto - automatically create node paths, e.g. based on title and node type Path Redirect - create external page redirects Search - search all Drupal pages Menu Breadcrumb; other breadcrumb modulesother breadcrumb modules Taxonomy – organize by hierarchy or keywords 23
WYSIWYG - required for installing Drupal WYSIWYG editor modules Drupal WYSIWYG editor modules ◦ including FCKeditor, YUI Editor and TinyMCEFCKeditorYUI EditorTinyMCE CKEditor - improved version of FCKeditor Workflow - moderation of content, requiring approval before posting (save as draft, ready for review, approved for display) Diff - see differences in revisions Print - Print, and PDF versions of every page 24
CCK - content construction kit for custom content types, especially forms Webform - contacts, questionnaires, surveys, polls, requests, registrations, bug tracking Date - date/time field type for CCK Calendar - select dates, schedule events - field for addresses CAPTCHA and Mollom- prevent automated spam submissions 25
Upload - uploading and attaching files to a content node FileField - field for uploading a file Image - uploading images ImageField - uploading images with preview, title and alt text IMCE, Image Assist - for incorporating images into pages Gallery - photo gallery Comparison of image-handling modules Comparison of image-handling modules 26
Blog - title and body, home blog page, API interactions Poll - multiple-choice questions; display answers Comment - allow users to add comments to nodes Calendar – events calendar Profile - basic user profiles Biography – secure, public profiles Subscription - s page changes to subscribers Signup - allow users to sign up for an event Simplenews - publish and newsletters to subscribers FAQ - allows user-submitted, staff-answered questions Quiz - author and administer quizzes Bookmarks, Favorite Nodes - user lists of favorite nodes FeedAPI, Feeds - RSS feeds Guestbook - online guest book 27
Book - group page nodes into a larger hierarchical node like chapters (similar to a wiki) Organic Groups - for wiki-like collaborative groups Forum - basic user forum Advanced Forum - more display features, e.g. user icons and number of posts per user Chat Room - multi-user chat feature 28
Administration Menu - dropdown menu for admin tasks Search and Replace Scanner - replace text in all nodes Backup and Migrate - export Drupal database to a file Poor Man's Cron - schedule tasks without crontab Import HTML - import static HTML pages, create menus Google Analytics - add tracking codes for Web statistics XML Sitemap - create and submit sitemap for Googlebot Admin Role - allow multiple users to be the admin LDAP integration - authenticate, groups, read/write Security Review - basic security checks 29
Next-gen library catalogs ◦ SOPAC - supports Millennium SOPAC ◦ eXtensible Catalog - has Drupal toolkit for interface eXtensible Catalog Millennium Integration Millennium Integration ◦ Creates bib records as Drupal nodes Other Library ModulesLibrary Modules ◦ Marc, OAI-PMH, Z39.50 search, link resolver, EZproxy, III authentication ◦ Bibliography, book review, cite 30
: Formed Web Redesign Team : Created prototype using godaddy.com : Installed Drupal 6 on Libraries server : Launched public beta site : Trained Libraries staff : Launched production site Ongoing: Migrate remaining content Ongoing: Upgrades ◦ Drupal 7 released January 5, 2011 (today!) Future: Add Web 2.0 features, library modules 31
Thousands of legacy pages to convert No easy automated process to convert pages No mandate to convert pages Many pages have custom formatting Many subsites have custom templates Many applications are hard to customize Content spread on multiple servers (silos) ◦ Can't use Drupal’s site index (A-Z), search, statistics Changing URLs ◦ requires fixing broken links in multiple places Multiple logins for library systems 32
Apache, Samba, SSIs, CSS, JavaScript, PHP MediaWiki and LibGuides ◦ Web 2.0/social features, online editing, version history and notification of changes Movable Type ◦ vs. Drupal's limited blogs Indexing and search engines ◦ Library catalog records, digital collections, web pages ◦ Discovery (VuFind, Solr, Nutch), Google Mini Diagnostics ◦ Google Analytics, Google Webmaster Tools, LinkScan 33
Drupal's steep learning curve and usability issues ◦ Unintuitive terminology and authoring procedures Web authoring ◦ Most Web authors already have a workable procedure for creating pages and are familiar with a web editor ◦ Number of active Drupal authors is small Web 2.0/social features ◦ Administration gives low priority to using Drupal for interactivity, collaboration, communication with patrons Development Platform ◦ CSU Web Communications and ACNS favor.NET websites Communication: Too little, too late ◦ , documentation, open forums, feedback, training 34
Complex Drupal templates ◦ Difficult to add to legacy vendor applications, especially Library Catalog (Sage) and LibGuides Segmentation faults ◦ bad contributed modules, redirects or rewrite rules? solved by upgrading to PHP 5.2? CKEditor problem ◦ in non-IE browsers only saves changes in source view; conflict with CTI Flex theme Caching ◦ Sometimes old pages, CSS, and JavaScript are displayed Staff accidentally created Drupal accounts ◦ Wanted to log in elsewhere (staff wiki or web mail) 35
All Library PDI sessions ◦ Drupal in Libraries ◦ Drupal Assessment for CSU Libraries ◦ assessment.html assessment.html Content Management Systems (2008 PDI) ◦ About the CSU Libraries Website ◦