Profile Plugin
Making your October CMS users more personal.
Provides all your site users a way to manage their own profiles. Build community inside your site where front end users can access other users contact and profile information for collaboration and communication. Configure components to only show some groups of users. Great for clubs, unions, churches, associations, and small businesses. Want your users to get to know each other better? This is a great place to start.
Requires:
- User plugin by RainLab
- Location plugin by RainLab
- UserPlus plugin by RainLab
- Passage Permission Keys plugin by Kurt Jensen
Profile plugin provides:
- Front end User import and export New! ( extended profile import and export will be added in a later update )
- Users Dashboard that allows you to see statistics on users like how many are activated, how many are deleted, and what groups they are in. It also provides a way to un-delete ( restore ) soft deleted user accounts.
- Front end User Directory (Now with V-Card downloading)
- Front end Avatar form
- Front end Avatar Picture Gallery
- Front end profile information form for users with selectable information sections
- Front end profile information form for delegated user/profile admins selectable information sections
- Front end profile information form is extendable by other plugins to add their own sections to forms
- Adds Birhtdate and gender fields to users
- Adds back end configuable extended information for front end users
- Unlimited, customizable text, textarea or dropdown fields with admin set labels and choices for user information.
- Better backend user-group control and editing
- Back end main user group field ( field added by profiles plugin)
- Back end merge interface to transfer information between user profiles when an already registered used registers again with another email address. (See video: https://vimeo.com/122875572)
Other profile related plugins
There are other user information plugins that will work with Front End Profiles to help enhance your front end user information and member communication.
-
MyCalendar Allow users to create and view events on a flexible calendar.
- Use permissions to control which groups can see what event categories.
- Use permissions to control which users can add events.
-
Cellphones for adding multiple phone numbers to users.
- Shows links on frontend that allow other users to easily text, email, or call other user phones.
- Adds a panel to the front end profile information form
-
User Select provides the following functions
- Attendance List ( In process)
- Group Mobile Phone Messaging for front end users ( Available with Cellphones)
The following plugins are required
User
Front-end user management.
User
Front-end user management.
User Plus+
Adds extra features to the User plugin.
User Plus+
Adds extra features to the User plugin.
Location
Adds location based features, such as Country and State.
Location
Adds location based features, such as Country and State.
The following plugin extends or depends on the plugin
( Installation code : kurtjensen.profile )
Installation
- Install other required plugins
- User plugin by RainLab
- Location plugin by RainLab
- UserPlus plugin by RainLab
- Passage Permission Keys plugin by Kurt Jensen
- Download plugin to plugin directory as you would any other plugin.
- Logout and back into october backend.
- Go to Settings - limit view by entering the search term "profile"
- You may use "Manage Profile Tabs" to add sections ( Categories ) to user profiles. ( The default tabs are Personal, and Professional )
- You may use "Manage Profile Labels" to add fields to the sections from above.
- Set the labels, descriptions and field types for your labels
- You may use "Manage Profile Panels" to edit the panels registered by october plaugins. You may enable or disable panels here also so they are not available in the Profile Panel Component.
- Goto Users - All Users and start editing each users information or setup a front end page where users can edit their own using the "Profile Panel Component".
Adding a front end page with user profile forms
The "Profile Panel Component" provides a tabbed interface that can be used by front end users to edit their own profile information.
Here is a sample page setup:
-
Create a new page titled "Account"
-
Set URL to "/account/:code?"
-
Add components "Account", "Profile Panel", and "Session" by draging and dropping the "Account" and "Profile Panel" components in the markup area. "Session" component can be double clicked as it does not need to be in the markup area.
-
Check the boxes in the "Included Panels" property of "Profile Panel" that you want to show in your page.
-
Add page markup:
{% if user %} {% component 'ProPanel' %} {% else %} {% component 'Account' %} {% endif %}
-
Save your new page and test it out.
See also: Guide for user to upload image from frontend https://vimeo.com/122505195
Adding a front end page with delegated user-administrator profile forms
WARNING: This page needs to be protected from average user access.
The "User Administrator Panel Component" provides a tabbed interface that can be used by front end users to edit other profiles of users in their own primary user-group.
Before you start Use instructions from Passage Permission Keys plugin to protect this page.
- You will want to create a new key and user-group for profile admins and only allow people you delegated as user administrators to access the component on this page.
The page will contain the forms for your delegated user admins can use to edit profiles of users in their primary group.
Here is a sample page setup:
-
Create a new page titled "Profile Administration"
-
Set URL to "/profile-administration/:slug?"
-
Add component "User Administrator Panel" by draging and dropping the component in the markup area.
-
Check the boxes in the "Included Panels" property of "User Administrator Panel" that you want to show in your page.
-
Add page markup:
{% if can('ProfileAdmin') %} {% component 'AdminPanel' %} {% else %} <p class="bg-danger">This page restricted to profile administrators only!</p> {% endif %}
-
Save your new page and test it out.
Displaying Extended Info and Extended Info Form
The Extended Info component is depreciated and may be removed in future updates.
Creating User Directory Page
The User List component displays a directory of users where you can view all user information. You can add the component to your page and render it with the component tag:
{% component 'UserList' %}
Component Settings you will want check or set:
-
Selected User Slug - ( Optional ) Slug for displaying a single users information. If used, page will only display user with an id that matches the slug.
-
Show Country Field - Do you want country fields to show in directory?
-
Default Sort Order - How users are sorted when page opens.
-
Vcard Page - Page where the V-card (Add To Contacts) download page is located (See VCard Component below.
Creating a VCard Download Page
The VCard Component component allows your logged in users to download user information to their electronic address books. You can add the component to a blank page and render it with the component tag:
{% component 'VCard' %}
You will not want any Layout for this page because it is only for downloading vcards and should not display anything else to user.
Component Settings you will want check or set:
-
Selected User Slug - Slug for selecting users information to download.
-
Permission For Access - The permission required to download a vcard (see Frontend Roles Manager plugin by TreeFiction).
WARNING - If you choose "none required" then anyone can download v-cards even if they are not logged in.
Creating User Photo Gallery
The Gallery component displays a all the user avatars that have been uploaded by your users. You can add the component to your page and render it with the component tag:
{% component 'Gallery' %}
Component Settings you will want check or set:
- Pictures Per Page - How many photos do you want to show on a page.
Events
This plugin will fire some global events that can be useful for interacting with other plugins.
- kurtjensen.profile.beforeSave: Before the user's changes are saved. Passes the variables posted from the form.
- kurtjensen.profile.afterSave: After the user's changes are saved. Passes the variables saved from the form and the original user model from before the changes.
Here is an example of hooking an event:
Event::listen('kurtjensen.profile.afterSave', function($new_data, $old_user) { // Check to see if user changed their email address if(!$new_data['email'] == $old_user->email){ // Do something if user changed email address } });
Did you find this plugin useful?
Please take some time to provide feeback regarding this plugin. These plugins take many hours to develope and your feedback can be provide significant motivation for coders to make improvements and additional plugins. Please visit http://octobercms.com/plugin/kurtjensen-profile#reviews and provide your review.
If you need help or are having trouble with my plugins then contact me and I will do my best to resolve your issue and consider your suggestions. Please give me a chance to make it right before posting a negative review.
Thank you for your patronage.
Sincerely
Kurt Jensen <kjensen@iaff106.com>
Washington State / USA
-
Hessel
Found the plugin not useful on 1 Dec, 2020
after 1 month still no support.
-
Endi Hariadi
Found the plugin useful on 16 Feb, 2020
Good plugin.
-
zack
Found the plugin not useful on 13 Aug, 2015
It's still need to be improved. Has some missing features and bugs.
-
imunisasi
Found the plugin useful on 17 Mar, 2015
Very nice plugin and great support, another plugin form this user also great Thanks
-
1.3.7 |
Fixes Call to undefined method KurtJensen\Profile\Updates\EProfilesTableNullable:down() Apr 26, 2021 |
---|---|
1.3.6 |
Adds kurtjensen.profile.afterSave Event to allow other plugins to react to user edits. Feb 13, 2021 |
1.3.5 |
Adds ability for front-end profile admins to add users. Feb 05, 2021 |
1.3.4 |
Fixes Property of none error when editing address with unset state Dec 31, 2020 |
1.3.3 |
Fixes Undefined offset UserList.php line 182 Sep 25, 2018 |
1.3.2 |
Adds User Import/Export Aug 26, 2018 |
1.3.1 |
Refactored Gallery component Feb 18, 2018 |
1.3.0 |
Added a user dashboard to more easily manage users and restore deleted users Jan 17, 2018 |
1.2.7 |
Updated to changes made in Passage Permission Plugin up to version 1.0.12 Nov 22, 2017 |
1.2.6 |
Make fields nullable in profile_panels Oct 10, 2017 |
1.2.5 |
Fixes birthdate not refreshing on save where was null Aug 10, 2017 |
1.2.4 |
Fixes Invalid partial name: {{ __SELF__ }}::userdisplay Aug 10, 2017 |
1.2.3 |
Adds Lock, Admin, User fields to Panels and moves Register Profile Panels back to Plugin.php Jul 16, 2017 |
1.2.2 |
Fixes DOB format() on null error on edit Jul 14, 2017 |
1.2.1 |
Register Profile Panels Jul 14, 2017 |
1.2.0 |
Adds Sex and DOB to profile. Adds enhanced unlimited profile fields Jul 14, 2017 |
1.1.12 |
Fixes fill() on null error on extended info component May 10, 2017 |
1.1.11 |
Adds USer list to Group Controller Dec 15, 2016 |
1.1.10 |
Fixes VCard Passage Permission Error Nov 06, 2016 |
1.1.9 |
Updated to changes made in Passage Permission Plugin Oct 04, 2016 |
1.1.8 |
Add Password form for frontend May 16, 2016 |
1.1.7 |
Fixes missing Event class in MyInfo.php Feb 21, 2016 |
1.1.6 |
Fixed Userlist sort by Group Feb 16, 2016 |
1.1.5 |
Added messageURL() to enable Author Notices Feb 14, 2016 |
1.1.4 |
Fixes https://octobercms.com/forum/post/tabs-in-backend-popup-form?page=1 and allows assignment of "Main User Group" on creation. Feb 13, 2016 |
1.1.3 |
Created table kurtjensen_profile_change Feb 13, 2016 |
1.1.2 |
Fixed Gallery and Vcard components to use Passage Keys instead of roles. Feb 08, 2016 |
1.1.1 |
Fixed sorting by group in User List component. Replace "primary_usergroup" referencesa in remaining components. Feb 08, 2016 |
1.1.0 |
Created "main_group" field in users to replace "primary_usergroup" field created by Roles plugin. This update breaks all ties to Roles plugin. Feb 08, 2016 |
1.0.21 |
Minor user directory module dialog layout fix. Nov 29, 2015 |
1.0.20 |
Restored avatar from restyle of user directory. Nov 09, 2015 |
1.0.19 |
Restyled user directory to use module dialog. Nov 09, 2015 |
1.0.18 |
Added V-Card Download and fixed sorting issue in user directory. Oct 04, 2015 |
1.0.17 |
Added option to have standard dropdowns in basic information forms Sep 27, 2015 |
1.0.16 |
Changed old User Country and State to the New RainLab.Locations and UserPlus plugins Sep 27, 2015 |
1.0.15 |
Added Counrty field option to MyInfo component and UserList Component Aug 15, 2015 |
1.0.14 |
Fix bug caused by fix in 1.0.13 Jul 24, 2015 |
1.0.13 |
Fix onUpdate user and ext-user for Build 273 Jul 24, 2015 |
1.0.12 |
Fixed sort in pagination for avatar picture gallery Apr 11, 2015 |
1.0.11 |
Added avatar picture gallery Apr 11, 2015 |
1.0.10 |
Added profile image zoom and icon style links Apr 05, 2015 |
1.0.9 |
Added single user view function to Userlist Mar 24, 2015 |
1.0.8 |
Added User Merge feature to backend Mar 21, 2015 |
1.0.7 |
missed 'foreignKey' in update to RC Mar 10, 2015 |
1.0.6 |
Update to RC compatible. Mar 10, 2015 |
1.0.5 |
Fix iPhone edit link bug. Mar 03, 2015 |
1.0.4 |
Change family_name to surname and drop given_name Mar 03, 2015 |
1.0.3 |
Change String fields to Txt to allow more content Feb 11, 2015 |
1.0.2 |
Created profiles table Jan 24, 2015 |
1.0.1 |
First version of Profile Jan 24, 2015 |