The Latest

How To: Creating Your Corporate Intranet Using WordPress

Introduction
This article explains the process I used to develop a corporate Intranet site using WordPress blogging software along with the Apache web server, PHP, MySQL database and administration tools.

Our corporate Intranet was several years old and the design was based on our old corporate website look and feel. With the launch of the company’s new public website in early 2005, we clearly needed an update. The thought was to keep our new branding consistent and take the look and feel of the new public corporate site and apply the colors and styles to a new private internal employee Intranet.

Some Issues
One issue with our current Intranet was that the method to update content was still largely a manual process. We had converted the site to use PHP for basic functions such as including a common header, footer and navigation system, but a large part the content was still hard coded into separate pages and could only be updated by one of the software development team members with HTML skills, as well as someone who also had access to the files stored in our source safe code repository. Adding links and updating text was overly complicated.

Another issue was that employees, except for form and document downloading, largely ignored the Intranet site. The human resources department and executive infrastructure relied on email as a way to disseminate information company-wide. There was no easy way for them to use the intranet to get information to everyone quickly.

The Idea
I have been using WordPress blogging software for my personal website for a few months now and I’m impressed with its ease of use and the ability to update content without heavy-duty HTML skills. It seems like almost anyone could use it and get up to speed quickly to create a weblog style website. I’ve had some experience with other weblog software packages but WordPress seems much easier right from the start.

I wondered whether the software could be used and adapted for a simple corporate Intranet. As long as we could have pages outside of the chronology of dated weblog posts, it seemed like a viable option. Dated entries on the home page could be used for announcements, new hires and other event based information, while pages listing forms for downloading and benefits information could always be available as page links for the user. Both the dated posts and undated pages could be easily edited from the WordPress administration dashboard.

Since multiple users are allowed in the WordPress system, an Intranet administrator as well as the HR staff and even the CEO could conceivably update the site with timely information – all right from the browser based administration tool.

Groundwork
I did some looking online for information on whether others had tried the same thing and came up empty. I didn’t find any specific “how-to” information but I did find lots of articles about the impact blogging itself was having entering the corporate environment for either disseminating information about products and marketing to internal stakeholders, or using weblogs to push this information externally to a company’s customers. The focus seems to be adding weblogs to current intranet/public websites and content management systems, and not actually using the blogging software itself to create the complete Intranet sites themselves. There are a few business sites that use blogging software as the framework for their public websites – both WordPress and Movable Type (another blogging system) use their own software – but most corporate sites are either static files or created with larger and more elaborate content management systems.

Another issue was that our HR department didn’t even know what a “blog” was. They did like the idea of being able to update the site easily and often as well as being able to showcase new and timely information right on the Intranet home page. The trick was going to be to get “buy-in” from the employees, and train them to use the new Intranet as the “go-to” place for information about what was happening at our company.

Mechanics
I was able get access to a development box for testing and prototyping the new Intranet system. The machine was an old Windows box – 600MGz with about 256 MB of ram - not particularly powerful but good enough. The machine was connected to our corporate LAN and I downloaded the following software:

Apache 2.0.53
PHP 4.3.10
MySQL Essential 4.4.40a
MySQL Administrator 1.0.19
WordPress 1.5

When installing the software I chose to use the defaults. You’ll need to consult the install notes provided with each software packages for the specifics associated with your environment. I took detailed notes while installing the development prototype and I have provided some of those details here:

Apache – We call our Intranet site internally simply by going to http://intranet in a web browser so I created a directory called “C:/intranet” and set this as the document root for the Apache web server. We have a document repository for forms and spreadsheets commonly downloaded by employees located on a shared drive on another machine on the LAN. So that the Apache web server could access these files from the other machine, I created an alias in the apache configuration file for “/documents/” and mapped it to the share folder. That way we could still use simple link URLs like this for documents:

http://intranet/documents/folder_name/file_name.doc”

An alternative would be to create a sub directory structure right under your Apache web server document root and then allow access by the Intranet administrators and document maintainers to that directory on the corporate LAN - allowing them to drop the files into the directory and link them up. Since we already had a document server set up, we chose to keep these files where they were on the other machine.

PHP – Install with the defaults and add the necessary lines to the Apache configuration file to allow PHP documents to be served. Restart the web server to have the changes take effect.

MySQL – Install using the defaults and create and remember your root user password.

MySQL Administrator – Install with the defaults. After you install, open up the MySQL Administrator and login to your database server. Create a new schema called something like “wordpressdb”. Then go up to Tools > MySQL Command Line Client, and run the commands to create a user with permissions for the site database:

GRANT ALL PRIVILEGES ON wordpressdb.* TO "intranetadmin"@"localhost" IDENTIFIED BY "password";

Tip: I found that I needed to reset the user password after access initially returned an error. Run the following command to fix this:

SET PASSWORD FOR 'intranetadmin'@'localhost' = OLD_PASSWORD('password');

WordPress – Unzip the files into your “C:/intranet” document root. Follow the instructions for inserting your database and password information into the wp-config.php file and then call the “install.php” file in the browser (http://intranet/wp-admin/install.php). If all goes well you should get a password for your weblog and then can login to the WordPress administration tool located here: http://intranet/wp-admin/.

A few extras that I added to the WordPress install were the plug-in manager and the “search” plug-in that allow users to search both the dated “blog” entries and the non-chronological “page” information. This is essential if someone wanted to look for a specific form regarding something like “dental benefits”. Searching just the “dated” weblog entries might not return a result, but including the page file with the list of dental benefit forms will now be shown in the search results page.

Presentation
The new version 1.5 WordPress uses a theme manager to easily change the look and feel of your blog. WordPress theme development is a topic for another article, so here is a quick overview of what I did to create the theme for our company’s Intranet site.

First I copied the default theme directory and gave the new folder the name of our company. To get it to show up in administration tool, you’ll need to modify the CSS comment in the “styles.css” file with the name of your company theme. You can then make it the “active” theme by selecting it under “Presentation” in the WordPress administration tool. You then need to modify the theme files with your logo and colors. To begin the process, I mocked up a design in Photoshop based on our corporate website and then built a static HTML page version of this mockup. I was then able to split my HTML and images into sections such as “header”, “footer”, and “sidebar” and then updated the corresponding WordPress theme PHP files making sure to keep the WordPress PHP mechanics in place by inserting my design HTML code around the PHP code. I uploaded my design’s images, and used our corporate website’s CSS file as a resource to insert styles and colors into the theme CSS file “styles.css”. Saving, testing and reloading the Intranet site will be necessary to get the page to look like your intended design. To make it easier, I chose to keep the basic default layout provided by WordPress with a header, sidebar to the right, and footer. If you have the time and skill, you can completely modify the page layout structure.

Once I had all the software installed and the database server and web server running along with the WordPress database setup – going to “http://intranet” in a web browser gave me a WordPress weblog with our corporate colors and branding look and feel.

Adding The Content
To turn the weblog into our Intranet site I needed to modify the default links and add categories and pages for our non-dated information. After deleting the installed default “blog roll” links and default “first post”, I began by creating three link types in the WordPress administration tool.

Quick Links
Corporate Links
Email Links

I designated Quick Links to be used for the non-dated page links. These pages will have information like benefit provider contact information, employee handbook information, HR downloadable forms, or lists of downloadable sales and marketing materials. To create these links, I went to: Manage > Pages > Create New Page. Enter the title of each page you would like and save it. The list of pages should appear in your sidebar as a list of links. I decided to change the default title of the section from “Pages” to “Quick Links” in the sidebar.php (Manage > Files > Sidebar Template). I filled in the page content by taking our old existing Intranet site pages and extracting the text and copied it to the new corresponding WordPress page (Manage > Pages).

Corporate Links would be used for links to other outside or external web based tools and systems we use for day-to-day operations such as a web-based bug tracking system, an online web conferencing tool, and a LAN system monitor. Email Links list email addresses we use for reporting software application or office technology issues, as well as the intranet administrator’s contact email. To create these links I went to: Links > Link Categories. I chose to change the default link category name to Corporate Links. This will be the default fallback link category if you delete a link category in the future. I then added an additional category called “Email Links”. You can add as many categories as you wish. Once the categories are created you use the administration tool to add links for each category and then they show up in the sidebar.

Next I created a “first post” entitled “Welcome” with a short introduction to the Intranet site and its new features. I created a banner style photomontage of our building and logo to use as a post image header. Since we will want to post photos and images with our dated “blog” entries, I went to: Options > Miscellaneous, and checked the “Allow File Uploads” checkbox. I entered the path information to a directory I created under my web server root to hold the images we might upload for events and dated posts in the future. An “Upload” option is now available in the WordPress administration navigation area. From here you browse to the image on your local computer and upload to the web server. The upload page even gives you the image tag code to include in your post.

Conclusion
Once I had the prototype working I presented the site to the HR department and the CEO and both loved the format. The flexibility to upload fresh information easily and post date sensitive topics right on the home page is a feature they were looking for but unavailable on our old static page intranet site.

I scheduled a day for transferring the setup to the actual Intranet machine and followed the detailed notes I had kept while building the prototype. All went smoothly and we had a new Intranet site up in about 2 hours! I was able to train an HR person on how to use the administration tool after creating a user account for her. Initial feedback from employees has been great. With the new system in place I’ve already added a section of downloadable logos and I’m planning to add a page on Safety Policies and expand the IT/Software development section. With WordPress in place it will be a breeze.

5/12/2005 | Filed under: @ 12:49 pm |

20 Responses to “How To: Creating Your Corporate Intranet Using WordPress”

  1. Randal Says:

    Dean,

    I am in the process of trying to create an entire website using WP 1.5 and found your article very interesting and informative.

    One question - can you tell me how you created a “static” home page?

    You mentioned you created a ‘Welcome’ post. Was that your home page? And if so, what did you have to do to make it the default page when someone visited the site?

    Thank you!

    Randal

  2. Dean Says:

    Randal,
    I only created a “first post” with a “Welcome” message. In fact, my goal was to have the home page not be static. I wanted it to show the latest info or news item. Like my own weblog, we show 3-4 of the most recent posts onthe home page.

    If you read this entry in the WordPress Codex, there at the bottom is a section on setting a “page” as your home page (pages are “static”).

    Good luck!

  3. Randal Says:

    Thanks, Dean. I found a static page plug-in and everything is working great now. Version 1.5 is awesome.

  4. Brian Keairns Says:

    This solution sounds like a big advance over the intranet you had before. How has it been recognized within the company? Have people taken advantage of the fact that they can easily publish now? Have you had to do much work to promote it internally? It’s seems like the potential impact on the company could be huge if people would embrace it.

    The company I started has developed a Content Management System that has some of the same characteristics as WordPress and we have been getting more interest from people wanting to move from a more static intranet to a dynamic intranet so I’m always interested to hear from others attempting something similar.

    This is a simple example site that we host:
    http://www.cvcust.com/customervision/

  5. Dean Says:

    The impact has been positive - if a bit slow to start. We have used it to roll out new benefit information and announce some new services.

    It is a clear improvement over the previous Intranet site we were running and time will tell if it becomes more widely used.

  6. Brian Keairns Says:

    You might want to take a look at a book called Implementing E-Learning by Jay Cross http://www.internettime.com/blog/. Even though the title says E-Learning it has the best advice I have found on how to promote usage of an intranet. Another thing that I found very helpful when I was trying to figure out how to promote intranet usage with our product was signing up for the free trial of http://www.intranets.com. They are in some ways a competitor to CustomerVision but it’s worth looking at their free trial program because they know every trick in the book when it comes to getting someone to really adopt an intranet. Just spending a few minutes signing up for the demo gave me a bunch of ideas on how we should be promoting intranet usage. Things like sample articles, reminder emails, advice on exactly when and how to submit content, etc.

  7. alQpr » Blog Archive » next please � How-to: Creating Your Corporate Intranet Using WordPress Says:

    [...] next please � How-to: Creating Your Corporate Intranet Using WordPress [...]

  8. Saurabh Says:

    Dean,

    Did you turn comments “off” for the readers? If no, do users have to login to your intranet. Basically I am looking for a solution to automatically authenticate intranet users.

    Saurabh

  9. Dean Says:

    Saurabh - I have them on and don’t use authentication of any sort… If you want to screen them try Eric Meyers Gatekeeper plugin.

    alQpr - thanks for the link…

  10. Help Desk Software Says:

    Well, I fully agree with your comment. :)

    BTW: I visited your blog earlier today and I just wanted to congratulate you on a well presented, and informative resource.

    It’s not often that I come across a web site that offers a wealth of quality. ;-)

  11. Lorelle on WordPress » 2005 » November » 03 Says:

    [...] [...]

  12. Alexander Muse Says:

    We recently developed a corporate website for Architel using three WordPress blogs mashed together. Check it out at http://www.architel.com .

  13. Dean Says:

    Very nice Alexander. (Do I see that Dan Cederholm was involved too?)

  14. Blog » Blog Archive » Free WebHosting Says:

    [...] http://www.deansabatino.com/2005/05/12/30/trackback/ [...]

  15. This is a work in progress!!! » Blog Archive » Too much info man! Says:

    [...] Ξεκίνησα την έρευνά μου κάνοντας μια αναζήτηση στο internet. Για τη δομή και το περιεχόμενο του intranet έχω ήδη ένα πλάνο και αυτό που έψαχνα ήταν ιδέες για την εφαρμογή τους. Βρήκα ως συνήθως ένα σωρό άρθρα σχετικά και άσχετα - αλλά με μια πρώτη ματιά προβληματίστηκα για το αν μόνο μέρος ή ολόκληρο το website θα βασίζεται στο wiki. Ένα παράδειγμα για το πώς μπορεί να γίνει αυτό είναι εδώ. Επίσης βρήκα οδηγίες για την όλη διαδικασία! Και φυσικά υπάρχει το εκτενέστατο manual του Wordpress. [...]

  16. The Adventures of Adventurous Jinglejammer and His Adventures » links for 2006-11-21 Says:

    [...] nextplease » How To: Creating Your Corporate Intranet Using WordPress How one corporate employee setup Wordpress as the blog for their entire intranet. (tags: corporate-blogging) [...]

  17. links for 2007-04-06 « Coruxa Xusticiera Says:

    [...] nextplease » How To: Creating Your Corporate Intranet Using WordPress Creating an Intranet blog using Wordpress | Crear un blog en la intranet usando Wordpress (tags: intranet blog howto WordPress) [...]

  18. More ways to use blog software « Gwen’s test blog for demonstrations Says:

    [...] Websites like Enerwise Global Technologies – here is the designer’s explanation for using Wordpress for commercial websites and corporate [...]

  19. WordPress Intranet « if you sit on the fence you *will* fall in Says:

    [...] used for blogs. It is built on PHP and MySQL and is licensed under the GPL. I was heartened to see the idea isn’t new. Inspiration struck when I was contemplating the development time needed to configure a CMS, and [...]

  20. Huug & Druug » Spoorstaking Says:

    [...] kan uitdokteren dan zal QP bij ons geen lang leven meer beschoren zijn en gaan we onze klanten WP-based fully customised corporate blogs kunnen aanbieden, [...]

© 2008 Dean Sabatino. All Rights Reserved. xhtml | css | rss 2.0 | WordPress | DreamHost

Photos

On flickr now...
Some older photos are elsewhere...

Elsewhere

Categories


Archives

About & Etc.

This is the personal website of Dean Sabatino. Learn more »

Search The Archives

Other Outposts

Here are some other websites that I'm involved with in some way or other.