MCN 2004 Conference Detailed Presentation Notes
This is a detailed outline of what we covered in our presentation at MCN 2004. For the condensed outline that was passed out at the conference, please see the Session Outline.
Content Reuse For Multiple Output Devices
Nov 11, 2004, 3:30-5:00 - Room 3
Brent Gustafson, New Media Designer, Walker Art Center
Eric Williams, New Media Designer, Walker Art Center
Nate Schroeder, Webmaster, Walker Art Center
For the past year, the Walker Art Center has been redesigning its Web site and implementing a technical infrastructure that changes the way we work and think about our data and its output. The new site is database driven and generated using an XML application server called Ax Kit?. The XML can be translated to display on numerous devices, and is being used by the Walker for various output such as XHTML on walkerart.org, interactive Flash pieces, RSS news feeds, e-mail newsletters, dynamic signage in galleries, interactive telephony applications, and preformatted and edited texts for print. All data is administered through a centralized custom-built admin system accessed via the Web. This discussion will involve the thoughts and ideas behind this process.
Detailed Presentation Notes
- Intro - "Here's what we're going to talk about"
- Who we are, who the Walker is and how we fit into the Walker’s mission.
- Handouts - 50
- Briefly get feel for participants' experience and expectations
- How many of you have worked with XML?
- Get a feel for what they're using:
- How many of you are using flat html files, maybe with some CSS?
- How about PHP / CF / ASP / CGI, etc?
- Full application server solution?
- Who is looking at doing a redesign in the near future?
- Have you decided on a platform?
- Main Presentation
- A brief history of the Walker online
- New Media Initiatives department was started in 1996 by Steve Dietz.
- Founded with responsibilities of presenting operational information, contextual information and using the web as a presentation space for commissioned work.
- Commisioned work is important because it meant that we needed to move an archive forward.
- As web technology advanced it became clear we needed to rework our web presence from the ground up.
- Old site had static files, framesets, non-dynamic content. A big mess for updates and maintenance.
- Goals for redesign
- Put data entry and content generation into the hands of producers
- More up to date content
- Free the New Media staffs time for other tasks
- Empower producers and allow them to take more ownership of the site.
- Create accessible pages -- no framesets, etc.
- Continue to give access to previously produced content and artwork.
- Reuse content to leverage producers time most effectively
- Reduced turnaround on new sites.
- Put data entry and content generation into the hands of producers
- Implementation Strategies
- Database driven to create a reservoir of content separate from the web-presentation
- Neighborhood design style
- Using an urban metaphor the sites were designed to fit into a larger system with out being strictly confined by a previous design system.
- Using a central navigation we could create a system of different sites with in the larger Walker neighborhood.
- Since all the sites would be different it would reflect on the Walker’s larger mission of being a diverse multidisciplinary institution.
- Technical Choices We Made
- Databases Options
- Mysql
- postgreSQL (our chosen DB)
- Languages Options
- Mason (embedded PERL)
- PHP (embedded)
- XML/XSLT (transformation paradigm)
- Appservers
- Axkit
- Cocoon
- Appservers
- Deciding what implementation to use
- The Walker had done some Mason development previous to any of us being hired so there was some momentum in that direction. Eric had done some work with PHP and Brent had experience with XSL but not specifically with the XML server software.
- Embedded scripting vs. Separate Transformations
- Embedding
- Pros
- Faster start up time for development
- Ideal for single developer or very small team
- PHP has a large labor/support pool
- Cons
- Developer and designer have to work in same mark-up document
- Less reuse
- Data logic mixed with presentation logic
- Pros
- Transformations
- Pros
- Data logic and presentation logic are separate
- Developer and designer do not work in the same file
- More reuse of data and presentation markup.
- Cons
- Longer initial set up time
- More up front planning time agreeing on XML schema
- Theoretically slower because of the transformations.
- Pros
- Embedding
- Databases Options
- Why we decided on XSL with Axkit
- XSL in general fit our team size and skills and naturally matched our institutional goals.
- Axkit particularly was chosen because our developer had extensive perl knowledge
- Was open source, which we support
- Allowed multiple forms of output from the same data very easily
- By being so XML-centric we have incredible flexiblity for the future and new products / technology.
- What exactly is XSL and how does it work.
- XML is a standard format, extensible, and is basically structured data
- XSL transforms one XML schema into another XML schema
- XSL is good for multiple outputs of data, as it can handle multiple XML schemas with the same data
- XSL isn't as great for one-off output, because it's slower and doesn't leverage the benefits of XSL
- Brief overview of how various other systems work compared to Axkit
- Extended Axkit diagram with multiple output/input
- One WAC page can be used by multiple XSL files for different styling of the same data
- One WAC page can generate different XML for different output devices that requre it
- One XSL stylesheet can be used by different WAC pages for similar presentation with different XML data.
- Implementation
- Calendar
- Central repository for all event data
- Same data being used in calendar and Flash movies. XML is providing image info and link info
- The canopy concept, events can contain other events, nested data
- Learn
- Gets the same data as Calendar
- Flash movie is populated by same data and displayed in a different format
- Teens using same data in and entirely flash format
- Garden
- Event data again being pulled from the same record as Calendar, Learn and Teens
- RSS
- We can also send data in streams other than a web browser
- RSS is a simple method of syndicating information
- Users choose one of any number of news aggregators that retreive info
- It is a fast way for a person to review a lot of constantly updating content
- Since the Walker has a lot of events it is good for us to fit ourselves in that context.
- Extremely easy to impliment because it's XML
- HTML e-mail
- Data from calendar in different style
- Application logic unchanged, very quick on that side
- Presentation logic changed, so most work was only on design side
- Press/Visit/About
- Application layer changed, more work on the side
- Presentation layer reused, barely any work for the designer
- Site wide Navigation
- Consistant across all neighborhoods.
- Uses XSL include, so one change on the nav is reflected in every page on the Walker website
- Admin
- Had a bare bones admin initially that ran a few websites
- Was not user friendly
- Used an embedded language (Mason)
- Could have bought an off the shelf solution, but decided to build our own
- Gives us flexibility and full ownership, can gear it towards our smaller evironment better
- Cost is much much cheaper
- Decided to use the same tools as the site itself (Axkit + XSL)
- It's a web app, not platform dependant, can be accesses from anywhere
- Allows access by multiple authors
- Allows editorial oversight but remains simple enough to be geared towards a relatively small number of authors (10-15) and editors (2-3)
- Allows producers to make last minute changes without going through New Media
- Folder system allows for simple groupings of content
- Ability to push important content through featuring
- Uses Per Form?, a plugin of Ax Kit? to deal with form fields easily.
- Connections allow one content record to appear in multiple neighborhoods.
- Had a bare bones admin initially that ran a few websites
- Image Administration and Re-use
- Manage media feature separate from content admin
- This allows media editors who are not content producers
- Media can be associated with multiple content items
- Media can be images, movies, music, PDF's, etc
- Standardization of media sizes speeds up the design and development processes
- Our image media rendition sizes
- Editors only need to worry about one size for upload, admin does the rest
- Designers can choose correct size for output, and output to any device with any size
- Standardization of meta data speeds up the design and development processes
- XML schema for media is solidified, works the same across any application
- Manage media feature separate from content admin
- Importing XML into Flash
- Allows us to fit a flexible amount of images in finite space
- Enables content producers to provide more or less context to an event, while still enabling an efficient user experience
- Transforms XSLT before importing into flash
- Styling with HTML 4.0 tags because of limitations inside of the Flash 6 plugin. This means Flash needs to get a separate XML from Axkit.
- Calendar
- The Architecture
- Server setup/Hardware/Software
- Most pages are cached to speed up access
- Pages that haven't been touched in a while, or are new, are uncached and thus slower
- Caching speeds up performance significantly
- Axkit has modules and plugins (Per Form?, etc)
- There are many free / opensource ways to extend the basic application - wiki, etc.
- Ax Kit? is not the end-all. Again, many ways to do this sort of thing - Enhydra, PHP, etc. This is just one way.
- Server setup/Hardware/Software
- Reality Check - How it went, how's it going
- Need money for servers and development environment
- Major time investment, lots of planning up front is needed
- Diacritics problems were found
- Partly solved, Mac characters are still a problem
- Server load can be heavy because of the transformations
- Caching cleared a lot of this up
- Training staff on how to use a new admin can be difficult
- Standardizing the XML schema took longer than we thought
- Now that it's standardized things run much smoother
- Print calendar integration problems
- Moving forward
- Building signage
- Passing images to display computers
- Data is same data from our database, made into graphical output
- Art on Call
- XML to voice translations using cell phones
- Pulls content from our database
- Tickets
- Driven from our calendaring system, won't need to reenter events in ticket system anymore
- Building signage
- Benefits we are seeing
- XML schema is solidifying, reuse happening
- Ramp up time for sites decreased significantly
- Separation of application and presentation a reality
- Most data in centralized DB
- We're not having to fix content for producers any more - if an event time changes, they can handle it.
- The XML paradigm is future proof - we're seeing it work well on upcoming projects beyond just websites
- A brief history of the Walker online
- Summary
- We are almost there
- Still work to do on the Walker website redesign
- Still functionality to add to the Admin system, etc
- Many interesting projects coming down the pipe
- Wrap up/Reiterate:
- This is a solution that's working for us, there are many options and they should be explored for your institution
- By being so XML-centric we have incredible flexiblity for the future and new products/technology, this is our biggest benefit
- Questions/Discussion
- We are almost there