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

LogOut
LogOut

Adding New and Third Party Modules

The admin icon for new (previously unactivated) and third party modules (in other words, all new modules) does not appear automatically on the admin menu. There is no way of knowing under which tab it should be located. If you have installed any new modules, go into the admin menu and click on the Edit admin link at the bottom. It will take you to the edit admin screen replicated above. You will see the new modules appear near the bottom, where the RteMulti module appears in our example. You may select which tab under which to place the module.

By cicking on Edit Tab, you may rename it, delete it and move its elements to other tabs. You may alsxo make one tab the default tab. This will be the one you initially go to when you click on Administration.


Edit tabname
Delete this tab
Move deleted content to this tab
Make this the default tab
 

Module Version Tab
Add news story 1.0 Active
Admin Messages 1.2 Active
Daily Archive 1.01 Active
News 1.5 Active
Submit News 1.13 Active
   

You may add tabs and rename existing ones to anything you like. Following is an actual example of tab names and their elements from one site.

News
Contents
Members
Settings
Utilities
  • Add news story
  • Admin Messages
  • Daily Archive
  • News
  • Submit News
  • Amazon
  • Business Card
  • Calendar
  • Classifieds
  • Downloads
  • Ephemerids
  • FAQ
  • Links
  • Member Pages
  • Polls
  • Quotes
  • Reviews
  • Subjects
  • Admin Users
  • Dynamic Users
  • Groups
  • Mail users
  • Permissions
  • pncUserPoints
  • AutoLinks
  • AutoTheme
  • Blocks
  • Comments
  • Error
  • Languages
  • MDContact
  • MDMenus
  • Modules
  • Most Popular Items
  • Ratings
  • Settings
  • Topics
  • Database tools
  • EW FileManager
  • HTTP Referrer
  • RTE Multieditor

 

 




Wiki

The Wiki module in MDP is a Wiki support module rather than an actual Wiki module. References to Wiki throughout MDP are to hooks to enable the use of Wiki and are not a Wiki module themselves.

Wiki is supposed to allow collaboration on writing documentation. Unfortunately, Wiki modules tend to either not function properly or lack important features. MediaWiki is a good program but it is a stand alone program, not a module.

MediaWiki




User Administration

This feature allows the administrator to add new users and to access and edit the information for registered users.


Administration menu

[ Online manual ]

User administration

Edit user

Add a new user

 

Username (required)
E-mail address (required)
Password (required)


USAGE

To edit an user, just select his or her username then click on "modify" and validate by clicking "ok". You will then be transferred to his profile page where you can edit all his details including his password. If you leave the password fields blank, only those fields you changed will be affected and the password will remain the same. To save the changes, click on "Save Changes".

To delete an user, just select his or her username in the dropdown list, select "delete" and validate by clicking "ok" (a confirmation is required).

To add a user manually (not using the main registration page), fill in the different fields then click on "Add User". Please note that by doing this, the user will immediately be able to login (no validation by an administrator is required).


Administration menu

[ Online manual ]

User Register Configuration

Allow new user registrations: Yes No
If No, describe reasons here:
Minimum age: Sets the required age to register (0=No age check)
Minimum users password length:


USAGE

To allow the registration of new users, select "Yes". If you choose "No" (such as when the admin registers the users or you want to limit the number of users), you can display a message to describe the reason(s) why registration is disabled.

To set up an age limit for your website (ie your website has content for adults only), you can set the minimum required age to be an user of your website. If you don't want a minimum age, put 0. Please note that if you do put an age limit, the user will have to accept a disclaimer warning him of the content of the website and he will have to certify that he is of age to access it. No actual proof is required, just a moral agreement (as opposed to a parental control filter system). Thirteen is set as the default minimum age because of the Children's Online Privacy Protection Act of 1998 (COPPA) in the U.S. There are certain restrictions in the gathering of information about children and making it public that administrators should be familiar with.

You can also set the minimum length of the users' password (3, 5, 8 or 10 characters). It is not a good idea to make it too short.


Administration menu

[ Online manual ]

User Configuration add-on

Initial group for users :: -- Group
Moderation mode On Yes No
Allow users to override theme? : Yes No
Authorize user chosen password : Yes No Yes No
User can request deletion of their account : Yes No Yes No
Full profile on registration : Yes No Yes No
Allow user to set its Personal Avatar Yes No Yes No
Maximum File Size (in bytes) bytes
Filetypes Allowed eg. gif,jpeg,jpg,png
Maximum Dimensions (in pixels) x


USAGE

Initial group for users: to set up an initial group for your newly registered user, just select a group in the dropdown menu. For example, all your new users will be in the group "member" by default. Then if they subscribe to your service, you can upgrade them to "premium member".

Moderation mode on: if you select "Yes", it means that the registration is controlled by the administrator. The account needs to be checked and validated to become active. People can register but their registration is held for review by the administrator, who may validate it or reject it. If approved, a validation message is sent to the e-mail address on record.

Allow users to override theme: if you select "Yes", the user can select a pre-determined theme that will be loaded everytime s/he is logged-in. You will need at least 2 themes in your themes folder for this to be functional.

Authorize user chosen password: you can either let user to choose their own password (by selecting Yes) or have one randomly created and sent to their email address (by selecting No). It's usually a good way to check that the email address provided is valid.

User can request deletion of their account: The request for deletion is held for review by the administrator. There is no deletion by users, only a request for deletion.

Full profile on registration: if you select "Yes", all the active fields (see dynamic user) will be displayed. If you choose "No", only the required fields will appear.

Allow user to set its Personal Avatar: this authorizes users to upload their own avatar. If you choose "Yes", you will need to set up the following fields below.

Maximum File Size (in bytes): maximum avatar file size in bytes (NB: 1 Kb = 1,024 bytes). A too large avatar can considerably increase your page loading time so it is a good idea to set limits.

Filetypes allowed: enter the extension of the file you want to accept, the most common ones are already listed.

Maximum Dimensions (in pixels): maximum avatar size in pixels. A too large avatar can disturb the layout of your pages, especially in the forum, so it is a good idea to set limits.


Administration menu

[ Online manual ]

Configuration mail add-on

Receive email message for each registration: Yes No
Send password to user (if choosing is allowed): Yes No
Receive email for each account deletion request: Yes No

USAGE

Receive email message for each registration: click "Yes" and you (as the admin) will receive an email message everytime a new user is registered.

Send password to user (if choosing is allowed): If you choose to authorize users to choose their own password, you can send them an email message automatically with a summary of their details by clicking "Yes". If they are not authorized, the password is sent to them anyway.

Receive email for each account deletion request: if you chose earlier to authorize user to request deletion of their account, you can be notified everytime this request is made by email by clicking "Yes".


Moderation Mode

Email User when request saved: Yes No
Email Admin for each registration request: Yes No
Email User when request has been accepted: Yes No
Email User when request has been rejected: Yes No

USAGE

If you have chosen to moderate registration earlier on, you can set up a few things here.

Email User when request saved: Click "Yes" and the user will be notified that his or her account is awaiting validation.

Email Admin for each registration request:: Click "Yes" and the administrator will be notified by e-mail that an account is awaiting validation. If "No" is selected, admin wil be notified onsite in the Incoming block.

Email User when request has been accepted: Click "Yes" and the user will be notified that his account is now active.

Email User when request has been rejected: Click "Yes" and the user will be notified that his account has been rejected. Be careful of enabling this option, especially if you have known spammers attempting to register on your site, as they will then know your e-mail address.


Private Message Mode

Send user greeting-PM after registration Yes No
Emoticon for the PM [icon_wink.gif]
Subject
Greeting text
E-mail account (from):

 




Subjects

Subjects are used for storing articles, and information of a less time sensitive nature. This is where you would place informative guides, basic and general information and articles that do not need frequent updating. From the same page, you may create a new subject and add a new article to an existing section.

You may add the article text directly into the site or substitute a link to an existing page using one of the various wrapper techniques (Nuke Wrapper, Post Wrap, etc.)

Subjects 2.0 Usage Manual

I. Module Purpose

II. Definitions of terms

1. Categories

2. Subjects

3. Pages

4. Subpages

5. Title

6. Description

7. Keywords

8. Content

9. Activate

III. Multi-languages

IV. Page Submissions by user

V. Permissions

VI. Hack header.php

I. Module Purpose

Module is designed for structured storage and display of textual content with the optional ability to store content in files on the hard drive. Subjects is probably the best means for converting existing HTML pages to a dynamic CMS site.

II. Definition of terms

1. Categories
These are top level categories They may not not be used on some sites. If a category has no subjects within it, it will not be displayed to users. Once created, a category will be displayed as a link, even in a block. Click this link and you'll only see subjects belonging this category displayed on the page
2. Subjects
These are classifications or sections .They are displayed on the subject module's main page. They may be independent or may be within a category. They contain pages within them.
3. Pages

These are the main content items and must be part of a subject. They are stored and displayed inside a subject. Along with textual content they also can include attached subpages which can be listed as links (use

on the place where are you want links to appear).

The content of the page itself can be stored in the database or in a file on the hard drive. Any page may contain an unlimited number of subpages.

4. Subpages
Like pages, subpages are items of content and must belong to a page. The only difference is that they cannot have certain attributes (author, logo, etc.) and reviews but may be activated or deactivated for display. Subpages can also have attached subpages of their own in an infinite number of sublevels.
5. Title
This is a required attribute for any element of the module - Category, Subject, Page or Subpage.
Its main purpose is to be used as content of tag <title>...</title>. See "Hack of header.php"

6. Description

This is an optional but important field. Displays description of title in the browser title area. Content of this field is also used as content of <meta description> tag, if filled out.

7. Keywords

Your keywords for search engines. Content of this field is never displayed the browser title area but is used as the <meta keywords> tag.

They use the inheritance principle.

When you create a new category this field will import meta-keywords from you site config settings. You can easily change them and content will be stored in database (DB) and used as content for <meta keywords> tag when list of subjects attached to a category is displayed.

Next, when you create new subjects under a category, content of keywords field for a category will import the subject's keywords field, which you can change at any time. As before, this field is used for content of <meta keywords> tag on the page which displays pages in a subject. The same rule applies for any level of module's items.

8. Content

Value of this field is your content, your article, whatever you have to say. There are two ways to store the content of this field:

1. Store it in the database. Just fill out this field with your text (HTML formatting only for now) using text area or the WYSIWYG built-in editor, then you press the "Add" button. Your text will be stored in DB.

2. Store in file on the hard drive. The data will be retrieved by the module and displayed for the user who accesses it via a browser.

There are two ways to deliver file with content to the hard drive:

NOTE:
You don't need to use <html>, <body>, <head> for formatting you content. Just real formatting tags like <p>, <br>, etc.
Module assumes that all files with content will be stored in modules/subjects/pages/ directory. Use only the part of the path after modules/subjects/pages/ when you are pointing page or subpage to your content file.

Warning : To be able to write to file you have to set appropriate permissions, but you needn't be concerned about them if you are using ew_filemanager.

You can easily change way of storing for your pages or subpages. For example, you have a page with content stored in DB. Go to 'Edit' this Page and indicate filename in the appropriate field. When you click the 'Save' button, module will create file with content and remove this content from DB, and vice versa. If you have content of a page stored in file, just empty field with filename when you are in 'Edit' and press 'Save'. Content will then be stored in DB (16 Mb maximum). You have to delete file from the hard drive by yourself. The module will not delete it for you.

9. Activate Page (Subpage)

You have to activate pages or subpages to be displayed for users. They are activated by default. However, if you want to postpone publishing a page, such as when it is a work still in progress, you can uncheck this option and page will stored in DB (in file) but will not displayed to users.

You can change the status of a page or subpage to at any time to either active or inactive. You can even program a page to be displayed on a particular date and time but it must be activated first.

III. Multi-languages

The module is multi-language.

It works in the following way:

Module checks browser language for current user language only for the Subjects module. Therefore, if Subjects is set for 'rus' language it will never display for users browsing site with 'eng' language set in their browsers. In addition, pages and subpages attached to a subject will not display either. Assuming that a category usually contains subjects in only one language, if none of the subjects under a category match user's language, no category will be displayed for this user.

The same rules apply for blocks.

IV. Page Submissions by user

User with ACCESS_COMMENT permissions can submit a new page. He will see 'Submit page' link on the top of Page lists pages. After submission is done, page will be stored in DB with the status 'inactive' and link to the waiting content displayed in Subjects' block. To publish a submitted page, admin needs to change status for this Page to 'active'.

V. Permissions

Module checks for access level for the following module's items: Access levels: A new permissions system for Subjects is in the early stages of development. At present, we offer you the choice of the two models of permissions systems as we develop a more flexible and universal algorithm.

Model #1 - 'inheritance'

In a few words - this model is for a large amount of content and sites with several co-admins.

The main point of the model is that any privileges granted to higher (parent) level of content are inherited by subordinate levels..

For example, you grant to a group or user 'EDIT' privileges for a category. In such a case all subjects with pages and subpages which belong to this category will have 'EDIT' privileges for this group or user.

If you want to 'downgrade' permissions level for this group, such as to 'READ' inside THIS category - it will NOT work.

Another example. If you have 'Comments' permissions for group 'User' for all content on the site (Users--.*--.*--Comment) you cannot downgrade this level for the Subjects module.

Meanwhile, you can easily upgrade the permission level for different groups, e.g., from 'COMMENT' to 'EDIT' for subject in a category.

In general for this module - you have to always go UP for the access level while going down with content level and each 'daughter' level inherits rights from parent level

Notes:
Options marked with * are reserved for future versions and may work abnormally in v2.02.

This model of permissions system is the default.

Model #2 - 'per item' or 'unheritable'

This is the common PostNuke rules based model. This model is useful for sites without much content or where the admin needs to hide some content from some groups or hasn't many assistants.

Summary, everything is permitted if not restricted, but daughter content levels do not inherit rights from parents.

This model allows you to set privileges separately for each item of content. You can also easily upgrade and downgrade permissions level for any level of content. BUT you have to be very clear when granting rights if they are different than module permissions.

For example, you want to hide one category with all subjects and pages. In this case you have to step by step restrict all items inside this category.

It should looks like the following:

Group Component Instance Permissions level
Users subjects::category ::1 None
Users subjects::subject ::(1|2|3) None
Users subjects::page ::(1|2|3|4|5|7) None
Users subjects:: .* Comment

This example means that group Users can see in category with id=1 containing subjects with ids = 1, 2 and 3 only page with id=6 or id > 7 if exist and if only indicate direct links to those pages.

Notice:
If you have chosen model #2 you have to change some code in /modules/subjects/pnuserapi.php as the following:

We apologize for any possible inconvenience.


Statistics

This feature shows several access statistics. At the top of the page, there is an access history revealing the least and most visits and when they occurred, including the hour. The number of hits today and yesterday are shown also.

Removing mention of MDPro

Some admins don't want to reveal that they are using MDPro. Their reasons include not wanting to let their competitors know what program they are using. The line in the statistics module, MDPro version, lets anyone seeing the stats know what program is in use. One way to prevent this disclosure is to use permissions to restrict access to stats to administrators. Another way is to delete the reference to MDP. This is done by editing the file modules/Stats/lang/eng/global.php and deleting the line MDPro version. Do the same for any other language you are using, substituting the appropriate language(s)

Resetting statistics

The Stats module statistics are cumulative, based on the beginning of the site. Thus, once a site is older than a year, some statistics will include those from the same month of previous years. For this reason, some MDP administrators will want to reset the access statistics every year. This can be done easily enough. The easiest way requires the use of phpMyAdmin. You should have it installed as it makes it much easier to perform certain administrative duties.

Before you reset the statistics and lose historical statistical data forever, consider instead installing the statistics module at http://www.mtrad.com/. It can separate data by year, thus allowing for showing current statistics as well as those from previous years.

If you want to reset your statistics anyway, be sure to adhere to the following instructions precisely.

First, backup your database. Your site can be restored if there are any errors, but only if you back it up first. You should be in the habit of backing up before any changes to the database.

Next, enter the SQL portion (tab) of phpMyAdmin after selecting your database. Enter the following code in the text area:

UPDATE md_stats_date SET pn_hits = 0;
UPDATE md_stats_hour SET pn_hits = 0;
UPDATE md_stats_month SET pn_hits = 0;
UPDATE md_stats_week SET pn_hits = 0;
UPDATE md_counter SET pn_count = 0;

Press Go.

You will see the following message:

Your query has been successful.

UPDATE md_stats_date SET pn_hits = 0;
UPDATE md_stats_hour SET pn_hits = 0;
UPDATE md_stats_month SET pn_hits = 0;
UPDATE md_stats_week SET pn_hits = 0;
UPDATE md_counter SET pn_count = 0;

You have reset all the access statistics though not the data under Miscellaneous Statistics. Please note that the data in the Most Popular Lists area remains unaffected as well.

Note that reference is still made to when the site began. In the first line under the title, We have received XXX pages views since date, 0 today, and 0 yesterday.date is taken from the site start date under Settings.




Settings

This is where several parameters are set for the site.

Website Configuration

General Site Info

   

Site name:

 
Site logo: Named logo.gif and located in the images directory. This logo has nothing to do with your theme logo which you need to include for each theme. By default, the MDP logo is included. This image is shown on other sites when they get a news feed from yours and they enable images. See backend below.
Description of site: This field should include a description suitable for search engines. See MDPro and Search Engines.
Meta keywords: These would be the descriptive meta keywords that only a few (if any) search engines use. Alta Vista may still use them.
Dynamic MetaKeywords Yes   No 
When this option is enabled, whenever an article is being displayed, all the words in it become meta keywords which are generated dynamically. Enabling this feature incurs a slight performance cost.
Use organized admin Yes   No 
The Yes selection places admin icons under different tabs. Selecting No places them all together.
Site start date: (Statistics uses this as the starting date of your site. If you had an HTML site prior to a MDP site, you should enter the starting date of your MDP site rather than the date you started your HTML site).
Administrator e-mail: This is the from e-mail address for any messages sent automatically by MDP or any third party modules. Beware if you are sending a message to any site spammers use as they will get this e-mail address.
Default theme for your site:
This is the theme you would like users to see when they access your site. Once registered and logged in, they may choose another one for their own viewing if enabled below.
Allow users to override theme? Yes   No

This is where you allow users to choose any other theme you may have installed.

Note: If you allow users to override your default theme setting and later change this setting to "No" or you delete themes that some may have chosen, those users will be denied access. You will have to edit each of their preferences and manually change each one to the default theme in order to restore their access. They will see a blank page otherwise.

Allow user to change channel? Yes   No 
You must have Channels installed for this to function.
Display Right Blocks in Articles? Yes   No
When displaying the full article (click on "read more...), you can decide whether to show your right blocks or not.
Locale time format:
This determines the time and date format displayed on the site.
Time zone offset:
This is the time zone your server is located in. The offset is from Greenwich Mean Time (GMT)

Start page.
The module index.php is pointing to.This is the one that will appear in your central area on your homepage.
# of articles on Admin menu:
You can decide here how many articles to be displayed on the Main Administration menu (below programmed articles).
Stories # on homepage: You can decide here how many articles to be displayed on the homepage (if News is selected as your module start page). Please be aware that the more stories you display, the longer it will take for your page to load and it might put your visitors off if the first page they load takes too long! Remember that registered users can change this value to whatever they want so this is just a default value for non-registered users.
Stories order on homepage:
You can order the news stories on your homepage by ID or by Date/time (which is in most cases the same order anyway).
Show admin menu graphics? Yes   No
Determines whether icons are displayed in the administration menu
Send Error reports by email: Don't send error reports   For referrers from this domain only   For all referrers
This enables and configures the ability for the administrator to be notified if users request a non-existent page.
Enable funny error message in error.php Yes   No
This enables a slightly humorous 404 error page. See Error.
Enable pnAntiCracker? Yes   No
The pnAntiCracker is a security system that stops hackers from sending queries to your database using input fields and alerts you as the administrator.
Enable Security Code for login? Yes   No
This enables the graphic security code images for logging in to the site.
Enable Security Code for new registration? Yes   No
This enables the graphic security code images for registering on the site.
Initial group for users
This is the group people will be placed in upon registration. It is related to the minimum permissions you wish to give them. See both Groups and Permissions.
Select the language for your site:
This is the primary language for your site. You may add additional language packs at any time.
Detect language?
You can choose to let MDPro detect the language of your users (using the browser settings) or not.
Activate compression?
Activate compression or not. Uses the GZIP compression system, this can accelerate the page loading.

Footer Messages

Footer Line

Backend Configuration

This is the title and language seen on other sites if they use your site as an RSS news feed.

If you wish them to do so, they should use the URL http://www.yoursite.com/backend.php.

By default, this feature is enabled. To disable it, rename or delete backend.php or move it elsewhere.

Backend title:
Since the site name is automatically displayed on other site, this should be a one line description of your type of news, perhaps the content of your site.
Backend language:

Security Options

Security level:
You can decide the security level of your site by deciding how long cookies can stay active. The higher the setting, the more secure your site is, while the less convenient it is for your users.
For medium security, users stay logged in for: days
If you choose the medium setting, you need to decide how long can users stay logged in.
Users become inactive after not using the system for: minutes
If no activity is detected in X minutes from your user's browser, it is automatically logged-out.
Check referer on printer friendly page?

Run on intranet

Intranet Yes  No

 

Intranet should only be turned on if you cannot access MDPro with a fully-qualified host name (eg www.mysite.com). Enabling intranet removes a number of levels of security from MDPro. It is not recommended to run in this mode unless you are behind a firewall and users outside the firewall cannot gain access to your MDPro site

HTML Options

This is where you specify which HTML tags can be used on the site. It applies to administrators as well as users.

HTML tags allowed in posts:

TagNot allowedAllowedAllowed with parameters
<!-->
<a>
<abbr>
<acronym>
<address>
<applet>
<area>
<b>
<base>
<basefont>
<bdo>
<big>
<blockquote>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<del>
<dfn>
<dir>
<div>
<dl>
<dd>
<dt>
<em>
<embed>
<fieldset>
<font>
<form>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<hr>
<i>
<iframe>
<img>
<input>
<ins>
<kbd>
<label>
<legend>
<li>
<map>
<marquee>
<menu>
<nobr>
<object>
<ol>
<optgroup>
<option>
<p>
<param>
<pre>
<q>
<s>
<samp>
<script>
<select>
<small>
<span>
<strike>
<strong>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<tr>
<tt>
<u>
<ul>
<var>

 

WARNING: enabling the <img>, <span>, <marquee> <script> <embed> <object> or <iframe> tags can leave your users open to attacks that will reveal their personal information, and as such it is recommended that you keep the setting for this tag to "Not allowed" unless you are absolutely sure that you understand what enabling the tag will allow
Translate embedded HTML entities into real charactersYes   No


Not allowed: The HTML tag is not allowed in any post.

Allowed: The HTML tag is allowed without any parameters. This is useful for text-formatting tags (for example, <b> and </b> for bold or <i> and </i> for italic).

Allowed with parameters: The HTML tag is allowed with parameters. An example of a tag with parameters is <font type="Arial" color="#FF0000">.

Translate embedded HTML entities into real characters: Embedded HTML entities usually begin with "&#", and pertain mostly to multi-byte languages such as Korean or other Asian languages. If you do not use multiple languages on your web site, or if your language does not require multi-byte support, you should set this to "No".

Click "Save Changes" to save any and all changes on this page.




RTE Multi Editor

RTE (rich text editor) multi editor is a WYSIWYG (what you see is what you get) editor based on Htmlarea and is a replacement for any <textarea> field. It was developed specifically for MDPro. Instead of teaching your software users how to code basic HTML to format their content, they can use RTE multi editor to:

Editors Preferences

This is the main configuration section of RTE, the WYSIWYG editor of MDPro. You will specify all the settings for activation and configuration here.

Type Configuration

If you want to activate RTE only for some specific textareas you have to add it here.
To activate the editor you need only to setup 3 fields:

Type of editor: rtemulti [as default, do not change]
Name of module: Enter the name of the module where you want to change one or more textarea fields
Name of textarea: Enter the fieldname of textarea. You get the name if you jump to the specific page and take a look into the source code. There you can search for <textarea. You can find it behind the parameter name=

All other fields are optional and not necessary for activation.
At the moment, only textareas which will be called over index.php, admin.php and modules.php can be activated, which means that user administration fields [user.php] are not supported yet..

View

Shows all activations. Here you can edit or delete the settings for it.

Edit: Modify the entry.
Delete: Delete the entry.

General Configuration

Enter all general settings for sitewide RTE configuration. Here are some options for RTE. They can be useful also for other modules and functions.

Full URL: Enter the complete URL of your MDPro installation. This includes the HTTP://, IP or domain-name and subfolder.
Blank it out to generate a default setting. The program will try to grab the correct value for you.

RTE home: Enter the complete URL or only the (relative to your MDPro installation) folder where RTE is installed.
Blank it out to generate a default setting (s.a.)

Root path: Enter the complete server path of your MDPro installation. This is NOT the URL! You need to know the directory structure of your server.
Blank it out to generate a default setting (s.a.)

RTE root path: Enter the complete server path to the home folder of RTE.
Blank it out to generate a default setting (s.a.)

Ignore folders: Enter the folder names which are forbidden in directory browser. This browser is shown up if you want to include an image or a file-link. Enter the names comma separated and case sensitive.

Image extensions: Enter image extensions of allowed images which will be shown in the directory browser [Insert Image part]. Enter the extensions comma separated.

File extensions: Enter file extensions of allowed files which will be shown in the directory browser [Insert Link part]. Enter the extensions comma separated.

Upload dir: Enter the complete server path of the upload folder. Same procedures as for RTE home.
Blank it out to generate a default setting (s.a.)

Size limit: Enter the size limit for uploading files in bytes. You can not use MB
[ i.e. 4 MB :: 4 * 1024 = 4096 bytes ]

Filename limit: Enter file extensions which are allowed for uploading. Not only images, every extensions are possible. Enter the extensions comma separated.

activate size limit: Activate/deactivate file size limit.

activate file limit: Activate/deactivate file extension limit.

activate RTE: Activate/deactivate RTE generally. This means if you deactivate RTE here, RTE will not be loading. You see normal textareas instead again.

activate Context Menu: Activate/deactivate Context Menu If activate you get a Context Menu popup if you click with right mouse button into a RTE text box.

RTE dimensions: Enter the height and width for the RTE text boxes in "px".

activate RTE for: Here you can select if you want to activate RTE only for specific textareas or generally for all textareas.

Toolbar Configuration

Here you can setup your toolbars. Normally (all buttons) you can see 3 standard toolbars and 1 additional toolbar for table operations. On this screen I have split several buttons into 10 button-groups. Now you can move this groups around like you want. Later you can hide some buttons of not needed functionalities. Look to the default settings. The numbers stand for the order of the groups on the toolbars.

1st toolbar: The topmost toolbar. This is the main toolbar. If you deselect all button-groups or hide all buttons, a default minimum toolbar will be generate.

2nd toolbar: Second row. If you set no button-groups on this toolbar or hide all buttons within the selected groups this bar will be deleted.

3rd toolbar: Same as 2nd toolbar.

not set: Here you can place all groups you do not want to set. A number order is not important.

table operations: This is an optional toolbar which is loaded from the table-plug in. You can not deactivate this toolbar at this place. Take a look at Hide Buttons of this manual.

Hide Buttons

Here you can hide some (or all) buttons on toolbars. This can be done for each user group separately. All available groups will be listed. This means:
A user of "Users" can have an other toolbar as one of "Staff Writers".
Limitation: If a user is member of "Users" and "Staff Writers" he will see the toolbar of "Users" because the group-ID of "Users" is lower than the other. Please notice that.

User group ID: Shows the ID generated and stored in the database. It is the order for this listing.

User group Name: Shows the name of the group.

Hidden buttons: Shows a list of all hidden buttons for this group. The names are aliases RTE needed. Do not change or translate them!

Edit: Modify this entry.

Delete: Delete this entry.




Reviews

The review feature is used for you or your site users to submit reviews related to the content of your site. Unfortunately, this feature lacks the ability to add categories (sub-levels). Reviews for MDPro, a third party module, fixes this shortcoming and adds other features.

Write a review for [Site name entered automatically]

Please enter all information

Subject title:

Name of the reviewed subject.

Language:

Review: