Login to Self Service

HEWeb 09 Presentation Notes: Using WPMU as a Web Content Management System

Intro – Sarah

Choosing a web content management system is a challenging endeavor for any organization and there is not a cookie cutter method for choosing one. I do not believe there will ever be a magic bullet wCMS that can be used for any organization not matter how big or small or diverse. So we can’t come here today and tell you how it must be done. We can only tell you how we made the decisions we did and why.

SO – How did this come about?

When I started at the Office of Information Technology in 2005, the website was in need of a redesign and did not have a single authority for web content management and oversight. Even though the web sites for each unit had a similar look and feel, users were frustrated by the navigation and each unit operated as a silo. I spent the following year and a half cleaning up the old site and implementing a redesign with a more cohesive navigation and on the management end of it centralized includes (headers, footers, navigation, etc.) and stylesheets. The new design relied on DreamWeaver templates still, but the management was a step easier. I had the content managers start using Contribute to publish files and had the system admins create groups (the webserver is a Unix system) and users with access to only certain directories. That way there was group access for units where more than one person was editing content, but with a bit more control on our end than before.

The problem was we soon started running into permissions issues when people did not use Contribute to edit. Likewise whenever I edited anyone else’s files in DreamWeaver it would ignore who owned the file and set off a series of ownership issues. Needless to say this became a hassle.

So knowing that Dreamweaver was not a long-term solution, I started looking at different content management systems. First I have to mention that the Web Services group (which is separate from OIT at WVU) was developing a CMS in Ruby on Rails of their own called Slate. While I really liked their CMS, I was told to find another solution because we didn’t want to go with an in-house solution. Worry from my own stakeholders about long term support for slate, etc.

Additionally, I didn’t feel that there was much point in buying a CMS since I knew there were many robust open source solutions. First I looked at TextPattern then Joomla. TextPattern was ok, but I was put off by the fact that hardly anyone seemed to be using it. Joomla looked promising, though. I used it for another project,however, and was not happy with it’s use of tables in the underlying layout – meaning I did not have complete control over the look and feel – and I felt I was clicking back and forth too much to do simple tasks. In the meantime, our sysadmin pointed me to WordPress for managing OIT’s news items.

I was very impressed.

It was very simple easy to customize and easy to use.

But… was it robust enough to handle the entire OIT website? No. Not really. There was no way to manage multiple users and limit them to specific parts of OIT’s website.

So I put off looking for awhile. I heard a lot about how great Drupal was. So I thought it might be the way I’d go, but before I could dive in and learn more about it, I found out about WPMU.

At first glance, I was sure that there must be some reason that WPMU would not work for managing a large website with multiple units and content managers. I mean why hadn’t I heard of it being used as a CMS?

Still I was impressed that WPMU was being used on some fairly large scale blog systems. After all it is the same thing running wordpress.com and how many thousands of individual sites is that running? It’s good enough for Harvard after all – can’t be all that bad! Well, as it turns out people were using it as a CMS too, but it just hadn’t been heavily publicized.

WHY WordPress MU as CMS – Sarah

So why WordPressMU?
There were a number of reasons to use WordPress MU, but the important thing to remember is that it came down to “WHY NOT” rather than “Why?”.

WordPress had everything we needed, but the most important things was that it is just easy to use. The only thing wrong with it, as far as I could tell was the word “blog.” If ignored that word, it still had everything I needed.

Customization
My biggest priority was being able to easily customize the web interface. That is a snap with WordPress. The code is well documented and in a matter of minutes one can take any web design and plug in the WordPress components and viola! a “Theme!”

Extensible – PLUGINS
It is also extensible. The WordPress core is very solid, but it doesn’t do everything. That’s ok though, because if you need WordPress to do something, there is very likely a plugin that will do it for you.

Open-source platform
You probably already know that WordPress is an open-source platform. Some in higher ed tend to fear or discredit this aspect simply because they are used to a vendor-driven system. However, open source technologies have proven themselves time and again to be more reliable, more secure and more easily supported than proprietary vendor solutions.

One reason WordPress appealed to me was that I knew that if I ever left OIT (as I ended up doing) it would not be left with a system that only I knew or that used a system that would be difficult to find someone willing or able to work with it. Someone who knows CSS, XHTML, PHP and MySQL is not nearly as spcialized as someone who knows, say…Java and Oracle.

Ok, you say, that’s fine and all, but I haven’t heard anything yet that explains why WordPress MU?

Glad you asked. The biggest reason WPMU works as a CMS is on the administrative end.

User and Site Management
WordPress MU allows you to create unlimited users, unlimited blogs. This means we were able to convert thousands of pages into 54 blogs/sites. These are managed by us and 18 content managers. Compared to our old system of Unix groups, user and directories adding users, updating permissions and creating new sites is a breeze. Where previously we relied heavily on systems administration to add users, we can manage these aspects ourselves. Win-win.

We can set it up to authenticate with Active Directory, so content managers don’t need to remember a new user id/password.

Design Administration

We can control design by creating themes (multiple themes if needed) from a single location. Since we are the only ones managing and creating the themes, design is consistent throughout the site. The makes future enhancements to design much more palatable and less time consuming. For example on the old OIT website template changes had to be applied to EVERY SINGLE html file. SO each file had to be opened in Dreamweaver, the update applied and the newer version uploaded to the webserver. On a site like OIT’s with 10-20,000 pages, this can be a bit of an onerous task.

Admins can activate plugins on their own

We can allow the individual site admins to use approved plugins. They can activate them if they want or ignore them. Additionally, we can activate certain plugins to be used sitewide if needed.

WHY NOT WordPressMU?

Every CMS is going to have a few downsides and we aren’t going to pretend there aren’t any with WPMU. Speaking from a purely functional point of view, a couple of aspects that have caused confusion and issues are the Media Library and the way WPMU uses mod_rewrite.

Media Library
The media library is probably the most lacking aspect of WordPress. There is not an easy way, without a plugin to manage the URLs for content in the media library. We’ll demonstrate how we got around this issue in a bit. WordPress by default wants to put all attached files in a directory called “uploads” that is also organized by folders according to the year and month they were uploaded. This can be pretty annoying if you are using WPMU as a CMS since you often need to link to documents, pdfs, etc. for people to download. In the case of OIT we have hundreds of documents available on our website that people need to be able to download.

Also finding files in the media library after you upload them can be a pain if you have a large library. There is a search feature, but, honestly, there should be a better way to just sift through the files and possibly to organize them into subfolders if you want.

mod_rewrite

I can’t speak in depth on this point because I am not aware of every aspect of the complications that can arise from mod_rewrite, but this is intended to help keep the URLs for your site more user-friendly and it does. It does that very well. But there were some issues with this and our system that required our sys admin to find a work around.

Running PHP on a page or post

I think this would be a problem with any content management system in some manner, but WPMU doesn’t always do the best at allowing other php to run within a page or post. You have to make sure it is not filtering the html – which requires a plugin.

Forms

I am not sure why WordPress does not allow form creation and delivery out of the box, but it doesn’t so you have to rely on plugins or custom code to manage it. That said there are good plugins to manage this, so it’s not horrible, but it would be preferable if it were a part of WordPress.

So now Alisha will go over how we adapted WordPress MU for our website.

Adapting the CMS to individual OIT unit needs – Demo Website – Alisha

Note: Read the documentation we provided the content managers here: Managing Your OIT Web Content with WordPress

We met with our content managers to train them on how to use wpmu. We created online documentation titled “Managing Your OIT Web Content with WordPress” for our content managers to refer to for help.

It was set up for them to login using their masterid in their section.

Dashboard is the backend to their site, the administration area. They can rearrange and adjust panels to fit their editing/managing needs.

Settings is where most of the plugins are located.

How we Customized

  • Plugins–extensions of WP code and are important for long term use of WPMU.
  • Installed and activated sitewide and individual blog plugins

(Demonstrate the Contact Form 7, customize upload path, PageMash, cross-reference)

Contact Form 7-Allows you to create basic email contact forms. Very versatile and easily customized. Also offers the ability to attach files and you can add CAPTCHA for security.

Customize upload path- Allows you to modify where your media files are kept and how they are organized.

PageMash-Displays your pages in a tree structure. Very handy if you have a lot of pages. You can also easily reorganize pages using this plugin by dragging and dropping them in the order you want them.

Cross-reference- Allows you to easily cross reference internal links with less code. Very useful if you have a lot of internal links.

Widgets

  • Offered numerous widget options for controlling and customizing the front page of each site/blog
  • Show and describe the widgets function for left and right side content areas and sidebar

Media

  • The media library is where the content managers upload and store their images, flash, pdfs, html, etc. files.
  • So this is a how to on viewing and uploading.

SO how is it going? – Alisha

Details on how managing the website has gone since its implementation.

Learned from WP- OIT News
Luckily, when I started working w/ Sarah, WordPress was the blogging system for our news site. I learned how to use WordPress and understood its structure and its table structure. I learned how to manage and contribute to our blog. With this experience, I learned about WPMU since WordPress is the core code of WPMU.

Site Admin Involvement- Plugins
What will be involved w/ managing our cms? The content managers will need my help in modifying their site to fit their needs w/ plugins. WordPress MU supports most themes and plugins that are for WordPress. Although, you can install plugins in a mu-plugin directory (much like you do with regular WordPress plugins in wp-content/plugins), and that means that they are automatically available and activated for all blogs which saves me time since I’m on my own.

The negative side is that it doesn’t work with a lot of plugins. An admin interface will not show up and it’s possible that the plugin could tamper with the database. So you may want to activate them manually like you would for WordPress.  However, I’m still pretty happy that I can update the WPMU software once and on one place instead of updating it for individual blogs.

Documentation

I had problems finding mu documentation when I first started working with it. However, there is a codex for WP that I use since WP is the core code. The codex includes some mu content. Even though the WPMU community is much smaller, I’m finding that it seems to be growing. I’m finding more and more information and experts out there. More professionals are trying it out and keeping better/more helpful forums.

Merging

There is talk about merging wp and wpmu in which some people are concerned that wpmu won’t work nor exist. However, experts say it will be forward compatible.

Conclusion – Sarah

So to wrap up: We successfully moved the OIT website from a static html driven website using DW and Contribute to a CMS.

In this process we converted thousands of pages into 54 blogs/sites. These are managed by us and 18 content managers.

By selecting this CMS, we have chosen a tool that will allow OIT to manage it on their own with little overhead – no licensing fees, no expensive technical support.

The benefit of this is that the design, content, and user access is more integrated. The content managers can securely manage site features w/o affecting others

P.S. Technical Notes from our Sys Admin

Its running solaris 10 on a sunfire v890. System specs are kind of difficult since its running in a virtual machine with shared memory and cpu. The server has 16gb of ram and 8 1.2ghz UltraSPARC IV+ cpu’s. Not all of this is being used by wpmu, it is shared by 25 virtual machines. wpmu can run on MUCH less.

Running apache and mysql on the back end. wpmu should work with any of the more recent versions of both (probably old versions too).

The hardest part is getting apache and mysql setup. the wpmu setup is a breeze.