Profiler
Want a user profile system that isn't heavy? Profiler is designed to be light weight and lightning fast!

WARNING:
- 3/25/11
- cleanup and fixed some errors
- Initial library package created
This is a preview release. IT IS NOT FINISHED!
In need of a Community Building component, I decided to check out a popular component that I had used before (I won't give names). When I used it previously, it was some awesome $#!+, but now it's just.... well... it's not awesome. I was less than impressed with the progress since the last time I used it. Looking through their code, it appeared as if not much had changed in several years. No MVC, a heavy UI, inline JavaScript (yuck), sloppy code... I knew that I needed to do something else. I'm cheap, so JomSocial was out of the question; Profiler was born.
Profiler does the following to achieve blazing speed:
- Uses native libraries
- Profiler uses Joomla core libraries whenever possible in order to stay lean, run and load fast. 1.6 introduced custom profile fields and Profiler takes advantage of this new feature. This means no growing tables. When you want a field, you can query for it without retrieving the entire freaking profile...... Specifically, this will make searching user profiles super fast.
- Mootools
- Profiler uses built-in Joomla JavaScript libraries. No JQuery (I have nothing against JQuery, but Mootools is already used by Joomla - I want it fast, so no 2nd library)
- Component overrides
- Profiler uses built-in Joomla components to achieve certain tasks. This reduces the size of the Profiler codebase. This preview release is only 88K - for comparison, Mootools 1.2 is 84K compressed! Profiler is lean!
- More later
- Hey, this is a preview release! If you like what you see and would like development to go faster, send me a couple of bucks!
Current Status
- What's working now:
- Fields are displayed in the frontend profile view
- Fields are displayed in the frontend and backend user edit screens.
- Currently 20 working field types including all the favorites like radio, checkbox(es), select lists of all types, and several variations of SQL generated fields.
- Fields can be selected for display on registration.
- Fields can be required.
- Field groups using Joomla Categories
- Dynamic form overrides - NO CORE HACKS
- 100% valid XHTML with attention to search engine friendliness.
- What's next:
- Modularize the field types into Joomla plugins....maybe libraries...I need to experiment with that... However I do it, it will definitely utilize the Joomla installer classes because I'm lazy and I don't want to re-invent that wheel. This is the very first change that will happen as most of the rest of the functionality depends on the fields.
- Implement field dependencies - one field requires another (or more) to be a certain (array of) value(s) prior to being displayed.
- Image type - I found a great webcam flash file that I'd like to implement.... uploads too, resizing, cropping - all the good stuff
- Implement Terms and Conditions agreement
- Google Maps integration, browser location, ip geo lookup - general lat/lon capture capability
- Implement first/last name by overriding the standard name "Name" label to become "First Name", then use a custom field to create "Last Name" (middle even) - this will be automated.
- Option for users to make their entire profile public, private or visible only to users they're connected to. Admins can enable this feature.
- Option for users to make individual fields private, public or visible only to users they're connected to. Of course, and administrator can make this option available on a per-field basis.
- Override the com_user router to utilize username in the URL instead of the user ID number in the URL.
- Super search plugin
- Some new approach to user lists....not sure how I'll go about this, but it will be awesome and more importantly - it will be FAST.
Download and take a look, but be careful. This isn't ready for production. In fact, it might even steal your car. What you're getting is an install package containing 1 component and 2 plugins. I'm having trouble getting the package installer working correctly, but it does install and uninstall. You'll see some errors on uninstall though - nothing serious.... I'll get it worked out. I've done a lot of testing on this, the errors are harmless, but annoying.
I've been working on this for almost a year in my spare time. It's reached the point that it is usable for me in one project, but I have bigger plans. Groups, connections, subscriptions, geo-coding, integrations - I want it all. I'd say that I'm at about 30% now. Profiler has a long way to go, but I'm committed.
Still with me? Cool. Install the package - it will install 1 component, 2 plugins and 1 library. ENABLE both plugins "User - Profiler" and "System - Profiler" as well as DISABLE the Joomla "User - Profile" plugin. Create a menu item to the com_user Profile view. Create a category and put field in it within profiler in the backend. Log into the frontend and put some data into your new field. Then send me an email with your suggestions and requests. <hypnosis>Click the donate button below and send me some money so my wife doesn't think this is a waste of time.</hypnosis>
As with all of my extensions, Profiler will be released free of charge under GPL license.
RicheyWeb Joomla extensions are free! Additionally, they contain no advertisements or links back to RicheyWeb.com. If you feel that I have blessed you, then you can bless me. Click to make a donation to fund future development.