MAXdev
A Guide to Converting an Existing HTML Site to MDPro
Duster
This guide is intended to help site administrators who have an existing HTML web site and are considering changing over to a CMS.


Note: I hope the references to PostNuke won't be confusing, but it was the CMS I first used.Much of it applies to MDP as well. It wasn't until I had used PN for a year and a half that I installed MDP and converted to it.

This guide has been written to make it easier for other people to convert their existing sites to MDPro (MDP). It can also serve as a guide for those people starting a website using MDP from the beginning. It will be appended to and revised as new things are learned and as time permits. It was written (initially) just 6 weeks after PN was installed for the first time (on January 2, 2003) A later conversion to MDP was made in July, 2004. . It has been written more as a journal than a technical guide and it is hoped that it may prove helpful and inspirational to others in the construction of their MDP sites. It has also been written more in a narrative style than as a technical document. Its purpose is to inspire the answer to why more than how, though it covers some of the latter as well.

Site background

The site to be converted is a popular site on a leisure activity with hundreds of pages of content. The thoroughness and unbiased nature of the content have helped make it a respected site and it is used as a reference point by many professionals, including doctors, physics educators and even at least one NASA scientist, as well as participants in the activity. The URLs have been logical and easy to remember since the site's inception. Hundreds of hyperlinks, many of them to specific areas of the site, are just some of the reasons why I have chosen not to abandon the HTML version of the site. Another good reason is that many pages are well placed in most major search engines and I did not want to lose that.

The site was created and is administered via Macromedia's Dreamweaver and the use of external stylesheets. Dreamweaver is an excellent tool, especially for large sites. The latest version even handles PHP.

The programs used on the site for the forums, classified ads and events are all commercial programs with rich feature sets.

Why use MDPro

Many site administrators will look at MDPro and wonder if they should switch to it (or add it as an alternative). The same will be true of many looking to create a site. If you're reading this, you may be asking yourself if you should use MDP on your site. I can't answer that for you. What I can do is tell you why I chose it and some of the benefits that may help you in your personal decision. Some of the reasons I chose it will apply to most any site while others are a bit more specific to my own. You'll have to look elsewhere for technical reasons. I will enumerate only practical ones.

Site integration - a single login and registration for all functions

Never underestimate the importance of making things easy and less confusing for your site visitors and users. I call mine members as they are a part of my site in many ways. We meet in person from various points around the world and many of the articles on site have been written or helped by contributions of the members drawing from their expertise, experiences and knowledge. On my HTML site I had a forum program, events program, and classified ads program, each with their own separate registration and login, not to mention a different interface and appearance. While I could minimize the differences in appearance and make these disparate programs blend in with the rest of my site, I could do nothing about their separate registrations. Many of my members get confused over those differences. MDPro, in conjunction with the right modules, offers the ability to have a single registration for all functions. That makes it easy for all concerned.

Regardless of their subject matter, many sites have several functions in common. This is especially true of online communities. The list below was compiled from several sites ranging from luxury watches to recreational vehicles, ranging from enthusiasts' sites to commercial sites..

Common Functions for Online Communities

guest book
discussion forums
chat rooms
links submission
events listing and signup
polls
surveys
quizzes
tests
contests
reviews (with ratings on reviewer)
classified ads
database (members, etc.)
book store (Amazon.com, etc.)
greeting cards (electronic)
shopping cart
auction
site search engine
links directory (Yahoo like)
banner rotator

Not all sites will need all these functions, but many of them will have most of these functions in common. An HTML based site will likely add separate programs to perform the functions they require. Although some programs incorporate several of the functions listed, none of them do it all. That increases the likelihood of separate registrations and interfaces for site members and different control interfaces for administrators.

That makes a content management system so desirable. It simplifies usage and administration for all concerned.

The ability to involve others

Since the beginning of my site, I have sought the participation of others. Our collective body of knowledge is greater than that of any individual. This is where making it easy comes in again. It doesn't matter how much you say contributions are welcome and encouraged, it's when you make it exceptionally easy for them to be made that you might get them with any regularity. MDP allows news and other articles to be submitted directly through the site. It couldn't be any easier.

My forum moderators were promoted to sub admins. The permissions system in MDP allows me to give them permission to administer selected parts of the site (whatever parts I select), making my job easier. Additionally, I have sub admins who are other language editors. I've had very limited content for years translated by fellow participants into other languages. Now I can use the same volunteer editor principle used by dmoz, About.com and other sites to involve others in helping the site grow and extending it into other languages. Both by adding content in other languages and translating the existing content in English into their language.

Reduced administration

I've already mentioned some reduced administrative overhead by involving others. There are others. In my case, I have conservation agencies that send me regular notices; I also receive occasional notices from other sources. I no longer have to take the time to convert their e-mail messages into an HTML page, link it and upload it to the site. They can input it directly and I need only approve it for posting. If I wish, as with the conservation agencies, I may give them permission to post directly and immediately without their message being held for review by me. This benefit will become even more important as the new site grows in popularity and more submissions are made.

Faster updates

See directly above. It can be tough at times to take the time to update an enthusiasts' site. The things that pay the bills take precedence. The direct input feature allows for faster updates with a minimum of time (just seconds) devoted to them.

Reduced cost

MDP and most of the third party modules made to work with it are free. They are not shareware, they are free. There are some commercial programs, some with free versions and a path to upgrade to a licensed one. However, there are free modules for most any function you can think of and many are of commercial quality. The third party classified ads module I selected (PN_zClassifieds) was nearly the equal of the commercial program it replaced when I originally wrote this. It has some features the commercial program does not. With the suggestions I've made to its author and his indication of their inclusion in the next release, it now surpasses the commercial program I used in almost all areas. The only areas it does not equal the commercial program are areas I have no use for (charging for ads, etc.)

Increased functionality

There's a slew of things you can do with MDP that you simply can't do with an HTML site. Take a look at the third party module listing and you'll see a wide array of functions that you can add to MDP just by installing the module. Additionally, you can add your own PHP scripts as well. You are not dependent on proprietary software and hoping and waiting for the developers to add a function you want. If you learn PHP scripting, or know someone that knows it, you can add to your site. I have certain specific things I will be adding to mine, all accessible with a single login

Language selection

This has at least two distinct benefits. One is that MDPro and many third party modules are available in several languages. If your native tongue is something other than English, you may have the availability of MDP and a wide selection of third party modules in the language of your choice. You may also have a multilingual site, though this is a benefit only if you have content in other languages.

Expanded coverage

With several of the items mentioned above, I have the opportunity to expand my site's coverage and influence. I can help more people than ever before and be more on an information resource on a greater number of topics related to the overall area of interest. Over time it may be possible to compile more accurate statistics on the number of participants than has been possible before, and a number of other important figures than are presently available. That could eventually help me realize a dream to earn a sustaining income from the site and make it a full time occupation.

The Next Step

You've made the decision to take a closer look at MDP. What do you do next? Install MDP and start configuring it. Keep your existing HTML site, at least for the time being. If your server runs Apache, as about two thirds of them do, the httpd.conf file determines the loading order of index.x files. Chances are it stipulates that index.htm, index.html and probably others will load before index.php. If not, it can be changed easily enough. That simply means that no one will see your MDP site unless and until you add a link to it or delete the other index.x files. That is because even with the MDP index.php file in your document root directory, right alongside index.htm and/or index.html, one of those latter two pages will load automatically (by going to yourdomain.com/ and index.php will only be seen by direct access (yourdomain.com/index.php) by those who know to look for it.

Measure twice, cut once

Carpenters have an adage to measure twice and cut once. It's sage advice to plan carefully and get it right the first time. I took several days to figure out how to best use PN's features and how to plan the new site around it. The one that was most perplexing was Topics. The original pnGuide was cryptic on what is really a simple matter. It said, "Topics allow you to divide your content into logical groupings". My content was already divided into logical groupings in HTML. I didn't see how Topics fit in. The pnGuide was worthless to me on the subject of Topics. It wasn't until I discovered that Topics divides the content for submission of news stories that it made sense. That made it easier and helped me to decide what topics I needed to add. It would be topics of news items.

The MDP documentation makes it easier than the PN documentation. The rest of the items are largely self-explanatory or easy enough to figure out. Subjects correlates to the categories I have on my HTML site, each with its own subdirectory. It includes the articles on the site on such subjects as equipment, medicine, safety, training and others

Reorganization

PN is divided by function whereas my HTML site is divided by categories. That required a reorganization and division when converting the HTML site to PN. For instance, on the HTML site, the equipment section has several articles about equipment and some pages with links to manufacturers and vendors. The PN version of my site separates those by function. The articles about equipment went into the Subjects section while the manufacturer and vendor links were entered into the Web Links part of PN . Likewise, any files available for download can be entered in the Downloads section.

Shortcuts

If you have hundreds of pages of content as my site does, it can be a prodigious task to begin entering them directly into PN. There is a shortcut of sorts, a way to make all content, even other programs, accessible through your PN site. There are various content wrappers that accomplish this Nuke Wrapper handles HTML and PHP pages and is very easy to use. A third party module named Post Wrap imports HTML pages, PDF files, programs and more into a frame (an iframe to be precise) and lets your site users access that information or program through PN.

There is another reason I use wrappers and why I will continue to use them. (Note, I use Nuke Wrapper for my HTML and PHP pages and PostWrap for other formats) All my HTML pages are encrypted against copying in any form. I added that protection after 14 copyright violations (over a period of 3 years or so) to protect against any other thieving slugs stealing articles I spent a great deal of time researching and writing. Since I added that protection, I have not found any copyright infringements at all. I made it too hard for the unskilled, inexperienced computer user who is prone to theft. Those people who have the skills to break the encryption don't seem prone to theft. I do have articles and materials that can be printed via PDF versions I've made available for download.

Using Nuke Wrapper lets me keep that protection and I will do so until such time as it might be possible to encrypt pages in PN in a similar fashion, preventing their copying, printing or theft.

HTML or MDP CMS?

There are lots of content management systems available, some commercial, some open source, some PHP based, some in perl and others, some forks from some variant of Nuke, some not. You have lots of choices. I can't help you decide which CMS program to use. I might be able to help you decide if you should use MDP or continue with an HTML site.

The earlier part of this guide covered some of the benefits of MDP and how to organize a site to make the best use of its features. There is one question we have yet to find a satisfactory answer for. How does one incorporate single pages into MDP? Groups of pages around a central topic such as equipment, medicine, safety, training and others can be placed in Subjects in MDP, but what does one do with the single pages?

Unless you expect to add many different functions to your site (see the table above), have regular news updates, and have a large number of pages, you may wish to stay with HTML pages. Through the use of editing and administrative tools like Macromedia's Dreamweaver and external stylesheets. even large sites can be maintained easily. External program hosting from calendars to forums can allow you to add many functions to your site without having to add the programs.

An HTML site allows for a great more flexibility configuring the appearance of the site, allowing for different looks for different parts, as well as placement and linking of pages. Furthermore, you can combine pages of links, articles and more in the same section. Only you can decide if you wish to sacrifice that for the integration that MDP can provide.

HTML and MDP CMS?

An alternative to choosing between an HTML site and a MDP site is to have them both. If you already have an HTML site, you may wish to keep it and run it concurrently with a MDP site. I chose to do that for several reasons ranging from the many links to my site, the very easy to remember URLs and search engine placement. Switching solely to a MDP site would mean giving all those up so the decision was made to keep the existing HTML site. Some functions were moved to the new MDP site but the many articles in HTML and a couple of perl programs remained up for awhile..

Additionally, static HTML pages are far simpler to serve up. There is no database to connect to, no number of sessions and users to be concerned with, nothing much other than the server not functioning to cause the site to be inoperative. HTML sites are simpler with less to go wrong with them than dynamic sites. They can be backup for times when the dynamic site is inoperative.

December 7, 2003

It is now eleven months since I installed PN. I think it was three or four months ago that I consolidated the HTML and PN versions into one. I realized that it was not necessary to maintain two separate versions any longer.

Here's the background on that. A few years ago, I saw mentions and links to information that was unique to my site at the time. I discovered a site that had links to pages on mine within a frame. Since I had no site identifier on the pages at the time, they were able to present my work as their own, even if that was not their intent.

Along with some other site wide changes I was planning, I made sure that the site name and logo appeared on every page so this could not happen again. They could have my pages in a frame, but they would carry my site name on them. The redesigned site had most pages with a border graphic on the page. Within the border it was white and that was where the text was located. Outside the border was a page color or patterned background, a different one for each section and related to it by content. At the bottom of the page were navigation buttons and the top of the page has already been described.

I was rather proud and fond of the result. The only problem and a perpetual challenge was making all the information readily available. Javascript menus took too long to load due to the amount of material on the site and the fact that they reloaded with every page visited. I dispensed with them in favor of the detailed directory that was the center point of navigating the site.

In the early part of this article, I mentioned why I will keep my articles in HTML format and not enter them directly into PN. It allows me to encrypt the pages to prevent theft.

I copied the HTML pages on my site and placed the duplicates in a pn subdirectory on my site. I stripped them of the title graphics, backgrounds, navigation images and widened them to 100% of the page width. I also gave them a new border graphic that matched the default theme I used and used a different stylesheet on them. This became part of my PN site. It would not look good to have my existing pages appear as part of my PN site for various reasons. The title graphics were redundant (the PN site has a title graphic), many of the pages were too wide when shown in PN, and all the backgrounds and images that I (and many people) liked so much on the original site did not look good in PN.

I proceeded to transfer the many pages of links into the Web Links section and add links in Sections to the many pages of articles, using first PostWrap and later Nuke Wrapper. I learned the pitfalls and limitations of links from one page to another on the site using wrappers. I removed links from the directory page in the PN section as the pages and information were integrated into PN.

I reached the point mentioned above where I decided it was time to scrap the original HTML site. I copied the pn/ HTML pages over the original ones one level up. Once I changed all the links in PN, eliminating the pn/ from the path, I deleted the entire pn/ subdirectory. I did this directly in the database using phpMyAdmin. I also eliminated the index.html and index.htm pages so mydomain.com now had the index.php page load automatically. The HTML site was officially retired.

I realized that since my pages were still in HTML format, all the existing links to them would still work, even without the PN front end. I added the site name to the top of the border graphic to identify the site, not wanting to allow the earlier misrepresentations by others calling them up in a frame. Called up directly and not through PN, the pages looked considerably plainer than before, but they were still identifiable as originating on my site.

If anyone else has an HTML site and is going to convert to MDP, retaining the pages in HTML, they may be able to do it a bit easier and faster than I did. For one thing, by reading other information I have on site, you won't have so spend days figuring out what some parts of MDP do and how to use them. For another, you might not be so attached to the look of your site. That was probably one of the things that delayed me retiring the old site.

An Easy Conversion

Here is what I would suggest. First, be very sure you want to change to MDP. Make a backup copy of all your HTML pages just in case. Next, prepare the pages on your site to appear in MDP. If you use a table for the page width, make it 100%. Simplify the appearance and eliminate any extraneous graphics. I would suggest a small and subtle title at the top of the page, either text or graphic. Using the principle of loading priority, you could have an index.html or index.htm page as the entry point, possibly the same page you have now.

Create your MDP site and begin integrating the material from the old site to the new. Here's where you need to make a decision. If you are unveiling your MDP site and if you have a directory mention on there that as you move material into the new site, that it will be removed from the directory Be sure to mention what areas the should look in for that information (Subjects and Web Links are likely to be two of the primary areas, at least for some sites.

If you are going to keep your MDP site under wraps until you get more work done on it, make a duplicate of the directory, linked only from the MDP site, and do what I suggested above. Also remove links from the directory as the information has been transferred to MDP. This directory will also serve as a checklist of some of the work you have remaining.

The rest of your work will largely consist of integrating all your articles, links and other information into MDP. It can be a tedious process. One of the shortcuts I took is including section indexes until such time as I could link all the articles in their respective section.

The sooner you effect the change over to MDP, the better. Your site users will be able to take advantage of its many features. I probably delayed my changeover longer than was necessary, but I was also figuring this stuff out along the way. You can benefit from what I deduced and learned.

Summary

I hope you have found the information above helpful. Some of the features in MDP are frills. Such things as ephemerids and quotes are nice touches yet are totally dispensable on most sites. I've chosen to concentrate on the important features and what you will need to know to get started (and why you might want to). While only you can decide if MDP is appropriate for your site, I hope my experiences and goals, coupled with what I've learned, have helped you with your decision and quest for knowledge.

That's all for now, folks.

July 2004

For months I had been adding hacks and patches to PN to fix various little deficiencies, as well as adding third party utilities. I had been keeping an eye on MDPro and Xaraya and finally installed MDPro. I found that most of the improvements I had made to PN were already included in MDPro. I further found the attitude of refining the product rather than continuing mistakes of the past compatible with my own desire for improvement.