I originally wrote these extensions to support groja.com and seeourminds.com. Those two sites are my "main" sites. They use the answers to a personality test to draw images, such as this one, of people's personalities.
I began thinking that these extensions are more generic, and could be useful to people other than me. So after investing a lot of work into these projects I decided, what the heck, why not give these away for free? After all, I am using plenty of free software, specifically Linux, Apache, My Sql, and PHP aka. LAMP, which is all free.
That, anyway, is the short answer. To learn more about why I decided to write each of these, instead of downloading an extension written by someone else that does essentially the same thing, click on Read more.
Each extension has its own story: a reason why I decided to "roll my own" rather than download someone else's work. Here are those stories!
The Joomoo Site Style Story
The Joomoo Site Style was the first extension I wrote. As I learned from working with the PHP Nuke Content Management System, writing a template is a good place to start working with these CMSes.
Why restrict webmasters - and even users - to a single background color, font size, border width, etc.? How am I supposed to decide on values for these parameters that everyone will like? The answer is, of course, I can't. So let's have some fun!
As a developer, writing this extension proved to be a fun project that helped me learn my way around joomla development. It also offered me the chance to try out some simple Ajax calls. And because it's a combination of a template, module, and component, writing Joomoo Site Style gave me experience with three of the four types of joomla extensions.
You can see the module in the upper right-hand corner and the left-hand margin of all pages, and access the component by clicking on Site Style option in the Joomoo Menu.
Webmasters can configure it to save users' parameters in the database for all users or for registered users only. In other words - based on the Save by IP parameter, set in the joomla backend - it saves the values for anonymous users in the database using their IP address, or as cookies in the user's browser.
For a list of all parameters and screen shots of the backend, see the main article about Joomoo Site Style.
The Joomoo Gallery Story
If you check out one of the Joomoo Galleries on this site, you will find out that it is a bit different from other gallery applications. I got the idea for this from the demos on the mootools.net site.
The galleries on this site demonstrate how flexible this extension is. Each gallery contains the same images - screenshots of the Joomoo Extensions' backend fuctionality - but each is configured differently in joomla's backend.
The gallery supports two main options - using sliders to hide all groups but one and allowing the user to resize the image using their mouse wheel - that can be combined in four different ways:
My favorite version of the gallery is the resizable one.
Note though it's quite possible that not everyone wants to resize their images this way. It can be a little bit confusing - and even frustrating to some - to be using the mouse wheel to scroll through the page, then have the scrolling stop and the image change size.
And although it sounds like a good idea, the deluxe gallery doesn't really work that well. Using the mouse wheel to shrink an image works OK, but when the sliders are in play, using it to make the images larger causes them to get cut off. Go ahead, try it yourself!
So it's important that both of the features are strictly optional - so webmasters can set things up the way they want!
For a list of all parameters and screen shots of the backend, see the main article about the Joomoo Gallery.
The Joomoo Comments Story
All Joomoo Extensions are designed for maximum flexibility and low maintenance. The Joomoo Comments extension is a good example.
Webmasters can enable Joomoo Comments for all articles on a site, just one article, or for selected articles. The extension also works with the gallery, allowing comments on any number of gallery images.
For security - that is, to help prevent comment spam - the extension supports two types of CAPTCHA. You know CAPTCHAs: those images with the squiggly letters that you have to "translate," to prove that you're a human on some sites.
The two types of CAPTCHA that Joomoo Comments supports are ReCAPTCHA and Open Captcha. Why support two types? There are many reasons for this, because everything changes so fast! The bottom line is that if one of the two types becomes unusable for any reason, webmasters can switch to the other with the click of a button.
The CAPTCHAs are optional. If a webmaster is running a small site with only a few highly-trusted visitors - and is willing to take the risk - he or she can set the extension to not require CAPTCHA at all. Based on my research, though, apparently it's just a matter of time before the spambots find the vulnerability.
If and when spammers do find the site, the extension supports quick rememdies. Each comment includes an Ajax-enabled "Flag as Spam" link that, when someone clicks on it, sends an email to the webmaster alerting them to this. And if for some reason the site has users who abuse this, the webmaster can disable this feature.
Also, when webmasters view the page, each comment appears with an Ajax-enabled 'X' in the corner that allows quick deletion and cleanup. This 'X' also appears to he author of the comment, in case they have second thoughts and want to delete it.
As a last resort, webmasters can configure the extension to allow only registered users to commment. If a registered user spams the site, the webmaster can use the joomla backend to block the user.
To try out the extension yourself, check out the Joomoo Comments Example on this site.
For a list of all parameters and screen shots of the backend, see the main article about Joomoo Comments.
The Joomoo Rating Story
Joomla includes a rating plugin, but I wanted something totally customizable and Ajax-enabled. Additionally, like the Joomoo Comments extension, Joomoo Rating is integrated with the Joomoo Gallery.
Two other features it includes - written specifically for seeourminds.com - are the ability to have a fixed rating, and to leave the rating off specific articles altogether.
For example, there is no reason to allow people to rate the believability of self-portraits on the seeourminds.com site, because they are guaranteed to be accurate. However we want the posts in the main content area of the site to be visually consistent, so using a fixed rating for self-portraits is the answer.
How the Joomoo Rating and Joomoo Fixed Rating plugins appear is highly configurable. They both allow site administrators to specify:
The extension also allows webmasters to set parameters in the backend to allow or disallow anonymous users to rate articles, and to control the number of consecutive votes a single user can make.
Finally, the plugin's advanced parameters allow webmasters to specify the rating's meanings to be displayed when the user hovers over a bar for all ten possible vote values.
For a list of all parameters and screen shots of the backend, see the main article about the Joomoo Rating Plugins.
The Joomoo User Story
With the Web 2.0 trend toward crowdsourcing, it's important to try to get users to create accounts with minimal intervention by webmasters. It's also important to keep spambots from creating accounts and posting spam in the comments.
The main feature of the Joomoo User extension is to support user account creation only for real people who can solve a CAPTCHA. As with the Comments extension, webmasters can choose one of two types: ReCAPTCHA or Open Captcha
I have some other ideas for further integrating the Joomoo User extension with other extensions. For example, when used with Joomoo Comments it could allow registered users to upload a photo that appears with their comments. Another idea is to allow users to opt in to receiving an email when someone comments after them in a post.
Unfortunately with a full-time, paying job requiring my attention, I have not yet had time to develop this functionality. However, if you are interested in paying for this sort of work, please contact the Joomoo Guy!
For a list of all parameters and screen shots of the backend, see the main article about Joomoo User.
The Joomoo Base Story
Joomoo Base exists solely as a place to keep code that more than one extension can use.
Among other things it contains code to help with things like CAPTCHA and AJAX. This way, when it becomes necessary to change something, I can make that change in just one place, instead of in multiple extensions.
And That's the Joomoo Story!
The last word in this story though is that I really enjoy this sort of work. I enjoy it so much, in fact, that I'm willing to do it for free and donate something back to the open source community!
Site Style Mixed