2.6. The PHP-Nuke forks

There are several CMS systems, which are PHPNuke forks; among the most famous, we can mention Post-Nuke, Envolution, MyPHPNuke and Xoops.

2.6.1. PHP-Nuke vs. Post-Nuke

Post-Nuke is another Content Management System (CMS) similar to PHP-Nuke. Whilst PostNuke is a fork of PHP-Nuke, the entire core of the product has been replaced, with the aim of making it more secure and stable, and able to work in high-volume environments with ease.

Some of the highlights of PostNuke are, according to its developers (in Post-Nuke Modules):

The merits of Post-Nuke, as compared to those of PHP-Nuke, have been subject of controversial discussion among fans of both CMSs. We cannot give an objective opinion, since we are biased towards PHP-Nuke. However, we will try to give you an idea:

Even its critics will agree that, for a portal whose purpose is to make information publicly accessible, PHP-Nuke is a very good solution. In comparison to Post-Nuke, most people will also find that PHP-Nuke has many more modules available. However, some will argue that most of them seem geared toward the average end user and not a business or corporate environment.

On the plus side, PostNuke has a very detailed strict user permissions system allowing you to limit access to every module and area of your site to a general group or a specific user. The permissions system allows you to create groups and users with special permissions. You can add a user to one or many of these groups to give a variety of complex permissions easily. This is handy if you need moderators, sub admins, and other people helping manage a commercial site and wish to limit admin access. This may make PostNuke more appealing to a professional site - but see the Your Account Tweak module (Section 8.3.3), the Approve Membership module ( Section 8.3.4), the eCommerce modules (Section 8.3.14) or the Project Management WorkBoard module (Section 8.3.15) before you draw premature conclusions.

Here are some PostNuke modules that are popular among business end users:

However, PostNuke seems to be caught prisoner of its own development impetus: it changed so fast, so often, and made code break backward compatibility in newer versions so often, that it became difficult even for seasoned webmasters to follow it. Lack of compatibility even between adjacent versions and rumours on its development being suspended, has robbed the nerve of quite a few people, who then turned back to PHP-Nuke for its great community, support, continuing, smooth development and vast collection of modules. The following quote, taken from History of PHP-Nuke and Post-Nuke, reflects this situation:

I spent a month trying to customize Post-Nuke for a client, and then I gave up. It was too hard and the support was non-existent. Although you'll find many people in the community who want to help you, you'll find no one who has experience with the particular version you've got.

NoteIs Post-Nuke more secure than PHP-Nuke?
 

The security argument is often heard in favour of Post-Nuke. However, a commited cracker will probably not encounter considerably more difficulties in cracking Post-Nuke, than PHP-Nuke, as the following testimonial, taken from the discussion in History of PHP-Nuke and Post-Nuke, illustrates:

I have a fair few associates who are still hackers, and they can crack into any Post-Nuke site in 20 seconds flat - I've timed them - and they've had full - note: FULL access to the administration section when they have. The fastest I've seen them hack the least secure PHP-Nuke over the past year, is 30 seconds approx. (32 seconds to be precise). That doesn't sound like PHP-Nuke is less secure to me.

The latest version of PHP-Nuke (6.5) prior to it's RC1 with the new security procedures in it, it took them 5 minutes to hack into it.

Of course, 5 minutes will not make you sleep any more quiet than with Post-Nuke, but the Web is a dangerous place by construction and and the point is of relative, not absolute nature. PHP-Nuke has improved its security even more since then. For more details on PHP-Nuke security, we refer you to Section 23.1, where we will talk about PHP-Nuke's past security vulnerabilities, its new security procedures and what you can do to enhance its security even further.

We cannot go into more details on PostNuke, since they would easily fill another book. Perhaps the best test is to visit the homepages of both projects, PHP-Nuke and PostNuke - and decide for yourself which one you like best.

2.6.2. PHP-Nuke vs. XOOPS

XOOPS is a dynamic OO (Object Oriented) based open source portal script written in PHP. According to its developers, XOOPS is the “ideal tool for developing small to large dynamic community websites, intra-company portals, corporate portals, weblogs and much more” (see About XOOPS). The developers also tell the following about their goals:

The goal of the XOOPS team is to create a Content Management System (CMS) for users and developers that installs out of the box offering unparalleled ease of use, support and management. The XOOPS CMS will be extendable by the use of modules installable through a unified admin interface. The ultimate goal of the XOOPS team is to take the best features of current CMS's and roll them into an Open Source CMS that's easy to use, extendable and unparalleled in the Free/Open Source Community.

XOOPS is (see XOOPS Features List):

The OO (Object Oriented) approach of XOOPS to Web Content Management is innovative, but also controversial. Franzisco Burzi writes in History of PHP-Nuke and Post-Nuke:

About saying that OOP (Object Oriented Programming) is a good stuff and makes stuff more stable, modular, or whatever else you want... False. OOP is good for very big projects, which is not the case of PHP-Nuke (I mean VERY BIG projects) with a lot of reusable code. BUT... any good PHP programmer knows that the use (or worse, the intense use) of objects/classes in a PHP script isn't good. PHP is not efficient managing objects/classes. At least it's less efficient than managing custom user created functions. Any decent PHP 4 book will say this to you: If you can manage to have your software working without using OOP, there isn't any reason to use objects, because of performance issues.

2.6.3. XOOPS vs. Post-Nuke

We cannot go into the details of a comparison between XOOPS and Post-Nuke, as this would be rather off-topic here. For a discussion of XOOPS vs. Post-Nuke, see XOOPS vs. Post-Nuke. There, among lists of pros and contras, you will read this:

I'm an architect. My teacher always told me that there are no "bad tools". There are only "bad craftsmen".

Find your own way to work - it's not a race, not a competition, you don't need to have the better machine to win. The best sites won't flash with decorations, tons of blocks and gifs. They are made with the same basic tools, CLEAR AND WISE IDEA, and lots of custom made details.

Innovate - not imitate.