BC User Register User Placement
This extension provides a workflow event and settings to move a user upon creation to a specific user group or other content tree node based on the selection choice made during user registration (via user input)., (*1)
Great for organizing user object within specific groups automatically!, (*2)
Version
-
The current version of BC User Register User Placement is 3.0.0, (*3)
-
Last Major update: June 13, 2015, (*4)
Copyright
-
BC User Register User Placement is copyright 1999 - 2016 Brookins Consulting and Tore Skobba, (*5)
-
See: COPYRIGHT.md for more information on the terms of the copyright and license, (*6)
License
BC User Register User Placement is licensed under the GNU General Public License., (*7)
The complete license agreement is included in the LICENSE file., (*8)
BC User Register User Placement is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as published by
the Free Software Foundation., (*9)
BC User Register User Placement is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details., (*10)
The GNU GPL gives you the right to use, modify and redistribute
BC User Register User Placement under certain conditions. The GNU GPL license
is distributed with the software, see the file doc/LICENSE., (*11)
It is also available at http://www.gnu.org/licenses/gpl.txt, (*12)
You should have received a copy of the GNU General Public License
along with BC User Register User Placement in doc/LICENSE. If not, see http://www.gnu.org/licenses/., (*13)
Using BC User Register User Placement under the terms of the GNU GPL is free (as in freedom)., (*14)
For more information or questions please contact: license@brookinsconsulting.com, (*15)
Requirements
The following requirements exists for using BC User Register User Placement extension:, (*16)
eZ Publish version
-
Make sure you use eZ Publish version 4.3 (required) or higher., (*17)
-
Designed and tested with eZ Publish Community Project 2014.11, (*18)
PHP version
- Make sure you have PHP 5.x or higher.
Features
Dependencies
- This solution depends on eZ Publish Legacy only
Workflow event
This solution overrides the following workflow event:, (*19)
- Workflow event :
bcuserregisteruserplacement
Settings
This solution provides many settings. Some settings are required and must be customized upon installation and other settings are optional., (*20)
This solution's current settings are compatible with previous users of the eZ Publish 3.x placeusers
extension., (*21)
Review the settings and educational comments in the bcuserregisteruserplacement.ini.append.php
file, bcuserregisteruserplacement.ini.append.php, (*22)
Debugging
This solution's workflow event logs execution notices to the var/log/notice.log file, (*23)
This solution's workflow event logs execution debug notices (when enabled via ini settings) to the var/log/debug.log file, (*24)
Installation
Extension Installation via Composer
Run the following command from your project root to install the extension:, (*25)
bash$ composer require brookinsconsulting/bcuserregisteruserplacement dev-master;
Extension Activation
Activate this extension by adding the following to your settings/override/site.ini.append.php
:, (*26)
[ExtensionSettings]
# <snip existing active extensions list />
ActiveExtensions[]=bcuserregisteruserplacement
Regenerate kernel class override autoloads
Regenerate kernel class override autoloads (Required)., (*27)
php ./bin/php/ezpgenerateautoloads.php;
Clear ini caches
Clear eZ Publish Platform / eZ Publish Legacy caches (Required)., (*28)
php ./bin/php/ezcache.php --clear-tag=ini;
Configuration
User Group Creation
-
Then navigate to the admin siteaccess User accounts
tab, (*29)
-
Create the user groups (two or more) new users should be moved into based on user register selection choice, (*30)
-
Note the new user group's Node ID
value and name, (*31)
User Class Customization
-
Then navigate to the admin siteaccess Setup
tab, then click the Classes
left side menu link, then click the Users
Class Groups
list item link, (*32)
-
Click the edit icon on the default user class (or the user class you wish to use with this solution), (*33)
-
Add a new attribute of type 'selection' (using the ezselection datatype), (*34)
-
Customize the new selection attribute name and identifier. Note the class attribute selection identifier as you will need to store it within ini settings, (*35)
-
Add two or more selection options. Note that the selection option text will be displayed as the selection name and the text entered here does not technically have to have anything specifically user group storage choice (this association is determined by matching option / settings order in the setup of ini override settings and user class selection option order), (*36)
-
Save the user class changes by clicking 'Ok', (*37)
Settings Configuration
-
Create a settings override of the settings file extension/bcuserregisteruserplacement/settings/bcuserregisteruserplacement.ini.append.php
in the settings/override
directory. IE: settings/override/bcuserregisteruserplacement.ini.append.php
., (*38)
-
Customize the settings override settings as required or needed, (*39)
-
Required: You must add the nodeID
s of the user groups into the MoveToUserGroupId[] settings array. Here is a example that would work in a default installation of eZ Publish Legacy:, (*40)
MoveToUserGroupId[]
MoveToUserGroupId[]=14
MoveToUserGroupId[]=213, (*41)
-
Required: Please pay specific attention and notice that the order of the entries in the MoveToUserGroupId[]
settings array must match / corespond to the order of the user class selection attribute options order for the users to be moved into the correct user group upon user creation, (*42)
-
Required: You must review and customize the user class selection attribute identifier used when adding the content class selection attribute content. the user class selection attribute identifier expected by default is type
. You can use any supported identifier you wish but if you change the identifier then you must customize the UserAttributeSelectionIdentifier
setting. Here is a custom example:, (*43)
UserAttributeSelectionIdentifier=user_group_selection_type, (*44)
Workflow Configuration
-
Then navigate to the admin siteaccess Setup
tab, then click the Workflow
left side menu link, then click the Standard
Workflow groups
list item link, (*45)
-
Click New workflow
button, (*46)
-
Add the text BC User Registration User Placement
into the name field or any other text you prefer as this text is only displayed in the trigger list workflow selection menu choices, (*47)
-
Select Event / BC User Register User Placement
workflow event item in the workflow event selection menu and click, Add event
, wait for page to reload normally and click Ok
, (*48)
Workflow Trigger Configuration
Now add the workflow to an trigger, i.e:, (*49)
-
Then navigate to the admin siteaccess Setup
tab, then click the Triggers
left side menu link, (*50)
-
For the Module, Function, Connection type
entry, content, publish, after
in the Workflow
selection menu, select the name of the workflow you created earlier, we suggested, BC User Registration User Placement
, (*51)
-
Click Apploy changes
button and wait for the page to refresh normally and thus saving your changes, (*52)
Note: This solution can also be used with a Workflow Multiplexer if you prefer or require additional workflow event flexibility and control, (*53)
Usage
Example Usage Setup
-
Employee users having selection with identifier type
with options journalist, driver, cheif
in that order, (*54)
-
Creating user groups drivers , journalists, cheifs
with nodeIDs 23, 24, 25
, (*55)
-
Edit settings override: settings/override/bcuserregisteruserplacement.ini.append.php
and customize required settings with nodeIDs and selection attribute identifiers. Here is an example:, (*56)
[BCUserRegisterUserPlacement]
UserAttributeSelectionIdentifier=type
MoveToUserGroupId[]=24
MoveToUserGroupId[]=23
MoveToUserGroupId[]=25, (*57)
Testing
The solution is configured to work once properly installed and configured., (*58)
Simply navigate to the user/register
module view and register a user., (*59)
Note: If you do not edit your settings/override/site.ini.append.php
settings override file and have the following (empty) setting than all new user registrations will require new user registration email activation (user must check for email sent from eZ Publish containing a unique link to activate the user account before the user can login )., (*60)
[UserSettings]
VerifyUserType=
Note: If you use any kind of user account creation moderation then this solution will not be used until after the admin user moderating has approve the user account creation. This solution has been designed to work regardless of user account creation moderation system used., (*61)
Then navigate to the admin siteaccess User accounts
tab, to the expected user group node and confirm that the newly registered user has been created., (*62)
Troubleshooting
Read the FAQ
Some problems are more common than others. The most common ones are listed in the the doc/FAQ.md, (*63)
Support
If you have find any problems not handled by this document or the FAQ you can contact Brookins Consulting through the support system: http://brookinsconsulting.com/contact, (*64)