In this final installment of the multi-part blog series on cms systems, I will cover some of the portal packages that I am familiar with and cover how cms packages have grown over time to fit special needs potential users might have. In covering packages that I am familiar with, these are packages that I have used or are currently using on some of my own web sites.
Portal Packages I Am Familiar With
So where does one begin their search for a CMS with the knowledge imparted in this article? While I can’t attempt to review each and every portal package out there, I can discuss to an extent a few that I am familiar with. This does not mean I endorse them over the other possible choices. It simply means that I have some first hand knowledge from working with them.
My site of http://www.irarichardsmith.com is a Linux/Apache/MySQL/PHP based site which uses the PostNuke system. The development team in charge of the core PostNuke system has developed and published an API (Application Programming Interface) which third party module developers can use to build modules that will work hand-in-hand with the core system. There are many third party module developers out there and the work they have all done is quite impressive. The use of a standard API for all module developers to adhere to allows developers worldwide to contribute to the effort of creating modules to provide limitless functionality to you. The standardized API programming interface of PostNuke allows the third party modules to fit right in with the core system in a seamless style. There isn’t any type of broken look or places where there is an attempt to ‘smooth out the edges’ where the third party module joins the core system. It is all neat and seamless from the users’ point of view. Use my site as an example. I have many add on modules being used to provide options and features far beyond what the core PostNuke CMS package allows. So there really is no functional downside to using external modules as they fit right into the main system. There is even a standard method to installing and activating the modules and it is very easy to do from within the administration interface.
You as a potential web site builder will need to spend a bit of time checking into modules that do the extra things you want beyond what the core of the system provides on its own after it is installed. Now this may take a little more time and effort, but it certainly is not a major task and it is certainly easier than re-inventing the wheel yourself by having to program the functionality when it already exists in the form of a third party module.
The home site of PostNuke can be found at http://www.postnuke.com so have a look to see what is there if you feel so inclined to follow up on this package. If you are a programmer or feel you would like to know more about module development for the Post Nuke system, then you can head on over to the development portion of the PostNuke site called the Network Operations Center or NOC for short found at http://noc.postnuke.com. At this location you will find documentation about the PostNuke API, module development, and what modules are officially listed as being in the development process. Here you can post your development questions or if you are ambitious register your own module for development and then begin work on it.
As part of my line of work, I am also involved in the .NET programming environment from Microsoft. More specifically, at the present time I work with the C# (pronounced see sharp) language. It was not until I began working in this environment that I really looked at Portal packages based in the .NET technology. I found several packages and have worked with them to get an idea of how they are alike and how they differ from the non-Microsoft counterparts. The packages described below are not listed in any preferential order, it just happened to be the way that I wrote about them and nothing more should be implied by their order.
Microsoft has an Open Source package called IBuySpy which was written to show many of their Best Practices on how to use the .NET technology. The IBuySpy portal is a slimmed down system, being released in this manner to encourage those who program to develop and extend it out further. One of the derivatives of IBuySpy is a package called DotNetNuke. The DNN (shorthand for DotNetNuke) Portal is a greatly enhanced system from the original IBuySpy system. You can obtain DNN and learn more about it from its home site of http://www.dotnetnuke.com. When you go to download DNN, you have a choice of downloading the full package of source code and binaries, or you can download the binaries only. You will want the former if you plan to do modifications to the core system or perform development of third party modules. You will want the latter if all you wish to do is upload the files to your hosted web space. The latter suits this need because you get the key files that make the package run without having the source to consume space in your hosted web environment.
DNN can also be downloaded in the form of what is called a Starter Kit. This is a new concept found in .NET 2.0 which allows you to utilize the starter kit as a project type within VS.NET 2005 or VS.NET Express edition. Do not download the Starter Kit version and attempt to upload that directly to your web hosting space, use the binary version of the download for this purpose. The VS.NET Express edition is a new concept form Microsoft, providing a freely available but limited development environment. Targeting the occasional programmer or hobbyist, the Express edition allows the programmer to enjoy being able to program in the .NET environment without having to purchase the full blown VS.NET development environment.
Another .NET based Portal system that I am familiar with is called Rainbow. I believe it too began as a derivative of the IBuySpy portal as well. The Rainbow home site can be found at http://www.rainbowportal.net and the more recently deployed site of http://community.rainbowportal.net/. Rainbow is written in C#.NET from the ground up. It also provides a solid core and a published API from which additional modules can be written to work with it. Rainbow has perhaps the largest number of built in modules of any CMS system I have used, so it is more ‘out of the box’ ready than most other packages.
A third .NET based Portal system that has attracted my attention is called mojoPortal and can be found at http://www.mojoportal.com/. This portal is also written in C#.NET and also has a good strong core system around which third party modules can be built and added on. What makes this Portal a bit different than the other two .NET based ones is that it is written with the intent of being able to run in both the Microsoft .NET environment as well as the MONO environment. MONO is the code name for the project which brings .NET to the Linux platform.
MojoPortal is the newest of the three .NET based systems I have mentioned so it has the least number of modules available for it. It is available as a binary download and the source can be obtained separately so you can select which download is appropriate for you and your needs. From what I have seen so far, it has the cleanest admin interface of the three .NET based systems which makes learning how to administer the site fairly easy.
A Variety of Portals
Portal systems began life with the mission of easing the workload on web site administrators by making it easier to publish content to their sites. Additionally, interaction with the user was added by providing user stored preferences, security system for controlling access to content, and a number of other interactive features. This was the first step portals took and it was a good one.
What has been interesting to see is how technology has provided solutions to keep up with the increasing demands from the consuming public at large. With the passage of time, the need for what I call specialized portals arose. These are portals tailored to a specific need by combining existing functionality in a unique way or targeting existing functionality to meet a very specific need. You would be amazed at the powerful systems that can be created by the act of combining programmatically different commonly used parts of a portal system.
A prime example of this is eLearning systems. They combine common functionality such as forums, file upload/download, quizzes, tests, surveys, and other learning type features into a focused system capable of delivering effective on-line training over the Internet. While each of these pieces of functionality can work independently in a typical CMS package, in an eLearning package the way they are combined allow them to function as a unit within a designated class to provide all the features necessary to conduct training on line.
CMS packages can go the reverse direction as well and offer a single component to comprise an entire site from. Forum based sites are one such example because they provide just the single forum component without any of the other pieces. Blogging sites are another example of single functional sites where only the blogging feature is present within the site.
Summary
Choosing to make your presence known on the web can be a fun experience. Yes, there is certainly a lot of work involved even after the planning and investigating phases are over with. If you approach the task in an orderly manner and have some patience as you learn, then the effort will be time well spent.
I cannot stress enough how important it is for you to consider what you want to accomplish with your presence on the web. If your needs do not go beyond what basic HTML pages can handle, then you might be better off sticking with standard HTML pages and not tackling a CMS package. CMS systems bring a lot of power and flexibility to you. They do require some work to learn and master on your part. Just take the time to be sure they are what you need.
If your goal is to simply have a discussion forum or bulletin board system for your web presence, then a full fledged CMS system will be more than you need. In a situation like this, you would be best served going with a stand alone forum software system. The same can be said in the case where you only want an on-line store. While many CMS systems have an eCommerce system that works within them, the CMS system would be more than you bargained for. In that case you would be better served going with a stand alone eCommerce or store system. The same can be said for eLearning, project management, and group ware. Each of these areas has their own stand alone solutions to offer. Perhaps a CMS system will handle all of your needs, perhaps a non-CMS system will provide you with what you need, or perhaps you need a combination of systems to fulfill your needs. The key is that you alone know what you wish to accomplish with your web presence. Only by taking this time to consider your needs and matching them up to the available solutions will you have a true success on the web.