Start a hosting plan from $3.92/mo and get a free year on Tuts+ (normally $180)
Social network implementation has become a necessity for successful websites. Joomla!, the popular Open-Source CMS, has some great and affordable ways to bring your site to the social networking level. Let's review how.
This article will walk through the beginnings of setting up a social site using Joomla. Some of the end goals and solutions will vary depending on your needs.
Joomla! shouldn't just be looked at as a CMS but a framework from which to build your applications and accomplish your dreams. Before you jump in and start lacing together extensions to build your site, proper planning and a roadmap is essential.
So you want to start a social network with Joomla! you say? First you need a purpose statement. In our sample, this is our purpose:
To create and nurture business relationships by offering free network and support opportunities.
After establishing the site purpose we need to know the site requirements. Start by asking questions:
How will people use my site?
Users will create custom content and events. They will also comment and review past events and content.
How will they interact with others?
Interaction will come by having user created groups, messaging, blogs / articles and helps, etc.
How much control do I want to give them?
Users will have unrestricted access to create content, events, comments, etc. Moderators will monitor the activity.
Are there features I can offer users to generate site income?
Users may purchase banner ad spots on the different pages.
Once we obtain answers to our questions, we need to create requirement guidelines to help us find the right Joomla plugins to use. We need the following features:
- Messaging / commenting system for user interaction towards custom created content.
- Event creation, registration, etc.
- Banner system
- A Forum for helpful discussion threads (it's in our purpose statement)
You can find almost anything you need at the Joomla Extension Directory
Finding the Right Plugins
With any large CMS community such as Joomla! there will be a lot of good and bad extensions to choose. Using a bogus plugin could make or break your website. It's important you get it right the first time! Fortunately, Joomla! has some great extension directories for us to look at; each with reviews, ratings, and more. Here are some good resources for Joomla! plugins:
After surfing the directories and reviewing features, I chose the following extensions:
Most of the core features we need are in this component. It also has a plugin system, making our site future-proof and giving us the opportunity to offer new features to our users.
This component has event creation, management, plugins, registration, and more. It integrates with JomSocial as well.
This component extends the core Joomla content features for a more social blogging experience. This has JomSocial integration as well.
This will offer our users a support forum. They are working on a JomSocial integration for the user profiles.
This will allow for reviews and commenting. It has integration with JomSocial and EventList.
This is another option we could use for commenting. This will allow users to comment on user created content. It also integrates into the social component core, so comments can be displayed on user profile pages.
This allow an easy way for users to publish ads on our site.
I had some determining factors in deciding the components to use. I wanted to make sure they were well supported, had good developers behind them, integrated with each other, and easy to customize.
The default JomSocial template
You will notice that some of these are commercial plugins and the core plugin we're using, JomSocial, is quite expensive. There are free alternatives out there to try as well. Community Builder is a quality Joomla! extension that could accomplish a lot of the same things JomSocial does. It has a lot of extension integrations available as well. There are open-source commenting and banner ad extensions you can find in the Joomla directories. Amy Stephen and some other developers are creating the impressive new blog extension, Tamka. It should be available for BETA soon!
In the end, I chose the more expensive route because I am comfortable with what they can do.
Using Joomla's installer we can systematically install our extensions into the site. Once this is done, all that is left is configuring the individual extensions and tweaking our layouts. Let's go over some of the highlights:
Templates that come with JomSocial
You will find the settings for JomSocial are easy to manage. Because of the nature of our social network, our users will be doing a lot of the managing and setup too! Some of the initial things that must be done are:
- Setup initial groups
- Setup user profile fields and information
- Setup the user point system
- Customize the look and feel
To control the look and feel, JomSocial has many templates to choose from or you can create your own. You can also use template overrides to customize the site too!
The EventList Dashboard
Allowing users to create their own events, venues, etc. is important but you should have some initial ones created to fill things in. As with all the extensions I chose, EventList is easy to customize the look and feel to match the site. You can edit the CSS file right from the administration panel if needed. Once EventList is up and running we need to install the plugin integration with JomSocial.
Blog, Comments, and the Forum
These extensions follow suite. Configuring them and linking them appropriately in your menus is all you have to do.
Each of the extensions we chose should be easily implemented into our site. As mentioned before, one of the reasons I chose the above extensions is for customization. Most have templating / view files where you can change the markup and CSS to mold it to the look and feel of your design.
With so many extensions available for Joomla!, it's easy to setup a cost-effective social network. Here are some Joomla! social network launches (for your inspiration):
- Subscribe to the NETTUTS RSS Feed for more daily web development tuts and articles.