Web Sites with Open Source Pt. 1

I’ve been working on teaching myself how to build and maintain dynamic, database driven web sites with Open Source portal CMS packages downloaded from OpenSoureCMS.com, a web site where you can download full content management systems that operate in conjunction with the Linux operating system, Apache server, PHP and the MySql database.

The goal of these Open Source tools is to keep web publishing affordable for all. Anyone with a bit of server knowledge and some time on their hands can download any one of a number of Open Source CMS package distributions, compressed in .zip or .tar.gz format, for free and install it on a server or personal computer running Apache, PHP and MySql to become an instant web publisher.

Generally, once an Open Source project is launched, word of mouth fuels a community of users and programmers that thrive around the developers, helping to test and de-bug the software or contributing to the project with wish lists of features manipulating the source code themselves to create extensible plug-in modules or components , which make each CMS portal infinitely more robust and valuable.

As web sites have become more complex, the need for inexpensive database backends have grown allowing web publishers to give access to writers or designers who can contribute to a web site without having to edit the HTML or know PHP and mySql (or any other database code like .ASP, .JSP or Cold Fusion). This is key for the dance music industry who have always depended on armies of interns or rabid fans of dance music to donate their time to build and maintain fully functional web sites.

Open Source CMS portal packages are becoming are a unique and invaluable tool in keeping costs affordable for small web publishers or small businesses that can’t afford to create dynamic, database driven sites from scratch. Most Open Source CMS packages are distributed free as Open Source software and the developers usually ask that you adhere to the GNU General Public License.

Most of the available Open Source CMS portal packages include modules for news, contact information, static content, navigation, blogs, forms and other basic features to run a community based web site. One of the most important features, which is confusing to most people, is tracking site users through a login/register system. As with any Open Source CMS portal distribution, once installed, you can require users to register and log-in or grant and deny access to sections of your web site to all or just select individuals.

Some CMS portals have many plug-ins while others are limited in scope. I’ve found a few that feature modules and components for online shops with a shopping cart systems and PayPal transactions, social networking/dating, job listings boards, community forums and even a Google AdSense module to display Google ads and generate revenue. A component is generally more complex than a module. An example of a component Job Listings board or forum, where the site adminstrator would have admin rights to approve or deny job postings.

At the time of this writing, Job Listings components aren’t as robust as Hot Jobs or Monster, where you charge customers to post ads, search by location or allow users to create saved searches to receive by email on a daily basis. Limited in scope, they do offer smaller web publishers a useful tool to get into the game, so to speak.

Two notable CMS packages are Typo3 and Mambo. I’ve been working with both of them and although Typo3 is a robust platform with many features, the documentation and installation instructions are written for people who have intermediate to expert knowledge of installing packages on unix/linux. However, I did come across a decent install tutorial on the web written at Sri’s Weblog Archive.

Mambo seems to be the better bet to get you up an running fairly quickly. There have been over 2,000,000 downloads and it seems the community is more newbie friendly. After downloading, it was a very simple to install and came with a feature rich backend administration area that is a great deal more intuitive than Typo3. And, Mambo’s forums are trolled by experts who are quick to give “newbies” the answers they need.

I found that most of the replies to questons in the Typo3 forums are confusing and assume you know something about PHP or server technology. At times you’ll be reprimanded for posting a question that’s already been answered in a prior thread. Typo3 developers know the word is spreading and many new jacks have no idea how to install and use the software to it’s full potential. To me, it seems they want to keep it this way. At this point, I’m sticking with Mambo because of it’s ease of use and ability to quickly find plug-ins, templates and most importantly, answers to your questions.

In addition, the modules, components and “mambots” are very easy to install and are separated under specific headers in the admin area. With Typo3, your plug-ins are listed in one section, making it confusing to know whether a module is a module or component.

A note about Mambo: The documentation is spotty and is also written as if you should know how to use it already or that you have some experience with content management systems, but it’s still easier to use than Typo3. Just in case your confused after install about what to do first–draw out your sections on a piece of paper, then jot down your sub-sections, which are called “categories.” You must set up Sections first, then categories, then content items, then your menu (navigation).

When setting up your menu, you may link to a section page with a header showing a list of categories, or you can link directly to a category in a section and see a list of content items. There is a way to set up sub-menus that I haven’t seen posted in the Mambo documentation (what little of it there is on the subject of menu’s anyway).

Here it is:


Go to Menu —> Menu Manager —> New —>
Menu name: TEST
Menu type: test —> Save.

Now click on the newly made Test —> New —> Link – Static Content —> Next –>
Name: Sample 1
Typed Content to Link: (choose whatever is there, remember this is only a sample)
Make sure it’s published and click SAVE

Go to Modules —> Site Modules —> publish the newly made Test

Go to Menu —> Test —> New —> Link – Static Content —> Next
Name: Sample 2
Typed Content to Link: (choose whatever is there, remember this is only a sample)
Make sure it’s published and click SAVE

Now, click Sample 2 —> Parent Item —> choose Sample 1 —> Save.

I’ve mentioned the word “template” a few times. What is a template? Well, basically the front-end interface is the same for everyone for any CMS Open Source software. They all have their base look and feel and that may not work for those who want a graphically rich user experience. Therefore, you must create templates based on XML, which are the graphics, HTML and CSS that will make your site look the way you want. Typo3 offers a video tutorial on “Modern Template Building.” Mambo has a template creation component plug-in that you can use to create a CSS styled template that conforms to W3C XHTML 1.0 Transitional and CSS standards.

I’m posting this information in the hopes that it fuels innovation in the dance music industry, which has been hard hit by dotcom crash and resulting weak economy combined with the music downloading phenomenon. This information should put you on the track to building a community driven web site. You can find links to various Open Source projects in the right hand column, which should put you on the right track to building your own Open Source web portal, giving you the ability to compete with the big boys.

Best of luck!

Tony Z.

Liked it? Take a second to support Netmix.com on Patreon!
Become a patron at Patreon!

6 comments

  1. bald eagle says:

    Hi,

    I have a question about PHP as a programming language. Could you summarize it in a nutshell what you like about it the most versus Perl (if you are familiar with it at all, that is).

    I have been doing some programming in Perl for my website (http://morganarticlearchive.com), using text files for a database. I am pretty happy so far. A couple weeks ago, however, I ran into a problem where it would have been really nice to have an include function to use, but in Perl you can’t just include a file from another website. The functions one can use to include code from another file can’t handle an absolute address.

    So, I have been asking myself if I should have gone with some other language. PHP has a nice include function, so it may be superior to Perl in other ways too.

    Thank you for your advice in advance.

  2. bald eagle says:

    Hi,

    I have a question about PHP as a programming language. Could you summarize it in a nutshell what you like about it the most versus Perl (if you are familiar with it at all, that is).

    I have been doing some programming in Perl for my website (http://morganarticlearchive.com), using text files for a database. I am pretty happy so far. A couple weeks ago, however, I ran into a problem where it would have been really nice to have an include function to use, but in Perl you can’t just include a file from another website. The functions one can use to include code from another file can’t handle an absolute address.

    So, I have been asking myself if I should have gone with some other language. PHP has a nice include function, so it may be superior to Perl in other ways too.

    Thank you for your advice in advance.

  3. Tony Zeoli says:

    Hey BE,

    Well, I'm not a programmer, so I couldn't necessarily give you a technical answer, but on the content management side of things, I'd say that PHP, being Open Source, is an inexpensive and robust programming language that speaks to the Open Source MySql database. Most web host providers offer PHP 5, which I think is the latest, combined with the latest version of MySql and Apache on Linux or Unix boxes. For me, I've been able to use WordPress and Mambo, two publishing platforms that have been created in the abovementioned technologies with absolutely no PHP programming knowledge whatsoever. The communities that are building these technologies include incredibly talented and gifted people who love to contribute their knowledge for the betterment of the Internet, and in the interst of keeping it low cost for people like you and I.

    If I had to pay programmers to develop this wordpress blog, or try and do it myself, it would take me 6 months to a year to learn what I need to know. It's great to program, and I admire the people who do, but my time is better spent aggregating content.

    The biggest advantage I see in working in PHP/MySql is the ability to have a front end and a backend publishing platform. If I need to go in and change a publish date or move an image from one article to another, or even work with my banners and stuff like that, it's to me, relatively easy to all the things I need to do done without having to touch a line of code.

    I wish I could give you more of the technical advice your asking for, but I'm just not that knowledgeable. You can go to PHP.net and post to the bulletin board and I'm sure someone will be able to give you the differences.

    The only other thing I would say is that I would be hesitant to offer my content as text files, even though logically, the text in a file that Perl calls to could be considered a database. I'd that keep it secure in a database and have it only be called by an include into the page instead of having it in a text file that a search engine might be able to parse and deliver content that I don't want out there in the real world. I'm just theorizing that could happen….I don't know for sure, but if I can, that's one main reason why I keep my content out of any format that is searchable until I decide to publish it, retract it or let it expire.

    Tony

  4. Tony Zeoli says:

    Hey BE,

    Well, I’m not a programmer, so I couldn’t necessarily give you a technical answer, but on the content management side of things, I’d say that PHP, being Open Source, is an inexpensive and robust programming language that speaks to the Open Source MySql database. Most web host providers offer PHP 5, which I think is the latest, combined with the latest version of MySql and Apache on Linux or Unix boxes. For me, I’ve been able to use WordPress and Mambo, two publishing platforms that have been created in the abovementioned technologies with absolutely no PHP programming knowledge whatsoever. The communities that are building these technologies include incredibly talented and gifted people who love to contribute their knowledge for the betterment of the Internet, and in the interst of keeping it low cost for people like you and I.

    If I had to pay programmers to develop this wordpress blog, or try and do it myself, it would take me 6 months to a year to learn what I need to know. It’s great to program, and I admire the people who do, but my time is better spent aggregating content.

    The biggest advantage I see in working in PHP/MySql is the ability to have a front end and a backend publishing platform. If I need to go in and change a publish date or move an image from one article to another, or even work with my banners and stuff like that, it’s to me, relatively easy to all the things I need to do done without having to touch a line of code.

    I wish I could give you more of the technical advice your asking for, but I’m just not that knowledgeable. You can go to PHP.net and post to the bulletin board and I’m sure someone will be able to give you the differences.

    The only other thing I would say is that I would be hesitant to offer my content as text files, even though logically, the text in a file that Perl calls to could be considered a database. I’d that keep it secure in a database and have it only be called by an include into the page instead of having it in a text file that a search engine might be able to parse and deliver content that I don’t want out there in the real world. I’m just theorizing that could happen….I don’t know for sure, but if I can, that’s one main reason why I keep my content out of any format that is searchable until I decide to publish it, retract it or let it expire.

    Tony

Comments are closed.