MAXdev
Introduction to the MDPro Usage Guide
Duster
duster@maxdev.com

For MDP users who are active participants
in fInding answers and learning MDP



Greetings. The documents contained within have been written by in an effort to make it easier for MDP novices and novice admins to learn how to use MDP. They are not suitable for all novices, however. Those who need to be told everything will not find all their answers here. Those who take an active, hands on role in seeking answers and require only a little guidance may benefit from the information supplied here. This
MDP guide does not tell one directly how to use each and every feature, at least not as yet. It does state the purpose of each feature and has a bit of detail on the more nebulous ones.

This guide then is obviously for the person who has installed MDP (though there is help provided for installation) or will install it. As much as some people would like to know which CMS they should select before downloading and installing one, the simple truth is thatit is only through actual use that many differences become apparent. These instructions, accordingly, have been written for the person who has installed MDP.

Most of MDP's features are easy enough to figure out how to use and many new users will be able to do so once they know what the features are for.

Because this is a guide with the interests of users first, there are also mentions and recommendations for third party resources to increase the functionality of MDP.

Click on Directory for the MDPro Usage Guide. I hope you find it useful.


Enjoy.

Duster



Directory

BACKGROUND AND PREPARATION


Administrator Preparation


If you will be creating your first site, you need to read this before
you go any further.


Usage of this Guide


Read the perspective of these guides and learn some of the basic terminology
you will see used often


What Is MDPro?


Learn what a CMS is, what MDPro is, a bit about PHP, and what some of
the benefits of a CMS are.


The Benefits of CMS and MDPro


Learn of some of the benefits of a CMS over a conventional HTML web site.


A Guide to Converting an Existing HTML
Site to MDPro


This guide is intended to help site administrators who have an existing
HTML web site and are considering changing over to a CMS.


System Requirements


Web server requirements for running MDPro




INSTALLATION


Installing MDPro 1.07


How To Install Modules




FEATURES AND USAGE


MDPro 1.07


How to FAQ - Answers to commonly asked questions
about configuring MDP and finding resources




SITE CONSTRUCTION AND MANAGEMENT


Beginning Site Setup - includes some important
security information


Forums for MDPro


Tips


MDPro Hacks - some hacks that can personalize
your MDPro site.


MDPro and Search Engines


Backing up or Moving MDP


Resources


Short URLs


Languages, Language Packs and Translations









INSTALLATION

Directory




Installing MDPro

Part 1 - Terminology and Preparation

PLEASE READ ALL OF THIS DOCUMENT BEFORE INSTALLING, UPGRADING OR USING MDPro

About These Instructions

These instructions are not MDPro Installation for Dummies. If you are a dummy, you have no business getting involved with databases. You can think of them as MDPro Installation for the Uninformed if you like.

They were written, however, for those new to databases who are merely ignorant of a few things, will read, can reason, and can follow instructions. They were written by someone who too was ignorant of some of these things. I've written these instructions so as to spare others any aggravation and frustration in installing MDPro and to enable them to get it installed on the first attempt. Consequently, the easiest way of doing things will be covered here. I had problems with the CMS I used before MDP because of inadequate instructions and would like to spare people any similar problems with MDP. You may not even need these instructions as the semi-automated installer in MDP has many details you will need to know, possibly everything you'll need to know.

If you are an advanced user, you may find these instructions too simple for you or may wish to use alternate methods in some areas, such as command line administration of the MySQL server. Do as you wish. These instructions were not written for people at your level of knowledge.

TERMINOLOGY

Before we proceed, you may find it helpful to become familiar with a few basic terms you will see mentioned over and over.

Database - A collection of information stored in a program for easy accessibility. (See field and table.)

One example is the Internet Movie DataBase at http://imdb.com It has a huge database of information about movies and television shows that can be accessed and provide answers in a matter of seconds.

Field - A place for specific information in a database or form, usually designated by type. For instance, this site has a contact form. There is a text field for the sender's name, another for their e-mail address and a text area field for the message. Other field types include date and money (currency), which tells the program how the information should be formatted.

Table - A table is a collection of fields in a database or on a page, usually grouped in the same table because they are all needed for a function or group of functions or because they are related by topic.

MySQL - An open source database program. The SQL stands for structured query language.

PHP, PHP3, PHP4, PHP5 - Hypertext Preprocessor - PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly. Some languages do things, others get things done. PHP is commonly known as the latter of these two. Many PHP programs use a database as a back end (the PHP program does the work up front and MySQL or some other database program collects and keeps the information in the back end.)

phpMyAdmin - A program that acts as an interface (control panel if you will) using PHP to administer MySQL databases. Databases can be complex things to administer and phpMyAdmin makes the job easier.

MDP - An abbreviation for MDPro

PREPARATION

You need to be certain that you have PHP and MySQL available to you. Unless both are installed on the server you use, you will be wasting your time if you proceed any further. If you are on shared server hosting (you rent space on a server and do not have your own server), you may need to check with your host. Do so if necessary.

If your host does not have PHP and MySQL, you will need to either have them add it if they will or find a new host that offers it. If you have your own server, you can download and install them or have someone install them for you.

The easiest way to administer MySQL databases is with phpMyAdmin. If you do not have it installed already, download it and install it. Be sure to check your PHP version number first as later versions of phpMyAdmin require later versions of PHP. Run http://yourdomain.com/info.php to determine the version of PHP you have installed. Alternately, if you have phpMyAdmin installed already, there is a link entitled Show PHP information under the phpMyAdmin heading on the opening page that will reveal the PHP version installed.

Some web hosts offer a control panel that allows creation and administration of databases. If you have and use such a control panel, you can adjust these instructions accordingly.

Download MD SOS. You will find it in the maxdev.com download section. It can help you out of some difficult situations if you make a critical mistake.

You need to be certain that you have GD libraries installed if you wish to use the graphical security code features in MDPro. If you enable this feature and don't have the libraries installed, you can lock yourself out of your site. This is one of the things that MD SOS can fix.

Download Programs

If you need to download any of the three programs, click on their names here and find the version you want on their websites.

MySQL PHP phpMyAdmin

When you have confirmed the presence of all three programs or installed them, you are ready to proceed.

After downloading the current MDPro (MDP) distribution, unzip the file on your server or local personal computer. If you have a robots.txt file, download it and add it to the MDP robots.txt file if it contains any instructions beyond those of the default file from MDP.

If you can create your own databases, click here

If you are on shared server hosting and cannot create your own databases, click here




Part 2 - Creating and Preparing the Database using phpMyAdmin

Part 2 - Creating and Preparing the Database using phpMyAdmin

The biggest problem many people have in installing MDPro is establishing the database connection. It is not enough to create the database. Proper access and usage permissions must be set for it. Some people will have databases created and access set up by their host. This information is primarily for those who have their own servers or virtual servers and may install their own programs, including MySQL, PHP and others. Some people on shared server hosting have a control panel that allows them to create databases. These instructions include them as well as people with their own servers.

This same information will apply to any MySQL databases, not just the one for MDPro. Thus, if you install a forum on your site that uses its own database or any other PHP/MySQL program, the same instructions will make setup easier for you with those other programs.

What you will be doing next is creating a database user name and assigning access privileges to the database for that user.

So as to minimize or eliminate confusion, where a word is to be entered in a field, it is shown here emboldened rather than in "quotation marks". This should eliminate any doubt about including the quotations marks (don't unless they are shown also).

Once you have installed phpMyAdmin and it is working properly, follow these steps to set up a database:

  1. At the phpMyAdmin main page, just under Create new database, enter the name of the database you wish to create and then click on Create. I suggest the default name of mdpro rather than any db names that include a version number. This can prevent confusion from having a database named after an older version while you are using a newer one that has had no database changes. The database name does not change as you upgrade your version of MDP so it makes no sense to include a version number as part of its name. There will never be any doubt or forgetting what program uses that database. If you expect to have multiple installations of MDP, you can preface it with a few initials to indicate its relationship to a particular site, such as dlmdpro, lpmdpro, etc., where the dl and lp are initials for the site names that correspond to their respective databases.
  2. At the phpMyAdmin main page, click on Privileges. You will be taken to the User Overview page. Click on Add a new User.
  3. Under Login Information, for User name enter the MDPro database user name in the field to the right. It may be the same as the server account name and that is a good choice. This same user may have access to other databases (such as forums). In the Host field, use the drop down menu to change the % sign to local. The field to the right will now show localhost (the usual value). In the field below, enter the password you wish to give use. This password is only for access to the MySQL database and is unrelated any other passwords you may have. Enter it again in the second password field. Skip the global privileges and click Go. Use a combination of alphanumeric characters and other allowed characters, vary the case, and make it impossible to be guessed. BigBob2 is a bad password. !52TuvX! is a good one. Once you have your password, write it down! Remember that your password is part of your account security!
  4. You are now taken to the Privileges page. Scroll down to the Database-specific privileges section. It says: Database-specific privileges, In the dropdown menu to the right that says text-field, select the name of the database you created in Step 1.
  5. Click on Privileges. Under database specific privileges, select a database and select SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP. Click on Go directly underneath the Database-specific privileges section.
  6. Click on Home and then Reload MySQL . This is essential for MySQL to recognize the changes you have made. Note that on some systems this does not work and the MySQL server must be stopped and then started to initialize the changes. We have completed our work with phpMyAdmin and setting up the database.
  7. Locate and open the config/md-config.php file as you will need to be familiar with the information in it. It must be a perfect match for the MySQL information. About half way down, you'll see a section that looks like this (except for the color instructions which you should follow)

    $pnconfig['dbtype'] = 'mysql'; do not change
    $pnconfig['dbtabletype'] = 'MyISAM'; do not change
    $pnconfig['dbhost'] = 'localhost'; do not change (unless your system calls for it)
    $pnconfig['dbuname'] = 'root'; change to the database user name you selected in step 3
    $pnconfig['dbpass'] = ''; enter the password you decided on and have written down
    $pnconfig['dbname'] = 'mdpro'; do not change unless you are doing multiple installations of MDPro (see step 1)
    $pnconfig['system'] = '0'; do not change
    $pnconfig['prefix'] = 'md'; do not change
    $pnconfig['encoded'] = '1'; do not change

    When you have finished editing the config.php file, keep it open in a window or write it down. The database name, database user name and password entered in MDP must match the information entered in the database or you will not be able to establish a connection. You will be shown some of this information and enter the rest later on in the installation process. By understanding it now it won't be confusing when you are asked for it later.

  8. If all goes well and no trouble shooting is involved, the hardest part is now over.

Note that the instructions above apply to setting up databases for other programs as well. However, some steps will not have to be repeated when adding other PHP/MySQL programs under the same user name.

Go to Part 3




Part 2 - Creating and Preparing the Database

If you are on shared server hosting and cannot create your own databases:

You will have to have your host create the database for you. The username will likely be your account name, which is also likely to be your login name. Your host will need to know the database name. I suggest the default mdpro rather than any db names that include a version number. This can prevent confusion from having a database named after an older version while you are using a newer one that has had no database changes. The database name does not change as you upgrade your version of MDP so it makes no sense to include a version mumber as part of its name. There will never be any doubt or forgetting what program uses that database. If you expect to have multiple installations of MDP, you can preface it with a few initials to indicate its relationship to a particular site, such as dlmdpro, lpmdpro, etc. where the dl and lp are initials of the site names that correspond to their respective databases.

Your host may also want to know what password you want to use. You are advised to use one that is not a regular word and cannot be guessed at or cracked by a dictionary attack. Use a combination of alphanumeric characters and other allowed characters, vary the case, and make it impossible to be guessed. BigBob2 is a bad password. !52TuvX! is a good one. Once you have your password, write it down! Remember that your password is part of your account security!

  1. Locate and open the config/md-config.php file as you will need to be familiar with the information in it. It must be a perfect match for the MySQL information. About half way down, you'll see a section that looks like this (except for the color instructions which you should follow)

    $pnconfig['dbtype'] = 'mysql'; do not change
    $pnconfig['dbtabletype'] = 'MyISAM'; do not change
    $pnconfig['dbhost'] = 'localhost'; do not change (unless your system calls for it)
    $pnconfig['dbuname'] = 'root'; change to the database user name you selected or were assigned
    $pnconfig['dbpass'] = ''; enter the password you decided on or were assigned and have written down
    $pnconfig['dbname'] = 'mdpro'; leave unchanged unless you are doing multiple installations of MDPro (see above)
    $pnconfig['system'] = '0'; do not change
    $pnconfig['prefix'] = 'md'; do not change
    $pnconfig['encoded'] = '1'; do not change

    When you have finished editing the config.php file, keep it open in a window or write it down. The database name, database user name and password entered in MDP must match the information entered in the database or you will not be able to establish a connection. You will be shown some of this information and enter the rest later on in the installation process. By understanding it now it won't be confusing when you are asked for it later.

  2. If all goes well and no trouble shooting is involved, the hardest part is now over.

Note that the instructions above apply to setting up databases for other programs as well. However, some steps will not have to be repeated when adding other PHP/MySQL programs under the same user name.

Go to Part 3




Part 3 - Uploading and Establishing the Database Connection

Uploading

With the database and database user name created, rights and access privileges assigned, and the config.php file information decide upon, we are ready to upload files to the server.

Location of MDP files on server

All the files and directories in the MDP html directory should be in your web root directory on the server (unless you decided to install MDP in a subdirectory). This is known by various names, including document root directory. The directory structure varies a bit too. On Red Hat Linux systems (up to 6.x), it would be /home/your loginname/www/. On other systems it is htdocs or public_html. Still others have different directory names and structures.

If you have an index.htm (or index.html) page that says something like "future home of yourdomain" when people go to yourdomain.com, or you have an existing site with a home page (the one visitors see first) , the web root directory is where this page would be located. Whatever it is called (let's say it's www), is where you want to put all the files and directories in and under the html directory when you unzip MDPro. You can FTP the whole lot at once by selecting them all for the transfer. See Appendix A for details.

Note: Servers have a file that determines priority in loading for files named index. according to their extension. On the two thirds or so of the servers running Apache, that is the httpd.conf file. For instance, on many servers, the loading priority order is index.html, index.htm, index.php, index,.cgi. This means that you can install MDP in your document root directory and configure it without other people seeing it unless you want them to by adding a link to index.php from your index.htm or index.html page. Should you decide to make your MDP home page your site's home page, you only need to delete the index.htm and index.html (and any other index pages other than index.php) from your document root directory.

Check with your host if you need to determine the loading order of index files on your server. Some even use default.htm instead of index.htm so you may want to ask unless you are certain or can determine it on your own.

Upload the files to your account.

2. As per the instructions, chmod (change permissions) the config.php and config-old.php to 666 (rw-rw-rw) See Appendix B for details.

WARNING - You could install MDP running under the root user, but it is not advisable to do so for security reasons.

3. Now you are ready to begin the installation process. MDPro has a fully graphical installation process. Go to http://www.yourdomain.com/install.php and it will begin automatically. If you installed MDP in a directory other than your document root directory, you will need to include that directory name in the URL.

Example, if you installed MDP in a directory named mdp, you would enter http://www.yourdomain.com/mdp/install.php in your browser to begin installation.

4. 0% The first selection is choosing the default language. A large number of languages is provided for the installation process. See the downloads section first and support forums second if you need another language. Additional language packs can be added at any time. Select your preferred language and click on Set Language

5. 20% This step consists of reading and acknowledging the license terms. Click on Next.

6. Chmod check (30%) is a check of permissions for the config.php and config-old php files. If you set them correctly, the program will know and you can proceed. If you did not set them properly, you'll need to do so before you can continue. When you get the green check marks, click on Continue.

7. 40% The next step is where you review the information shown in the config.php file. Click on Submit

Now we go back to the open config.php file. Depending upon your server configuration, you may need to enter only the database user user name (typically your login in name) and database password.

     
Database Host localhost do not change (unless your system calls for it)
Database Username root change to the database user name you selected or were assigned
Database Password   enter the password you decided on or were assigned and have written down
Database Name mdpro do not change unless you are doing multiple installations of MDPro
Table Prefix (for Table Sharing) md do not change
Database Type do not change
     
     

 

8. Database Information 50% This step reviews the information, gives you a chance to change it, and asks you to choose between New Install and Upgrade. Click on New Install.

9. New Install 60% The following step shows that same information and gives you the opportunity to have MDP create the database. It is not necessary as you have already created it (or had your host create it for you). Do not check the Create the Database box. Click on Start.

10. 70% This is the step where you either have to determine what needs to be changed or you start dancing with joy. If you were successful, you'll see the database name was created such as {MD Pro was created) and a long list of installed parts underneath it. If successful, click on Continue.

11.Setting Your DB Preferences 80% The next screen asks you to input the Adm. name, Adm. login, Admin password, e-mail address and URL. Do so and click on Set Login. Write them down so you have a record of them should you forget. Note that the administrator name and password are for MDP and can and should be different than the database user name and password.

12. 90% The next screen shows the parts updated by the login. Click on Finish.

13. 100% The next screen shows the credits for those developers who have contributed to MDP. After you read them, click on Go to your MDPro site below.

14. You will now see your site with one of the themes included with MDP

15. Do as the reminder says and remove the install.php file and install directory.

16. Login as the admin. Once logged in, you may click on Administration and begin configuring your new MDPro site.

17. Enjoy. Now the work really begins, but at least it will be fun!

Alternate installation method

Instead of downloading MDP and unzipping on your local PC, put the compressed file (.tar.gz) or .zip) on your server and unpack (uncompress) it there. If you have an existing robots.txt file, download it before uncompressing MDPro. Download the config.php file and the .sql file. You can connect to your server via an SSH session using a free program like PuTTY or shareware like SecureCRT.


Common Installation Errors

config.php and config-old.php not world-writable - these files need to be writable by the webserver process during the install/upgrade to ensure that certain configuration parameters are stored. The install procedure should check for this and inform you if the files are not writable. Note that once the install/upgrade has been completed these files can be reset to read-only.

Problems creating or populating the database - this is often due to incorrect MySQL privileges on the database. If you are unsure if this might be the case then try to access your MySQL database manually with the username and password that you have and attempt to create a database and table to ensure that the user exists, has a correct password, and is able to carry out the operations that MDPro needs for installation.

Problems logging in - this is normally due to access the MDP site with an unqualified host name e.g. http://localhost/index.php or a domain name e.g. http://foo.com/index.php MDPro requires that the site name is fully-qualified e.g. http://www.foo.com/index.php Instructions on setting up a fully-qualified hostname for your local server can be found on the MDPro documentation site at http://maxdev.com Alternatively you can set the 'intranet' option when installing or upgrading MD Pro, which will allow you to run MDPro without a fully-qualified domain name but without the ability to filter cookies from similar domains. In most cases where MDPro is run like this it should not be an issue, however setting your site to run as an intranet site when it is directly connected to the internet is not recommended.

Appendix A

Location of MDP files

  http://www.yourdomain.com
transfer or unpack these MDP files and directories to ----->

path to above:

/home/your loginname/www/ (as an example)

docs
images
includes
install
javascript
language
modules
pnadodb
themes

admin.php
backend.php
banners.php
config-old.php
config.php
error.php
footer.php
header.php
index.php
install.php
mainfile.php
modules.php
pntables.php
print.php
referer.php
robots.txt
user.php
xmlrpc.php

 

Appendix B

chmod

Many FTP programs include Unix commands like chmod. In WS_FTP LE. Select (highlight) config.php and config-old.php. Right click. A menu will pop up. Select chmod (UNIX). A remote file permissions menu will come up. Select (check) read write, read write, read write as below.

666 Permissions 

Owner  Group  Other
Read X X X
Write X X X
Execute


seen as rw-rw-rw- when viewed in a directory listing



How To Install Modules

Installing modules in MDPro is easy and there are still some things you should know about the process

1. Download the module package and open it on your local hard drive. Distributions of most programs are in a compressed format using either the .zip or .tar compression format. Often both formats are available. Some compression utility programs such as WinZip can uncompress both format types.

One reason you should uncompress it locally first is that there is no way of knowing what the top directory is otherwise. There is no standard for this and no way to get third party modules to adopt it if there were. Below are three examples that are commonly seen,. There are others.

Example 1
Example 2
Example 3
This example is probably the best structure as it identifies the module name. You would transfer the contents of the modules directory to your modules directory in your MDP installation. This example is also a good structure. You would transfer the contents of the modules directory to your modules directory in your MDP installation. This example starts with module directories and files with no top directory at all. You need to create the module directory name
  • Module Name
    • modules
      • module_directory_ name
  • modules
    • module_directory_ name
  • images
  • lang
  • templates
  • admin.php
  • user.php

2. Read the installation information on the module in question. Some modules have atypical installation methods and you may have to perform other tasks beyond a normal installation to get them to run.

3. Read the configuration information on the module in question. Some modules have no administrative interface (they will not appear in the admin menu) and any configuration is handled by editing certain files. Even some modules with an administrative interface have some functions that are edited manually.

4. Once you have determined the information above, you can upload the files to your MDP installation. There are a couple of ways you can do it.

5. Go to your MDPro administration menu, go to Modules (probably under Settings if you use the organized menu), and click on Regenerate. You will see the new module listed. Click on Initialize and then Activate.

6. For modules with an administrative interface, if you are using the organized admin menu, click on Administration and then Edit (at the bottom of the page). You will need to assign the module to one of the tabs. Select the proper one according to your desires and save. The icon will now appear in the selected section.

7. Perform any atypical functions some modules require according to their instructions, such as initializing or populating the database.Some modules require that you chmod (change permissions) on specified files or directories.

8. Configure modules with an administrative interface as required and desired.

9. Add a link to the module on your menu so that your users may access it.

10. Set permissions for the module as you desire.

11. Check it as a user and make sure you have configured it properly and that it operates as expected.




A Guide to Upgrading Customized Sites

This guide is for those who have customized their MDPro sites and do not wish to lose those changes upon upgrading. Those changes could be anything from custom icons and other images to code changes. The standard upgrade method is sure to wipe out some or all of those customizations. The methods below have been designed to preserve your efforts in customizing your site.

Preparation

First of all, you should have your changes documented. Our Tips page mentions this very important step. If you have custom images such as topic icons, you should have a separate zipped package of them for safekeeping.

Next, open the upgrade package on your local computer. If you have any code changes on your list, make them in the upgrade package unless they have already been integrated or there are substantial code changes (such as from MDP 1.072 to MDP 1.1). Delete any images that would replace the custom ones on your site.

Check your list twice or as many times as necessary in order to be sure you made all the requisite changes when appropriate.

Uploading files

Once you have reviewed and revised the upgrade package, you upload the new files to your server. Alternately, you may compress them (using Winzip or some other compression utility program) upload the entire compressed package, and uncompress it on the server.

You might want to preserve the old directories and files by renaming then, An easy way it to rename them putting a 1- in from of the name. This allows you to keep the prior version in case there is some reason you may need to revert to it.

New distributions

At times the changes in a new distribution are so extensive that there is no upgrade package and an entire distribution must be installed. In such cases we have an additional step. Follow all the steps above. Create a directory, mdp for example, and upload the entire distribution into this directory. You can perform the upgrade from this directory. Assuming all goes well and your custom changes have been retained (except where the code has changed), create a directory named mdpOLD, move your present (prior) installation into this directory and then move the contents of the mdp/ directory up to the root level. When you are satisfied that there is no longer a need for any of the files in the mdpOLD directory (such as some image files you may have forgotten about), you should delete the directory.

Hacks and other refinements

If you have any, please post them on the forums (code hacks) or submit them to the downloads sections (images). Code improvements may be included and make it easier on upgrades as they won't have to be repeated. New icons can provide alternatives to the standard set included with the distribution. MDPro has been improved by many such contributions from users.




BACKGROUND AND PREPARATION

Directory




Administrator Preparation
If you will be creating your first site, you need to read this before you go any further.


The experience of people who use MDPro ranges from experienced site administrators to those who will be creating their very first site of any type. If you
are one of the latter, you have a lot of preparation and learning to do
before you will be ready to install and configure MDPro or any other
CMS.


Please understand that it would be an imposition on your part to ask basic questions
on our forums. We are all volunteers and we spend what time we can discussing
MDPro. We don't have the time to teach webmonkey basics.There are other
resources better suited to that task. It is your responsibility, not ours,
to educate yourself on the basics that will enable you to successfully
administrate your MDP site.


It is much like many classes in school or college. You need to take a basic class
to prepare you for a more advanced one.


A good place to start is HTML Goodies. They cover many of the things you will need to know with easy to follow tutorials, many written for the beginner.


Things you will need to be familiar with


CSS (cascading style sheets)


HTML (hyper text markup language)


Operation of a compression program


Operation of an FTP program


Permissions (chmod) for files and directories (i.e. 644, 666, 755, 777)


Tools you will need


A compression program such as WinZip. This will be used to uncompress
program and module distributions.


An FTP (file transfer protocol) program. You will use it to transfer
files from your computer to your MDPro installation.


See TUCOWS for your program needs.



Recommended software


phpMyAdmin The easiest way to administer a MySQL database is with phpMyAdmin. It not only aids in creating databases and editing and deleting tables and dabases,
but allows you to backup your databases as well.




Usage of This Guide

Perspective of this guide


This guide was written for absolute newcomers to MDP and was written from
the perspective of users, not developers or people very experienced with
it. It was written for the benefit of those who take a hand on approach
to learning and can find their own answers with a bit of guidance. Much
of it, in fact, was written from actual experience by a newcomer to MDP
as he learned about it.


It was also written in plain, direct terms as this ability seems to be
lacking on many technical sites.


The people who write the descriptions just don't tell people what they
want to know.


Imagine if they described (analog) television (in the U.S.) to someone
who didn't know what it is.



Developer: it scans images at 525 horizontal lines of resolution and
completely conforms to NTSC standards. It receives broadcasts in MTS
and SAP.


Person : But what does it do for me?


Duster: It lets you see pictures and hear sounds of programs of all
types, from fictional dramas to documentaries and live news.



Usage of this guide


This guide is best utilized if a newcomer reads it in its entirety, especially
the Features and Usage section.


Philosophy of this guide


This guide was written with the following beliefs in mind



Assumptions


File relationships in MDP are relative to the position of the index.php
file. For the purposes of this guide, some assumptions are made where
necessary. One is that you have MDP installed at the document root location.
The assumption is made that it is /home/your loginname/www/ and that you
will make any necessary adjustments. Another assumption is that you have
your own domain name. Finally, http://www.yourdomain.com/ has been used
where a URL is necessary as an example.


Terminology


Before you proceed, you may find it helpful to become familiar with a
few basic terms you will see mentioned over and over.


Database - A collection of information stored in a program
for easy accessibility. (See field and table.)



One example is the Internet
Movie DataBase
at http://imdb.com
It has a huge database of information about movies and television shows
that can be accessed and provide answers in a matter of seconds.



Field - A place for specific information in a database
or form, usually designated by type. For instance, this site has a contact
form. There is a text field for the sender's name, another for their e-mail
address and a text area field for the message. Other field types include
date and money (currency), which tells the program how the information
should be formatted.


Table - A table is a collection of fields in a database
or on a page, usually grouped in the same table because they are all needed
for a function or group of functions or because they are related by topic.


MySQL - An open source database program. The SQL stands
for structured query language.


PHP, PHP3, PHP4, PHP5 - Hypertext Preprocessor - PHP
is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write dynamically
generated pages quickly. Some languages do things, others get things done.
PHP is commonly known as the latter of these two. Many PHP programs use
a database as a back end (the PHP program does the work up front and MySQL
or some other database program collects and keeps the information in the
back end.)


phpMyAdmin - A program that acts as an interface (control
panel if you will) using PHP to administer MySQL databases. Databases
can be complex things to administer and phpMyAdmin makes the job easier.


MDP - An abbreviation for MDPro




What Is MDPro?

In simple terms, MDPro (MDP) is a PHP based content management system used to create and administer websites. To better understand how it can be used, one needs to be familiar with what MDP can do. Due to its modular nature, it can have many different functions added (through the addition of modules) and be tailored for nearly any use and any type of website (as far as subject matter).

MDPro is also described as a weblog (see definition below) based on PHP.

Unlike simple HTML (Hyper Text Markup Language) page websites, MDP allows direct input by visitors to a site. It also allows many different functions, all accessible from a single registration (if registration is required) and a common interface. The administrator also has a common interface.

Aside from the standard features, there are third party modules covering a variety of interests from hobbyist to commercial to allow administrators to tailor a site specifically for their area of interest.

Furthermore, the site can be administered online and remotely.

There is far more to MDP than these few paragraphs reveal and you should become better acquainted with MDP from practical, hands on experience to learn more.

Why the name MDPro?

MDPro is a product of the MAXdev project. MAXdev is short for maximum development, a reflection of the commitment the programmers have made to redefine the open source CMS and develop it to its utmost capability. The Pro from the use of the program in many professional applications at universities, institutions and other organizations, many overseen by MAXdev programmers, who thus have a personal interest in the quality of the program they continue to refine. Max is also the name of the project manager and founder of MAXdev so there is an added meaning to that part of the name.

What is a weblog?

See this site, Weblogs: a history and perspective, for a detailed explanation as well as the history of weblogs. The term weblog is sometimes shortened to blog.

From this site, a shorter definition is as follows:

A Weblog (which is sometimes written as "web log" or "weblog") is a Web site of personal or non-commercial origin that uses a dated log format that is updated on a daily or very frequent basis with new information about a particular subject or range of subjects. The information can be written by the site owner, gleaned from other Web sites or other sources, or contributed by users.

A Web log often has the quality of being a kind of "log of our times" from a particular point-of-view. Generally, Weblogs are devoted to one or several subjects or themes, usually of topical interest, and, in general, can be thought of as developing commentaries, individual or collective on their particular themes. A Weblog may consist of the recorded ideas of an individual (a sort of diary) or be a complex collaboration open to anyone. Most of the latter are moderated discussions.

What is a CMS?

There is no single definition of a content management system (CMS). Following are some examples I found on a few different websites:

As you may know, a CMS stores content in a database separately from the templates that control its appearance, so content can be updated or reused in various contexts without anyone touching the HTML. The practical result? Self-service

The definition of a content management system (CMS) is as diverse as all the people creating them, but at the very core of a CMS is the concept of separating Website layout and design from content. By doing this you provide a means for the Web Developer to do his job and not get bogged down with endless requests for content changes/additions, more importantly though, this empowers the non-Developer, (content creators) to update/create their own web pages.

Content Management Systems (CMS) are used to store and subsequently find and retrieve large amounts of data. Content Management Systems work by indexing text, audio clips, images, etc., within a database. In addition, CMS often provide version control and check in/check out capabilities. Using robust built-in search capabilities, users can quickly find a piece of content from within a database by typing in keywords, the date the element was created, the name of the author, or other search criteria.

Content Management Systems are often used to create information portals for organizations and can serve as the foundation for the practice of knowledge management. They can also be used to organize documents and media assets. For example, a newspaper agency may use a content management system to provide an archive of every story ever written for the paper. Likewise, they might use the CMS to provide an extensive library of photographs that are reusable for future stories.

What is PHP?

The definition on the PHP website defines it as:

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

If you want to learn more, follow their advice:

If you are new to PHP and want to get some idea of how it works, try the introductory tutorial. After that, check out the online manual, and the example archive sites and some of the other resources available in the links section.

PHP Hypertext Processor website

How does MDPro differ from Front Page, GoLive, DreamWeaver etc.?

Those programs and others create a website on your personal computer via HTML pages which are then uploaded to a server. MDPro is a PHP based content management system installed on the server which allows input from others directly into the site.

What is the connection to MySQL?

MDPro stores much of its data in a database, as many PHP programs do. Presently, MySQL is the primary database it uses. Oracle is supported as well and the capability to use other ones such as PostgreSQL may be added in the future.

What is a block?

A block in MDP is a section of a page that contains certain specific information. As an analogy, think of a newpaper page. Each story on a page would be a block. Some blocks consist of weather information, advertisements, a brief mention of other sections inside, and other types of information. When the newspaper page is laid out, these "blocks" may be placed at different locations on the page, although some will typically be placed at the same location in each issue.

Some examples of blocks in MDP are the main menu, login block, RSS news feed, and many others.

What is a module?

A module is a program that adds functionality not otherwise present in MDP and requires MDP for integration. Just as personal computers have an operating system (Linux, the Macintosh OS, Windows or others) and have programs that are added (say Photoshop) that add functionality not otherwise present, so it is with MDP and modules. Photoshop uses the operating system (OS) printer driver, clipboard, video display and other components of the OS. It cannot run on its own. You can think of MDP as the OS and modules as the programs that are added to it, although the level of integration is higher with modules.

What is a core block or module?

It is one that is distributed with MDP as opposed to a third party one that is added by individual administrators.

What is an add-on block or module?

It is one that is officially supported by MAXdev but is not included in the MDP distribution nor is it a third party one. Beginning with MDlite, several modules that were once core modules were removed form the distribution package and became add-on modules.

What is a theme?

One of the characteristics of a CMS (content management system) is that it separates the visual elements of a site from the content. This is done through the use of themes. Unlike desktop themes and "skins" used in many programs, a MDP theme controls far more than the color and graphics of a site. It also controls the layout of a site and the placement of various elements. This includes not only the placement of blocks but also elements within them and whether or not those elements are displayed at all.

For example, it is a theme that controls whether or not a title is shown for blocks, including center blocks. Most anything you will do to affect the appearance of your site will be done by way of themes.

What is AutoTheme?

AutoTheme (Lite) is a popular, HTML based theme engine that is part of MDPro. Its creator is one of the MAXdev developers. A licensed commercial version is available as well.

Some of the highlights of MDPro are

from user/member's perspective:

from administrator's perspective:




The Benefits of CMS and MDPro

Written by a newcomer to Post Nuke shortly after installing
version 7.2.3 (2 days after, in fact)


January 4, 2003


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, which did not exist at that time. It wasn't until I had used PN for a year and a half that I installed MDP and converted
to it.


If you have a web site or are about to open one, and expect to have more
than just a few informational pages, you may wish to consider switching
to or adding a content management system (CMS). A very popular one is
MDPro (MDP), which you have already discovered if you are reading this.
You are probably wondering why you might want to use it and what the benefits
would be. There are many. I’ll explain some of them in a moment.
First, though, a bit of background. This story is being told from practical
experience from more than 8 years of administering an online community
of enthusiasts of a leisure activity.


In communicating with other site administrators, I learned that many
sites, even those devoted to enthusiasts and participants of certain activities
whose primary purpose was not making money, had many things in common
and had similar needs for many different types of programs. This is true
of interests ranging from luxury watches to recreational vehicles. Those
needs include:



While some programs include many of these features, a site administrator
still had to have an array of separate programs to perform all these functions.
That meant different interfaces, separate and different registrations
and logins for various parts of the site, and usually a very different
look for the different programs. The different registrations easily cause
confusion for some site members. News and articles would be submitted
to the webmaster, who them had to put them on an HTML page, link and add
it to the site.

I wrote a brief article about the interoperability of programs and submitted
it to the authors of the (perl) programs I was using in 1999. While my
forum program did include many of these features, and another program
(Event Handler) was multi purpose as well, no single program did everything
and the disparate programs did not communicate with each other. Each had
a separate registration. They were simple to install (generally), but
that simplicity came at a price. They were independent from each other
and looked it. Furthermore, being perl based, they had certain limitations.


Along came PHP and open source CMS programs to change all that and further
enhance sites, adding features and benefits not possible before. This
is the fun part, where you find out the really neat stuff that MDP can
do for your site. For starters, remember that MDP is a content management
system. Its various parts and components (referred to as blocks
and modules) can share user registrations and more. That means that your
forum members who post classified ads won’t need a separate registration
for it, nor for events sign up, sending an e-card, taking a quiz, participating
in a contest or anything else. Even many PHP programs that do not have
a MDP interface module can be modified to use the MDP registration.


It gets even better though, much better. Anyone can submit news or stories
through your site without you having to format their submissions. All
you will have to do is decide whether to allow the submission to appear
on site and you can even give others access to post without your review.


My own site is about scuba diving and has a strong community spirit.
Members have gotten together offline as well as on for years. We’ve
met and gone diving together, had dinner together, and much more. Members
have contributed articles based on their knowledge and areas of expertise.
This includes doctors, ocean engineers, instructors and more.


Most online communities are built around a forum program. This is natural
since it is the program that allows the greatest interaction among the
largest number of members. However, as with my site, that community can
encompass much more than just the forums. I always seek to enhance that,
and the search brought me to Post Nuke. After installation, I discovered
Post Nuke would allow me to do the following:


Allow submission of articles and news directly onto the site without
the need for me to format them in HTML. By making it as easy as possible
for submissions, it may increase participation by others. I learned a
long time ago (or knew instinctively) that if you make things easy for
people, more of them join in. Submissions of articles by members and news
by others, like equipment recall notices, will now be easier than ever.


Allow submission of articles and news without my involvement to anyone
I give access rights to. A few environmental groups send regular notices.
I can now give them access rights and let them post their messages in
the proper section without the need for my involvement in the process.


MDP has the ability for me to program articles to appear on a designated
date. I can write a lengthy, multi part article and have each segment
appear when I want it simply by designating the desired dates for each
segment. I suppose the same is true of news.


Allow comments by members on any article. As in discussion on a forum,
other people may be able to add to a piece. There is also a module named
Wiki that allows several people to collaborate in writing articles.


Have a section for reviews of equipment, resorts and more that will remain
easily accessible. When posted on a forum, they eventually disappear from
view. Now they can appear in a section all their own.


Organize files available for download better. Right now, there are downloadable
files in appropriate sections throughout the site. MDP will allow me to
consolidate them in an easy manner showing all available files


The ability to offer choices. This is one of the most appealing things
about PHP and MDP to me. I can have an ornate, graphics intensive view
and have fun being creative, a graphics moderate view similar to what
I presently use, and a plain, black on white view for all those members
and viewers around the world who have slower connections. Some of them
even pay by the time they use and have nothing available faster than 28k.
My buddy Mike on Fiji and many others have very limited connections, I
can cater to their interests without sacrificing the visual appeal to
others.


Multiple languages. I actually have a limited amount of content in several
other languages and some of the links I have are multi-lingual as well.
I’ve marked them with flags of the appropriate country. MDP allows
me to mark them even easier, and people can filter out all other links
and see only those in the language they choose.


All the above are possible with MDP and the modules and blocks included
with it in the distribution file right now. There are other modules and
programs, third party ones, that can do even more. A gallery module will
allow me to have an onsite gallery of our members and our diving trips,
administered by one of our members. We no longer have to rely on sites
like Photopoint or Yahoo that strand users with no photos ( lost when
they have a change in policy and are no longer free or close up altogether).


A PHP forum program is an important part of any online community using
a CMS like MDP. Many such programs can announce the birthdays of members.
Using an e-card module (in MDP), they can be sent electronic birthday cards.
Incidentally, members can submit their own photos and artwork for consideration
for inclusion for use in e-cards


A calendar with events sign up is included. My forum program has that
now but having it in MDP will allow for announcement of more events from
a wider range of sources, including all the expositions around the world.
Links submission, another feature my forum has, is also included in MDP.
This allows members or the unregistered, (as you choose) to submit links.


A lot of features that are normally found only in certain forum programs
are a part of MDP. This includes the recommend to a friend feature, the
ability to e-mail to all members, and many more. There are lots of neat
little features too, like ephemerids. They are a “this day in history”
type feature. A site search engine is naturally included.


Except for the gallery module, I haven’t even touched on third party
modules, blocks and programs. There seems to be a lot of interest in MDP
and a number of developers working on it as well as integrating third
party programs into it. Between a module named Post Wrap that someone
wrote and a data bridge under development, it is or will be possible to
integrate existing sites and other PHP programs. Be sure to check both
out if you decide to use MDP.


I have a neat little script that does equipment checklists that I’m
looking forward to integrating in MDP on my site. It looks like it will
be simple enough, even without that data bridge.


One last thing for now, since a MDP site is administered via the web,
it is easy to make changes while you are away. In my case, with a notebook
computer or access at a cybercafe, I could add daily reports from one
of our group dive trips.


I’m still learning about what MDP can do, as well as learning how
to do certain things. I will revise or add to this article as I learn
more, helping others who discover MDP decide why they might want to use
it and how it can benefit them and their online communities. In short,
it expands the concept of an online community from a forum program to
an entire site and makes it easy to encourage greater participation. It
takes a whole solution approach, everything from online editing and submissions,
to a unified, integrated approach to what otherwise would be separate
programs with their own separate registrations and interfaces. Much of
what MDP can do I envisioned years ago. It just took a few years for the
software to catch up to my vision. You don’t have to wait. You can
download MDPro now and get started right away.




A Guide to Converting an Existing HTML Site to MDPro
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.





System Requirements


MDPro will typically be run on a web server in order to make the files accessible to the public. It can also run on many contemporary personal computers and some admins will do so in order to have an offline computer as a development platform.

Hardware requirements

Hardware requirements are easy enough. Any contemporary web server is likely able to run MDP with the proper software installed. Hard disk storage requirements and memory (RAM) requirements will vary with the traffic and file storage of each site.

MDPro is platform independent and can run on UNIX and compatible systems (Linux, BSD, etc.) and Windows platforms.

MDP can run on a web server or personal computer with any of the following operating systems: Linux, UNIX, BSD, Mac OS X (a UNIX based OS), Solaris, Sun Cobalt OS (RAQ4), AIX, Windows 98/NT/2000/XP

A properly configured and working e-mail transport system (i.e. Sendmail, Q-Mail, etc.) is necessary in order to make use of the e-mail notification features in MDP.

Software requirements include

PHP, version 4.0.1pl2 or higher, compiled with MySQL support.

MySQL database management system, 3.23 or higher or Oracle. Note that some third party modules may only function under MySQL.

MDPro of course. It needs a minimum of 25 megabytes of storage space at present..

Recommended software

phpMyAdmin The easiest way to administer a MySQL database is with phpMyAdmin. It not only aids in creating databases and editing and deleting tables and dabases, but allows you to backup your databases as well.

PHP Accelerator - The ionCube PHP Accelerator is an easily installed PHP Zend engine extension that provides a PHP cache and is capable of delivering a substantial acceleration of PHP scripts without requiring any script changes, loss of dynamic content, or other application compromises.

* Enabling GZIP compression within PHP is an easy way to add some speed to your site.

XAMPP - XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl. It allows you to setup an MDPro installation on your own personal computer for testing and setup prior to uploading the changes to your website. There are currently four distributions, XAMPP for Linux, XAMPP for Windows, XAMPP for MacOS X and XAMPP for Solaris.





FEATURES AND USAGE

Directory




Features and Usage Table of Contents

Descriptions of other features will be added as more is learned about them.

Also see tutorials on the maxdev.com site on such things as AutoTheme, channels and permissions for greater coverage of these issues than will be found here at present.

Administration Menu
Not On Administration Menu
Features



Your (My) Account

The link on the menu to this module appears as My Account.

This is a personal page for each registered user that includes links to several modules. These include

Additionally, some third party modules may add links of their own,

Links to other functions are included on this page as well.

The last 10 comments and last 10 articles posted by the user are shown also.




Admin

This module controls three things, programming news stories (articles), the appearance and functionality of the organized admin section.

There are a few options for displaying the admin menu. In Settings, enabling or disabling Show admin menu graphics? will show admin icons or not. Note however that this works only on the basic admin menu, not the organized one shown below. The organized menu has no option for disabling admin icons. Admin menu selections can be displayed all on a single page or organized into sections (tabs). The default setting is Use extended admin, which organizes the elements into 5 tabs. These are

News

  • Add news story
  • Daily Archives
  • Messages
  • News
  • Submit News

Contents

  • Banners
  • Downloads
  • Ephemerids
  • FAQ
  • Links
  • Polls
  • Reviews
  • Subjects

Members

  • Admin Users
  • Dynamic Users
  • Groups
  • Mail users
  • Permissions

Settings

  • AutoLinks
  • AutoTheme
  • Blocks
  • Comments
  • Error
  • Languages
  • MDMenus
  • Modules
  • Most Popular Items Lists
  • Settings
  • Topics

Utilities

  • Database Tools (Backup)
  • EW FileManager
  • HTTP Referrers

 


Edit admin menu

News   Contents   Members   Settings   Utilities
   

Removed old modules that are no longer in use.

Module Version
Tab
RteMulti 0.9.2 Inactive

Restore settings

Edit admin OR
Restore settings