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.
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
If you will be creating your first site, you need to read this before
you go any further.
Read the perspective of these guides and learn some of the basic terminology
you will see used often
Learn what a CMS is, what MDPro is, a bit about PHP, and what some of
the benefits of a CMS are.
Learn of some of the benefits of a CMS over a conventional HTML web site.
This guide is intended to help site administrators who have an existing
HTML web site and are considering changing over to a CMS.
Web server requirements for running MDPro
How to FAQ - Answers to commonly asked questions
about configuring MDP and finding resources
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.
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
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.
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 are on shared server hosting and cannot create your own databases, click here
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:
$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.
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.
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!
$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.
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.
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.
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!
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.
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.
| 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 |
|
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.
| Owner | Group | Other | |
| Read | X | X | X |
| Write | X | X | X |
| Execute |
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.
| 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 |
|
|
|
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
This guide is best utilized if a newcomer reads it in its entirety, especially
the Features and Usage section.
This guide was written with the following beliefs in mind
"Everything should be made as simple as possible, but not
simpler."
Albert Einstein
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
It is one that is distributed with MDP as opposed to a third party one that is added by individual administrators.
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.
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.
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.
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.
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.
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.
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.
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..
| 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.
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.
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.
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.
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.)
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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..
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.
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.
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.
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
Edit admin menu
| ||||||||||||||
|
Removed old modules that are no longer in use.
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.
This feature allows the administrator to add new users and to access and edit the information for registered users.
Administration menu
[ Online manual ]
| Username | (required) |
| E-mail address | (required) |
| Password | (required) |
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 ]
| 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: |
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 ]
| 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 |
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 ]
| 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 |
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".
| 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 |
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.
| Send user greeting-PM after registration | Yes No |
| Emoticon for the PM | [icon_wink.gif] |
| Subject | |
| Greeting text |
Send user greeting-PM after registration: after an user has been successfully registered, you can welcome him or her by sending a private message by clicking "Yes".
Emoticon for the PM: type in the name of the file for the emoticon you wish to append to the welcome message. Emoticons are located in "images/smilies".
Subject: enter the subject of your message (ie "Welcome!"; "Greetings!"; ...) .
Greeting text: type in your actual message. This could be a request to read the site FAQ or anything else you like.
| Convert UserRegistration Date: | The old date-format (like the PHP-date()-Function) is predefined. It will be converted to the Unix-Timestamp-Format. It will only convert the dates with the selected time format. |
The Date converter is used to convert old style date format into Unix timestamp format.
Administration menu
[ Online manual ]
Forbidden string in username (Case insensitive, Hello = hello)
String | Erase |
| New String: |
To ban the use of a username, just type in the text in the field "New String" and click "save Changes".
To delete an entry, tick the box next to it and click "Save Changes".
What are they?Topics are simply categories for the news items. They allow you to separate news items into various subject areas, just as newspapers do. For instance on my site, I have one topic for new equipment and another for safety and recalls (among several others). By clicking on Topics on the main menu, your site members can view all postings for any particular topic. On mine, were someone to click on Safety, they would be able to see all news items about recalls and other safety issues To see another example, go to USA Today or pick up one of their newspapers. The listings News, Money, Sports, Life Tech and Weather could all be considered topics.
Topic name parent Topic IMPORTANT NOTE: If you delete a topic, all news stories and comments under the topic will be deleted as well. However, the topic icon will not be deleted from images/topics - that must be done manually. Note: News topics may have sub levels added by using the categories feature accessed from Add Story, For instance, one might use MDPro as a topic. Under that topic, one might have categories such as Blocks, Documentation, Modules and Themes. Also see Categories.
| |||||||||
| |||||||||
This module is mislabeled as it does not deal directly with submission of news. It deals with notification to the administrator that a submission has been made.
The admin can choose to be notified of submission of news items by selecting Yes and entering an e-mail address at which to be notified. The e-mail subject and message can be configured as desired.
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.)
1. Categories
2. Subjects
3. Pages
4. Subpages
5. Title
6. Description
7. Keywords
8. Content
9. Activate
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
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.
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.
NOTE: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:
- you can create the file from the module. Just fill out the content field with your text (HTML formatting only for now) using text area or your CMS WYSIWYG built-in editor then specify filename in appropriate field and press "Add" button.
Module will automatically create the file with specified name and write content into it. Use the same method to edit this file. The module will only use the DB to store attributes of page and path to the file.- you can upload formatted file to modules/subjects/pages/ using FTP or any upload module (we suggest you use ew_filemanager). After that you have to create new page (or subpage) and just specify the path to you file. You also able to edit this file in the above mentioned way.
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.
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.
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.
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.
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:
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.
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)
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.
This is where several parameters are set for the site.
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 Line |
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 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? |
| 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
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:
| Tag | Not allowed | Allowed | Allowed 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
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 (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:
This is the main configuration section of RTE, the WYSIWYG editor of MDPro. You will specify all the settings for activation and configuration here.
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..
Shows all activations. Here you can edit or delete the settings for it.
Edit: Modify the entry.
Delete: Delete the entry.
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.
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.
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.
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:
Your actual review. Please observe proper grammar! Make it at least 100 words, OK? You may also use HTML tags if you know how to use them.
Allowed HTML:
<!--> <a> <b> <blockquote> <br> <center> <div> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <li> <ol> <p> <pre> <strong> <table> <tbody> <td> <th> <tr> <tt> <ul>
Use [pagebreak] for multiple page documents. NOTE: This works only in the Extended Text box.
Your Name:
Your full name. Required.
Your e-mail:
Your e-mail address. Required.
Score:
This subject score
Related Link:
Subject's official website. Make sure your URL starts with "http://"
Link title:
Required if you have a related link.
Image filename:
This feature shows sites that link to yours. The feature may be enabled or disabled and the maximum number of referrers designated. This list tends to get large quite fast, so you might want to delete them often. You can also deactivate this feature in the site Preferences or you can setup a maximum number of referrers in the site Preferences.
The frequency of visits, URL of the referring site and the percentage of referring visits they constitute are shown.
Admin options are:
Activate HTTP referrers? Yes No
How many referrers as a maximum?
Note that entries under bookmarks constitute any direct entry of your site URL in a browser bar.
This is a feature that lets you add quotations, including attribution to the author, in a block on your site. Each time a visitor to your site refreshes their browser, they will see another quotation displayed in random order.
The admin section lets the admin add a quotation as well as see a listing of all of the ones entered. They can be edited so if a mistake is made, it can easily be corrected. Naturally, they can be deleted as well.
Total Quotations in Database: 29 |
USAGE
Adding a quotation: Enter the quotation in the Quotation text field, enter the author in the filed below and click on Submit.
Viewing quotations: Click on Modify Quotations and you will see the list of quotations.
Editing quotations: Click on Modify Quotations to see the list and click on Edit next to the quotation you wish to edit. Make any changes and click on Submit.
Deleting quotations: Click on Modify Quotations to see the list and click on Delete next to the quotation you wish to remove.
| Modify Quotations | |
|---|---|
| |
|
This module converts news items on your web site to a format that can be read by personal data assistants (PDA). It strips most of the graphics (the site logo is still shown at the top of each article) and provides a plain view of the articles.
When a user clicks on the Avant Go link on your menu, they will see something similar to this:
Your Site Name | |
| Articles | Date |
| Welcome to MDPro | 2004-06-13 00:00:01 |
From there they select the news item they wish to read.
The reality however is that low-powered mobile devices such as PDAs will not be used to view MDP, PN, Xaraya, et al sites just yet. It will take strict XHTML compliance before that happens.
This module shows the credits for the various modules and components used in MDPro, including third party modules installed on a site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
from xmlrpc.com:
It's a spec and a set of implementations that allow software running on disparate operating systems, running in different environments to make procedure calls over the Internet.
It's remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.
xml-rpc is a protocol used to interact with different platforms. In MDP and other Nuke systems it is primarily used for blogging) and as such is underused in MDP.
It consists of two php libs (client and server) and two APIs (one for blogger and one for validator). If enabled, it lets you post news in an MDP site using blogger API with any blog compliant standalone software such as w.bloggar (http://www.bloggar.com/)
The ratings module allows any module developer to add ratings to their module items with ease. This module is not designed to be called directly, but instead is meant to be called as a utility module from within other modules to expand their functionality.
This function returns a suitable output string if the rating is known to the system, or void if it is not.
This function returns a suitable output string if the current user is allowed to rate the item, or void if they are not.
// Show rating for news item
if (pnModLoad('Ratings')) {
$rating = pnModFunc('Ratings',
'user',
'display',
array('modname' => 'News',
'itemid' => $sid));
if (isset($rating)) {
$output->Text('Rating for this story: ');
$output->SetInputState(_PNH_VERBATIMINPUT);
$output->Text($rating);
$output->SetInputState(_PNH_PARSEINPUT);
}
$askrating = pnModFunc('Ratings',
'user',
'ask',
array('modname' => 'News',
'itemid' => $sid,
'returnurl' => pnModURL('News',
'user',
'display',
array('sid' => $sid))));
$output->SetInputState(_PNH_VERBATIMINPUT);
$output->Text($askrating);
$output->SetInputState(_PNH_PARSEINPUT);
}
A user needs to have at least read permission to see an item's rating, and at least comments permission to be able to rate an item.
This module is used when an admin wishes to have page consisting of blocks. It would be used in cases where the admin want to have blocks showing the most recent entries in various modules on one page.
For instance, you could add blocks for most recent classified ads posted, most recent forum posts, newest links, subjects, and many others.
See the tutorial in the documentation section under MDPro Modules titled How To Create A Front Page Using pnHome
Administration Messages Admin_Messages messages
What's New Blocks html
Ephemerids Blocks ephem
Wetlines News Service Blocks rss
News @ Depth Service Blocks rss
Incoming Blocks menu
Menu MDMenus supermenus
Menu Blocks menu
Reminder Blocks html
Online Now Blocks online
Users Block Blocks user
Theme Preview Blocks html
Search Box Blocks search
Languages Blocks thelang
Member's Login Blocks login
Today's Big Story Blocks big
Other Stories Blocks stories
Daily Archives daily_archive newscalendar
Random Headlines Blocks random
Past News Stories Blocks past
Categories Menu Blocks category
Poll Blocks poll
1. Select *pnHome as custom module in AutoTheme)
2. Choose the block areas you want to be displayed.
3.When you have finished and it appears as you want it to, set pnHome as your startpage in Settings
In addition you can
a. create a special template for *HomePage
b. edit pnuser.php in modules/pnHome/
This module governs new user registration. It reflects the choices made by the administrator in the User administration section. Acceptance of the site's terms and conditions as well as selection of a password are contolled by this module.
Initially, the user sees the following:
NOTICE: Account preferences are cookie based.
As a registered user you can:
Post comments with your username
Send news with your username
Have a personal box on the homepage
Select how many news items to show on the homepage
Customize the comments
Select different themes
and lots of other cool stuff...
The following is seen by continuing:
You must be 13 or over, or have parental permission to register here.
I am 13 or over or I have parental consent
(By clicking on the above link you certify that you are either
13 or over, or that you have parental consent to register here.)
I am under 13 and do not have parental consent.
Followed by the information below:
| Username: | |
| E-mail: (Required) | |
| Option: | Allow other users to view my e-mail address |
(*) I agree to be bound by this website's Terms of Use and Privacy Policy.
Fields with * are required!
(Password will be sent to the e-mail address you enter)
NOTICE: Account preferences are cookie based.
As a registered user you can:
Post comments with your username
Send news with your username
Have a personal box on the homepage
Select how many news items to show on the homepage
Customize the comments
Select different themes
and lots of other cool stuff...
Register now! It's free!
We won't sell or give your personal information to anyone.
Enabling the Multisites module only enables multisites. It does not set them up. Setting them up is one of the most difficult things any MDP admin will be faced with. There is a tutorial here written by jojodee. She has given me exclusive and explicit permission to reproduce her tutorial and to revise it. In time, I will be adding information gleaned from her forum and from consulting with her. For now, read the tutorial below. It explains the process and is the best documentation we can provide at present.
Also see Channels
Multisites can be:
Why can I get some modules to work in multisites and not others?
Using the Multi Sites feature, different MDP websites on the same server may share a single MDP installation.
MDPro does this using the help of some complex features in Apache web server such as URL redirection and rewriting. That is a simple explanation of what multisites is. The following information is for more advanced administrators, programmers, the technically oriented and anyone who wants to learn more about how multisites function.
If you are familiar with setting up web servers, you will know that an installation of Apache can have several domains running under different virtual hosts. Each virtual host entry in the Apache normally is a unique sub domain, or domain name, pointing to a unique folder on the web servers file system. The way the original Multi sites works is by changing this configuration so that the MDPro folder is shared for all of the MultiSites domains and sub domains.
Most people have shared hosting which means that they have no control over the /etc/httpd/conf/httpd.conf file which lets you control the way Apache forwards and translates requests for different domains to the right place on the server. Although a shared host won't let you modify the httpd.conf file to control domain redirection, you can modify the way relative URLs (URLs without the domain name on them) are handled in Apache. Although Apache usually handles this via the all important httpd.conf file (mainly because it's faster), you can do this via a .htaccess file, which the great majority of web hosts will allow you to make and modify in your own web space. By doing this, along with some changes to MDPro, you can create a multisites installation.
Decide how you are going to set up the web site, what domains you already have or need to set up, and what subdomains if any. You don't have to set them all up at once. You can add on another subdomain or domain later. See Example 1 for the sample setup
An example of a domain and two subdomain multisite setup.
www.books.com
kids.books.com
fiction.books.com
www.movies.com
Note that you could possibly also have a setup based on subdomains, something like this:
mydomain.ahost.com
mysub1.mydomain.host.com
mysub2.mydomain.host.com
The domains should have fully qualified registered domain names and resolved to the same IP address (In this example, the domain movies.com was parked at the same place as the domain books.com). The subdomains kids.books.com and fiction.books.com were used to organize specific sections of the main books.com web site content.
Pick your own subdomain names, they can be anything you like (within normal site naming conventions).
Theoretically, you could also have a setup with a subdomain such as mydomain.ahost.com provided to you by some hosting service at a theoretical host.com. I haven't personally tried this. In this example mysub1 and mysub2 can be anything you like as the 'sub' subdomains.
Think about what data you want to share between domains or subdomains and what data will be totally different. If you are thinking of having some data or information in books.com different from movies.com, then you may need to set up one or more separate tables in your database for movies.com to hold the differing content. Similarly, think about what you need to share between subdomains. Section 5 Create any non-shared database tables and Section 6 Create modified pntables.php will cover this in more detail.
Keep in mind that you can have different content on a second domain or subdomain without having to set up separate tables. You can also organize information by groups and permissions, blocks, and in conjunction with well thought out menus at your web domain or subdomain.
Example 2 provides a few ideas about sharing or not sharing data and tables using the same sample setup.
* Have the same users across books.com, kids.books.com and fiction.books.com? What are the advantages or disadvantages?
* Share downloads, links or quotations?
* Separate topics but share topics tables. Show different topics at the two subdomains by using site specific menus, and different blocks (so I need separate blocks table).
* Separate users between books.com and movies.com?
* Referrer tables separate for two domains, but shared for subdomains?
By thinking this through you can get an appreciation of the tables in your database that you can share, and which tables you may need to copy for the second domain or a subdomain. Don't forget your third party module data and tables either!
There are many considerations, including but not in the least the possibility that your users may not be happy being 'automatically' registered at a totally different web site (e.g. book.com users automatically registered at movies.com), which would happen if you shared user tables.
Work out what information you want to share between domains and subdomains, and what information you do not want to share. You will then have enough information to start working out what MDPro tables you want or do not want to share.
You can do this by setting up a simple spreadsheet with a list of existing MDPro tables down one side as rows, and a list of the domains and subdomains you want across the top as column headings in the spreadsheet. A sample appears below in Figure 1.
| MDP shared tables | |||||
| Domain/Subdomain | Books | Kids.books | Fiction .books | Movies | |
| 2 | md_faqanswer md_faqcategories | md md | md md | md md | md_mv md_mv |
| md_group_membership | md | md | md | md_mv | |
| md_group_perms | md | md | md | md_mv | |
| md_groups | md | md | md | md_mv | |
| md_hooks md_languages_constant | md md | md md | md md | md md | |
| md_languages_file | md | md | md | md | |
| md_languages_translation | md | md | md | md | |
| md_links_categories | md | md | md | md_mv | |
| md_links_editorials md_links_links | md md | md md | md md | md_mv md_mv |
Using the above matrix, I noted which 'sites' were to use which tables. All the books tables were prefixed by md, for example, the original installation. The movies 'site' shared some of the md tables, and had some of its own prefixed with md_mv_.
The above is just an example. Unless you are going to use the same tables in your database, for all multisites that you set up, then it is very important to work out what tables MUST be shared and which tables you will share or not. Using a matrix like the example above provides a reference for use in multisite set up and for later use, especially if there are problems! This matrix will be referred to again in the tables setup in Section 5 and pntables.php setup in Section 6.
* Create a directory called parameters in your MDPro install directory. This may or may not be in your web site document root directory. (see Example 3).
If your MDPro installation is in your website document root directory, see Example 4b.
Example 3: Create parameter directory
MDPro installed in subdirectory of your website:
/wwwroot/parameters
* In the parameters subdirectory, create a new subdirectory for each of your required domains and subdomains using the actual domain or subdomain name without the domain suffix (e.g. do not put in the .com or .net). Don't forget to also create a subdirectory for your already installed MDPro site.
Example 4 shows the 'site' subdirectories that need to be created in the parameters folder for the original setup scenario in Example 1.
Example 4: Create subdirectories in the parameter dir
Using the example of books.com, kids.books.com, fiction.books.com, and movies.com our directory structure would now be:
/wwwroot/parameters/books/
/wwwroot/parameters/kids.books/
/wwwroot/parameters/fiction.books/
/wwwroot/parameters/movies/
* In each of these 'site' directories, create a subdirectory called images. If you want to personalize each domain and subdomain with individual themes, then you must also create a themes subdirectory for each 'site' directory. See Example 5 which shows the subdirectory structure of the books.com 'site' directory and its subdomains.
Example 5: Create images subdirectory (and themes directory if required)
/wwwroot/parameters/books/
/wwwroot/parameters/books/images/logo.gif
/wwwroot/parameters/books/themes/
/wwwroot/parameters/kids.books/
/wwwroot/parameters/kids.books/images/logo.gif
/wwwroot/parameters/kids.books/themes/
/wwwroot/parameters/fiction.books/
/wwwroot/parameters/fiction.books/image/logo.gif
/wwwroot/parameters/fiction.books/themes/
* If you want to have a logo for each domain and subdomain, create them and name them all logo.gif, even though they may differ. Put the logo.gif file into its respective 'site' images directory.
You must have a logo.gif file (the correct one!) in each of the 'site' image directories you have created. This is because most themes display your logo by reference to logo.gif. However, if your theme calls a logo that is not called logo.gif, make sure it is put in the respective 'site' images directory.
There are also other functions that use logo.gif, including the print function that displays a printer friendly view of your articles.
* Take a copy of your original config.php file from your MDPro install directory and copy it into each of the 'site' directories that you created.
Example 6 illustrates how the books.com 'site' directory structure should now look with required files in them.
Example 6: Add config.php to each 'site' directory
/wwwroot/parameters/books/config.php
/wwwroot/parameters/books/images/logo.gif
/wwwroot/parameters/books/themes/
Make sure you add a config.php file to each of your 'site' directories.
* At this point, I would also make a copy of your original config.php file and save it away somewhere safe (just in case).
* Edit each of the config.php files to reflect how you will access data and share it between your multisites. Example 7 shows an except from a typical config.sys file. There are two variables that you need to look at in particular.
Example 7: Edit each 'site' config.php file
$pnconfig['dbtype'] = 'mysql';
$pnconfig['dbhost'] = 'localhost';
$pnconfig['dbuname'] = 'bm9qx3RlYQ==';
$pnconfig['dbpass'] = 'dHlpcd9hZEI=';
$pnconfig['dbname'] = 'mdpro';
$pnconfig['system'] = '0';
$pnconfig['prefix'] = 'md';
$pnconfig['encoded'] = '1';
In our example, all domains and subdomains are using the same MySQL database. Therefore $pnconfig['dbname'] should be the same in all the 'site' config.sys files. In our example, our database is called books_com. The second variable to consider is$pnconfig['prefix']. In every MDPro installation, this is md by default and prefixes each of the table names in your database. You may have changed it to something else during installation.
The $pnconfig['prefix'] may need to be changed in some circumstances. For now, keep the original prefix that you set up. If it is md then leave it like that for now. If you are going to share all tables with your installation it can remain this way. If you are going to have different tables, then you may need to change it later. More on this in Section 6. Create modified pntables.php.
This step is critical. It is the one step that caused me the most problems although in the documentation existent at the time, it seemed to be just a simple file copy step.
* Locate the whoisit.inc.php file in your MDPro folder called /modules/NS-Multisites/installation
* Copy it into your /parameters folder
* The file is reproduced below in Example 8 - Major changes may be necessary - more on that later:
Example 8: Original whoisit.inc.php file in MDPro distribution files
/* things could be changed here, SERVER_NAME may be useless in certain configurations. For instance, instead of using SERVER_NAME, you may have to use HTTP_HOST. Also, with subdomains, you may want to suppress the first level of the domain name, and, to continue with my example of"linux.mouzaia", you may rather use "mouzaia". */
// modification mouzaia .71
global $SERVER_NAME;
// -------------------
$serverName = $SERVER_NAME;
$serverName = str_replace("www.","",$serverName);
$serverName= str_replace(".com","",$serverName);
$serverName = str_replace(".org","",$serverName);
$serverName = str_replace(".net","",$serverName);
$serverName = str_replace(".com","",$serverName);
?>
* Firstly, what does this file do? If you don't know, have a look at What does the whoisit.inc.php file do? in Section 11 and then come back. It is not that difficult and you will be then know if or how to edit your whoisit.inc.php file.
* Secondly, go to Section 11 and read up onUse $SERVER_NAME or $HTTP_HOST, unless you already know the difference. This is critical. Decide on whether you need to use $SERVER_NAME or $HTTP_HOST or BOTH! Yes I had to use both! If you are planning to run www.books.com and www.movies.com on one MDPro site, then you may have to use BOTH. This also meant for me major changes in the new MDP root directory config.sys file that must be created (see Section 9).
* Once you understand what you are doing,edit the whoisit.inc.php file as detailed in Example 9 below.
Example 9: Edit whoisit.inc.php file
* Add in $serverName=str ... lines for every domain extension you would expect people to use when browsing to your site. I added a line with ".com.au" to mine, namely:
$serverName = str_replace(".com.au","",$serverName);
You might add a line with ".info" or ".us" etc
* Decide whether you need to use $SERVER_NAME or $HTTP_HOST or both of them!
Then modify the file accordingly. This is critical.
* When you have finished editing your whoisit.inc.php file, you will end up with something like that shown in Example 10, or as in my case Example 11.
Example 10: An edited whoisit.inc.php file
/* things could be changed here, SERVER_NAME may be useless in certain
configurations. For instance, instead of using SERVER_NAME, you may have to
use HTTP_HOST. Also, with subdomains, you may want to suppress the first level of the domain name, and, to continue with my example of"linux.mouzaia", you may rather use "mouzaia". */
// modification mouzaia .71
global $SERVER_NAME;
// -------------------
$serverName = $SERVER_NAME;
$serverName = str_replace("www.","",$serverName);
$serverName= str_replace(".com","",$serverName);
$serverName= str_replace(".com.au","",$serverName);
$serverName = str_replace(".org","",$serverName);
$serverName = str_replace(".net","",$serverName);
$serverName = str_replace(".com","",$serverName);
?>
* If you whoisit.inc.php file ends up looking something like mine below, then you will also have to make additional modifications to the config.php file in your MDPro install directory as detailed in Section 9.
(Also see an update of the whoisit.inc.php file and config.php file in Section 12).
Example 11: My edited whoisit.inc.php file - a critical change
/* things could be changed here, SERVER_NAME may be useless in certain configurations. For instance, instead of using SERVER_NAME, you may have to use HTTP_HOST. Also, with subdomains, you may want to suppress the first level of the domain name, and, to continue with my example of"linux.mouzaia", you may rather use "mouzaia". */
/ modification mouzaia .71
global $SERVER_NAME;
global $HTTP_HOST;
// -------------------
$myhostName = $HTTP_HOST;
$myhostName = str_replace("www.","",$myhostName);
$myhostName= str_replace(".com.au","",$myhostName);
$myhostName = str_replace(".org","",$myhostName);
$myhostName = str_replace(".net","",$myhostName);
$myhostName = str_replace(".com","",$myhostName);
* Once you have your whoisit.inc.php set up, your parameters directory structure should look something like Example 12, using our original example.
Example 12: Whoisit.inc.php added to parameters directory
/wwwroot/parameters/whoisit.inc.php
/wwwroot/parameters/books/config.php
/wwwroot/parameters/books/images/logo.gif
/wwwroot/parameters/books/themes/
/wwwroot/parameters/kids.books/config.php
/wwwroot/parameters/kids.books/images/logo.gif
/wwwroot/parameters/kids.books/themes/
/wwwroot/parameters/fiction.books/config.php
/wwwroot/parameters/fiction.books/images/logo.gif
/wwwroot/parameters/fiction.books/themes/
And of course, the 'site' directories set up for movies.com in the same way as books.com
Back in Section 1, the structure of the multisite was decided, and how the 'sites' were to share data - i.e. what tables were to be shared, if any.
You must now create the new tables that you need in your database. If you have a matrix as discussed in Section 1, then it is only a matter of looking for entries that are prefixed by something other than, in our example, the original md table prefix. How do you create the tables? I use phpMyAdmin as the front end to administer my database, use whatever you have. Then:
* Do a backup of structure and data of your database, just in case.
* If you do not share any tables, or very few, then it may be easier just to rerun the MDPro installation sql script again, ensuring that you have changed the tables prefix to any new prefix you are going to use, for example md_mv. In our example, this would be the case if you had your movies 'site' using totally separate tables prefixed with md_mv. Drop any newly made md_mv tables that you do not need duplicated.
* If the unique tables are not too many, or you have time, you can create them by copying the original md prefixed tables to your new md_mv prefixed tables. Keep in mind that some of these tables you will want structure only copied. There are some other tables, such as md_stats_day or md_stats_month for example, where you will need to copy structure and data over. In this example, the stats_day and stats_month tables keep track of site pageviews etc. You will want the original data set up (i.e. day number and month number) but have to go in and zero the values next to the day and month numbers. Keep a watch for tables where you may need initial data copied as well as structure.
* What about non-bundled MDPro modules and third party module tables? Well, these may well differ in ability to prefix or rename tables. Remember, if you want to run with the same module code, will the module allow you to access differently named tables?
The pntables.php file usually resides in your MDPro root install directory. This file, put simply, lists the MDPro core and bundled module tables and assigns table values to variables.
If you are going to share all tables between your domains and subdomains, then there is nothing to do. If you are not going to share all tables then you must create a separate modified pntables.php file for each 'site' that has different tables, and put that pntables.php file in the 'site' subdirectory, for example in the /parameters/books/ subdirectory. If there is no 'site' pntables.php file, then the default MDPro root install directory pntables.php file is used. See Example 13 for our example directory structure now.
Example 5: Put new pntables.php file in 'site' directories
/wwwroot/parameters/whoisit.inc.php
/wwwroot/parameters/books/config.php
/wwwroot/parameters/books/pntables.php
/wwwroot/parameters/books/images/logo.gif
/wwwroot/parameters/books/themes/
/wwwroot/parameters/kids.books/config.php
/wwwroot/parameters/kids.books/pntables.php
/wwwroot/parameters/kids.books/images/logo.gif
/wwwroot/parameters/kids.books/themes/
/wwwroot/parameters/fiction.books/config.php
/wwwroot/parameters/fiction.books/pntables.php
/wwwroot/parameters/fiction.books/image/logo.gif
/wwwroot/parameters/fiction.books/themes/
/wwwroot/parameters/movies/config.php
/wwwroot/parameters/movies/pntables.php
/wwwroot/parameters/movies/images/logo.gif
/wwwroot/parameters/movies/themes/
If books, kids.books and fiction.books are all using the same tables, then you theoretically do not need a pntables.php file in the 'site' directory - MDPro will fall back and use the pntables.php file in the MDPro root install directory.
How do you modify the pntables.php file?
Excerpts from a typical pntables.php file are shown in Example 14 below. Let us take our example of movies.com.We will only be sharing a few tables with books.com (with the original md table prefix). Most of the movies.com tables will be prefixed with md_mv.
There are a couple of alternatives when editing and creating the pntables.php file for the movies 'site' directory for example. Remember that the $prefix variable will be equal to that in your 'site' config.php file. Refer to your matrix of shared tables or equivalent.
Example 14: Excerpt from typical pntables.php file
$prefix = $pnconfig['prefix']; //$pnconfig['prefix'] is set up in your config.php file
$pntable = array();
$autonews = $prefix . '_autonews'; //Change this line if the table prefix is different to $prefix.
$pntable['autonews'] = $autonews;
$pntable['autonews_column'] = array ('anid' => $autonews . '.pn_anid',
'catid' => $autonews . '.pn_catid',
'aid' => $autonews . '.pn_aid',
'title' => $autonews . '.pn_title',
//A new table entry starts below:
$banner = $prefix . '_banner'; - this is the line that must be changed if you are not sharing the table
$pntable['banner'] = $banner;
$pntable['banner_column'] = array ('bid' => $banner . '.pn_bid',
'cid' => $banner . '.pn_cid',
'imptotal' => $banner . '.pn_imptotal',
'impmade' => $banner . '.pn_impmade',
'clicks' => $banner . '.pn_clicks',
'imageurl' => $banner . '.pn_imageurl',
'clickurl' => $banner . '.pn_clickurl',
'date' => $banner . '.pn_date');
* If you have left the default table prefix in your 'site' config.php, for example md, then the $prefix at the beginning of the pntables.php file in the line: $prefix = $pnconfig['prefix']; will be the same as in your config.php file, md).
For each table entry that is NOT SHARED with the default md prefixed table, change the $prefix. '-tablename'; entry to the correctly prefixed table name, e.g. for the movies 'site', if you are not sharing banner tables you may want to change the line:
$banner= $prefix.'_banner'; to $banner=md_mv_banner;
Go through the whole pntables.php file and make sure you have changed the line for each table that has a different prefix to the default in your config.php file.
* If you have changed the table prefix in your 'site' config.php from the default (e.g. changed from md to md_mv) then you will have to ensure that tables you want to share with the original have the original default prefix (md).
Go through the 'site' pntables.php file and change the $table= $prefix.'_table'; entry for each of the shared tables to $table=md_table; where table is the name of the shared table.
So when do you or should you change the config.php entry for $pnconfig['prefix'] variable from the default (e.g. md) to something else (such as md_mv)? Usually you can leave it at the default. But, read on in Section 7 just in case.
Generally, when you set up multisites and setup config.php for individual /parameter/site/ directories, you can leave the main table prefix as the value for $pnconfig['prefix']. In our example, our original site books.com has a table prefix of md. When multisites are setup the individual 'site' config.php files can all have the md table prefix left as is. However,