Review: phpFox, a Social Networking CMS with all the Bells and Whistles | WebReference

Review: phpFox, a Social Networking CMS with all the Bells and Whistles

By Scott Clark


I've worked with Vignette's StoryServer, Joomla, Drupal, Wordpress, Elgg and Dolphin, but after working with Benc Enterprises' phpFox for the last week, I am ready to drop all the others and dive into the world of social networking sites. This CMS has everything a developer needs to create a top of the line social networking site with all the features that users have come to expect from sites like MySpace, Facebook and LinkedIn.

Initially I tried out the version of phpFox that is currently for sale, which is phpFox version 1.6.21, the stable release, also known as Konsort. Understand that, unlike Elgg, Drupal, Joomla and Dolphin, phpFox is not Open Source (although it is written in PHP). It sells for $300 for a full license, which includes 6 months of free upgrades and support, or you can purchase a monthly license for $39.95, which includes free upgrades and support for each month that is purchased.

While $300 may seem like a lot when there are other social networking software packages available for free, as they say, you get what you pay for. Drupal and Joomla are wonderful packages for what they are designed for, which is the development of professional websites that generally are business oriented. While they have many social networking features available, usually through the use of additional modules which have to be downloaded and installed, they are not designed specifically for social networking sites. phpFox is designed specifically with social networking as the focus. Additionally, the learning curve for packages like Drupal and Joomla is fairly steep. Even the installation process for those packages is not that easy, especially if you intend on adding the extra modules that enable the site to have the social networking features that users are used to seeing. phpFox ships with all those features, and more, and the installation process is so streamlined a child could install it.

phpFox Installation

As I mentioned, I started out by installing the version that is currently available for purchase (version 1.6.21). The installation process was fairly straightforward. I logged into my web host, and used the MySQL Administration page to create a new MySQL database. That process just consists of naming the database, choosing a password and copying the database login details for use during the phpFox installation process. That info looks similar to the following, which has been edited for security of course:

Database name db4093940389 
Host name yowza.myhost.com 
Port 2213 
User name dbo4093940389 
Description phpfox 
Version  MySQL5.0 

Once I created my database, I uploaded the phpFox software using an FTP client program. I also used an SSH program called Putty to securely log into my server so I could change the permissions on certain directories and files as recommended in the installation instructions that came with phpFox. That was about the most tedious part of the process, and it only took me about 10 minutes using the chmod command. Okay, back to the installation process.

The installation process itself uses a web-based wizard, which is very simple. It took about 5 minutes, and about the only thing I had to enter manually was the database information listed above. Once the installation process was complete, I deleted the install directory as directed by the installation wizard, and my site was up! Since this was being set up for a review, I didn't want to wipe out my personal site, so I purchased a new domain name specifically for this review, ReptileClan.net, which was suitable (and available) since I was to be creating a social NETworking site. After working with the administration console for about an hour, this is what phpFox version 1.6.21 looked like:

Figure 1

Out of the box features of phpFox 1.6.21 include:

  • AJAX Capabilities
  • Video Module
  • Music Module
  • Gallery Module
  • Blog Module
  • Forum Module
  • Poll Module
  • Group Module
  • Classified Module
  • Quiz Module
  • Event Module
  • Tags
  • RSS
  • Instant Messenger
  • Chat & Shoutbox
  • ProTheme Plug-in
  • Social Bookmarking
  • Plug-in Importer
  • My Account
  • User Profiles
  • Admin Control Panel

Unlike CMSes like Drupal or Joomla, where you have to install these modules separately, test them, them implement them (and many trial and error problems where one module stops other modules from working, then trying to figure out specifically which module is creating the problem), phpFox' modules work right out of the box. The administration control panel is easy to use, and features a dropdown menu system (another module you would have to install with other CMSes) that makes accessing specific admin features a simple, quick process.

While I was very impressed with the software thus far, I was interested in seeing what the upcoming release, version 2.0, had to offer. At the time of this review, it was available in beta form for testing, with a projected release date of December 23rd, so I downloaded version 2 RC4 (release candidate 4), deleted all the files from my web server, created another fresh MySQL database, uploaded the files for version 2 to my web server, and started the installation process over again. Guess what? It was even easier this time!

For this install, I didn't have to manually change the permissions on the files or directories (although it is still recommended). I was able to just follow the online installation wizard, enter my database information, and finish the installation by deleting the install directory.

Before we go any further, we should discuss the differences between version 1.6.21 and the upcoming version 2. Version 1.6.21 used the Smarty template system. Smarty is a web template system written in PHP that was designed to "simplify compartmentalization, allowing the presentation of a web page to change separately from the back-end." Version 2 is being entirely written by Lead Developer Raymond Benc from the ground up. While the Smarty system has many benefits, it also has many limitations, and Mr. Benc has raised the bar with the upcoming release of phpFox version 2.

Version 2 is more advanced, with more features and better scalability performance. Benc Enterprises conducted a scalability test (detailed on their blog from September 4th) using Apache Benchmark. They used a document of 32463 bytes using both versions, and version 1.6.21 downloaded the document in 135.778 seconds, while version 2 downloaded the same document in 103.742 seconds, a 32-second improvement. While 32 seconds may not be much, in terms of page loading, it can mean the difference between a site visitor staying on the site or going somewhere else.

Version 2 is also being developed to be much more SEO-friendly. In the new release, they have gotten rid of duplicate content and duplicate tags on different pages (which some search engines will drop your rankings for). Each section can have a different title and meta tags, and they have removed the branding that said "powered by phpFox", which helped their rankings but did little to help the rankings of the site itself. Additionally, they have integrated an upgrade feature to "make sure clients do not lose their search engine rankings on items such as blogs, photos, events, etc… version 2 is built to auto redirect these old items to their new items. We also let the search bots know that this is a permanent move. This also covers sections and not just when visiting an item from v1.6.21." Pretty slick!

Other SEO improvements include additions to visitor's profile pages. User profiles now include custom descriptions (provided by the user) along with information about the person and Meta descriptions that an administrator can provide using the Admin Control Panel. Users who have begun using the Version 2 release candidate have already reported great improvements in search engine rankings, so it appears that the SEO changes will make significant search engine rankings.

Core Features of phpFox Version 2

I seriously don't have the space to write about all the features of this software, but I'll try to cover the key, important updated features that make phpFox 2.0 so versatile and powerful. First, let's talk about the user profile page. When a member signs up, they are able to create a profile page that is similar to those seen on Facebook and MySpace. By default it includes fields such as Interests, About Me, Music, Movies, etc., and the admin can edit, add or delete those fields, make them required, or not, and the user can further customize their profile using a specific feature called, as you may have guessed, Customize Profile. Here's how my profile looked by default (after I changed it to span the browser window 100%--normally it is set by default to be a specific pixel width):

Figure 2

The Customize Profile section, known as the Profile Designer, has four sections that allow a user to customize their profile:

  • Themes
  • Blocks
  • Advanced
  • CSS

Here's what it looks like while I'm customizing it using the Blocks section and removing some of the sections (which are appropriately called "blocks"). Since I don't currently have any songs, events or marketplace (classified) ads listed, I removed those sections from my profile by clicking on them.

Figure 3

Currently there is only one Theme, (the default phpFox theme), for users to choose from, but once the product is "officially" released in December, admins can add as many themes as they wish (they are being produced as I type). There are many free themes available on third-party sites, as well as many professional themes for sale, not to mention custom themes that you can have third-party developers create for your phpFox site.

The Advanced section enables members to customize many sections of their profile, including:

  • Background
  • Page Width
  • Link
  • Link Hover
  • Search Bar
  • Header
  • Menu
  • Menu Link
  • Menu Link Hover
  • Profile Header Link
  • Profile Link
  • Block Body
  • Block Header
  • Bottom
  • Bottom Link
  • Bottom Link Hover
  • etc.

Finally, the CSS section enables the member to add their own CSS code to their profile, and preview it instantly on the spot.

Let's move on to some of the updated features, which we'll cover briefly to give you an idea of just what this CMS is all about.

  • Ban Filters - Admins have the ability to ban members based on Username, email address, display name, IP address, or words.
  • Registration Form Control - Admins can control what fields are required during registration.
  • Emoticon Management - Emoticons are now split into packages, which can be uploaded directly from the Admin CP.
  • Online Status/Invisible Mode - Members can choose whether they want to be shown as being online, or "invisible", much like MySpace or Facebook
  • Module Items, Public or Profile - This feature enables admins to decide if when members view an item, it shows up on another user's profile, or within the public module section.
  • Theme Manager - This feature enables admins to modify aspects of the new theme system; essentially, they can edit styles and themes separately, which makes upgrading a theme a seamless operation.
  • Custom Fields - Admins can add custom fields to the registration form, and make the new field required for registration (or not).
  • Image Watermarking - Any or all images on the site can include imagemarking, and the admin can specify where the imagemark appears on the image, and also has the ability to change the imagemark itself.
  • Video Module - The Video Module enables members to upload videos from the popular video hosting sites such as YouTube, MySpace Video, Break, Metacafe, etc. by simply choosing the category they will appear in, and entering the URL of the video--phpFox does the rest, including making thumbnails of the video, and placing it on the page. Very slick feature!
  • Marketplace Module - This module enables members to place classified ads on the site, using photo attachments, etc. and also allows administrators to approve listings, feature specific listings, etc.
  • Instant Messenger - Links appear on user profiles so other members can start chatting live with other members, as well as send other members Instant Messages.
  • Profile Photo Cropping - Members can crop their own images using the WYSIWYG phpFox photo cropping tool. It's easy to use, and very handy!
  • Profile Privacy - Members can control who can view the data on their profile pages, including updates, profile info, video, photos, recent views and marketplace listings.
  • Spam Filtering - With added support for Akismet, spam can be virtually eliminated from the various sections on the site, including comments, user groups, blogs, external link page redirect warnings, PMs, etc.

Conclusion

To put it mildly, I was impressed when I worked with phpFox version 1.6.21, but after working with version 2, I am really looking forward to December for more than the usual reasons! This social networking software enables developers to create social networking sites with the features that users expect from the top sites out there, and makes it possible to develop their site without delving into PHP code or programming skills. If, on the other hand, they are proficient with PHP, the software enables them to add their own modules, which can use their PHP programming. That, along with the ability to style and theme the site to their own specific look and feel, makes this software a major competitor to Drupal, Wordpress and other popular CMSes.

Original: October 28, 2009