We're happy to announce the launch of ColumbiaWillamette.com recently, home of Columbia Willamette Investments, LLC (CWI). This is an interesting company, as their service is somewhat unusual. What they do is work with affluent foreigners who wish to move to the United States and immigrate via a program the U.S. government has known as the EB-5 Immigrant Investor Program. I won't go into detail on that here, as you can read up on that at their web site.
One of the tech challenges to this web site was in their user registration system. What happens is that various investors, both international and domestic, visit the site and, if they want to work with CWI, they need to register first. So, as many may know, the Joomla! CMS comes built in with what's called Access Control Levels and User Groups. These allow you do setup various user types and also control what these types of groups can do on the site. In fact, for most things in Joomla, you can set an access level. This is neat because, lets say you have an investor who comes to the site and logs in. Well, you may want to show additional menu items to that person. You may also want to tailor various web pages to that person, showing him or her different sidebar information than a normal, "public" visitor might see. All of this functionality is built into Joomla! That's not to say that it's already configured to work the way you will want it to work; rather, the system is there for you to custom-configure for your needs. Anyway, we got that done for CWI, adding in some enhanced, proprietary processes to make everything a bit smoother.
The user system, by the way, is one of the easier Joomla! components to build onto, in my view. Mainly, this is because it really doesn't require too much in-depth knowledge of the Joomla! system, other than obtaining an understanding of various encryption methods used. Aside from that, one can pretty freely write directly into Joomla's user system if one wants. This is not always the case in Joomla!, as many of the database tables require that you leverage Joomla's own API for such things (a technical point, but a relevant one, nevertheless). (And, of course, if you're going to write into Joomla's database, you should definitely know what you're doing, as you could fairly easily mess up your entire site if you don't!)
For this project, we started off with RocketTheme's Anacron template, then customized it, more in some areas than in others. The menu system, especially, received a good deal of CSS work. But, that's often the case, as the menu system is generally fairly complex CSS-wise, so any customizations there usually take more time -- especially if they're significant design changes.