| My plan to bring you up to speed includes:
Of course, please suggest any changes you see fit. |
Click on a title to see the detail
Current Situation
Here is some background
- This is the last major step in the site renovation
- The focus is to develop Group Functionality
- This functionality will allow users to develop their own support communities to help in managing their careers
- Our plan is for 2 types of communities - 1. Career Councils and 2, Career Alliances
- I've settled on two Joomla Extensions for doing this:
- Membership Pro for forming and managing groups
- Community Builder/GroupJive Plugin for user group collaboration
- These minimize the amount of custom code needed on our side, which is important in the long-term
- Joomla is constantly being upgraded and the owners of these Extensions upgrade tthem -we don't have to
- Once this project is done we can start the rollout - we have 2,000 users
Use Cases.
Career Councils
Career Councils allow users to create a personal support group of up to 12 people during a job loss. These councils serve as a sounding board and provide essential moral support during one of the most stressful events in modern life. Collaboration tools, including a Zoom membership, are provided. Invitees don’t need to be current users; they receive free membership to the site and the chance to unconditionally support a friend in need.
Career Alliances
Career Alliances enable users to form industry-specific communities of up to 150 professionals (based on the Dunbar number) who agree to unconditionally support each other throughout their careers. Many members will have worked together in the past, leveraging the fact that over 50% of jobs are secured through introductions by former colleagues.
In addition to collaboration tools provided to Councils, Alliances focus on Knowledge Bases that help members stay updated on developments in their industry segments. As a secondary benefit, members can offer their companies access to this talent pool for a fee.
Core Value
Career Actions is a nonprofit dedicated to building communities of kind individuals committed to unconditionally helping one another. Staying true to its philanthropic mission, a portion of all revenue raised will be donated to charity, with an initial focus on supporting low-income single parents, including immigrants.
Best AI Solution
AI solution to automatically create unique GroupJive groups (needed for collaboration and to keep Councils seperate from one another) when a Career Council is initiated, This approach is scalable and eliminates unnecessary administrative overhead.
Dynamic Group Creation for Career Councils
Instead of relying on predefined groups, each Career Council can be dynamically created and assigned to the initiator as the Group Owner when they subscribe or fill out the form.
Steps to Implement Dynamic Group Creation
1. Leverage Membership Pro's Event Hooks
- Membership Pro provides event hooks such as:
onSubscriptionActivated: Triggered when a subscription is activated.onSubscriptionAdded: Triggered when a subscription is created.
- Use these hooks to execute a custom PHP script that creates a new GroupJive group.
2. Write a Custom Script for Group Creation
The script will:
- Retrieve the Joomla User ID of the Career Council initiator.
- Insert a new group into the GroupJive database tables.
- Populate group details such as:
- Group Name: Dynamically generated (e.g., "Career Council - [Council ID]").
- Owner ID: The Joomla User ID of the initiator.
- Category: Assigned to "Career Councils."
- Group Type: Private or invite-only (depending on your preference).
Example PHP Code:
3. Trigger the Script During Subscription
-
Hook the
createGroupJiveGroupfunction into Membership Pro’s subscription process:- In the
onSubscriptionActivatedevent, pass the user ID and relevant form fields (e.g., Council ID, Role) to the script.
- In the
-
Update the GroupJive database dynamically:
- Assign the initiator as the group owner.
- Name the group based on the
Council IDor other relevant data from the subscription form.
4. Configure Group Permissions
In GroupJive > Configuration > User Permissions:
- Ensure that group owners (initiators) can:
- Invite members.
- Manage group settings.
- Ensure regular members have limited permissions, such as viewing and participating in discussions.
5. Test the Workflow
- Initiate a Career Council:
- As a test user, subscribe to the Membership Pro plan or fill out the Career Council form.
- Check GroupJive:
- Confirm that a new GroupJive group is created dynamically.
- Verify that:
- The group is named correctly.
- The initiator is the owner.
- Permissions are applied properly.
- Invite Members:
- Ensure the group owner can invite members, and invited members are added to the group automatically.
Advantages of Dynamic Group Creation
| Benefit | Description |
|---|---|
| Scalability | Supports thousands of Career Councils without requiring predefined groups. |
| Efficiency | Eliminates manual setup or the need for dummy groups. |
| Automation | Fully automated process ensures minimal administrative overhead. |
| Customizability | Group details (name, description, type) are personalized for each Career Council. |
| User Experience | Initiators immediately see their group created, enhancing satisfaction. |
Challenges and Mitigations
| Challenge | Mitigation |
|---|---|
| Requires scripting expertise | Work with a developer or use the example provided to build the script. |
| Integration complexity | Thoroughly test the integration between Membership Pro and GroupJive. |
| Permissions management | Configure GroupJive settings to handle owner/member roles carefully. |
Conclusion
Dynamic group creation is the optimal solution for your use case. It avoids the need to predefine groups with dummy IDs, ensures scalability, and provides a seamless experience for your Career Council initiators. Let me know if you’d like assistance implementing the script or testing the workflow!
Documentation for Membership Pro Group Membership
Group Membership
Group Membership is a nice / unique feature of Membership Pro. It allows you to setup a subscription plan so that when someone sign up to that plan, he will become group admin and can add/ remove group members to/ from his group:
- Group members will have same access level with group admin, so they can view any restricted resources you give access to subscribers of that plan. The only difference is that group members could not add new members to the group like group admin
- When group admin renew his subscription, subscription for all groups members will also be renewed
- The number of group members which a group admin can add to his group can be controlled via a setting of the subscription plan or by the value which group admin choose/enter when he subscribes for the plan, depend on how the plan is setup.
To setup this feature, please follow the steps below:
Enable Group Membership For Plan
The maximum number group members which group admin can add into his group can be a Fixed Number (determine by admin when setup the plan) or a Dynamic Number (determined by group admin when he subscribe/renew his subscription for the plan).
- If you want to allow fixed number members for the group, set Number Members Type setting of the plan to Fixed Number, then enter number of group members you want group admin can add to his group into Max Number Of Group Members input box. Save the plan.
- If you want group admin to decide number of group members himself:
- Create a custom field to allow admin to choose/enter number of members for his group. Usually, it should be a custom fee fleld because he should be charged different fees, depend on number of group members. You can use a List or Text/Number custom fee fields for that. See https://docs.joomdonation.com/membershippro/basic-setup/custom-fields/custom-fee-fields#radio-list-single-dropdown-custom-field-type or https://docs.joomdonation.com/membershippro/basic-setup/custom-fields/custom-fee-fields#textbox-custom-field-type
- Set Number Members Type setting of the plan to From Custom Field, then choose the custom field which you created above in Number Members Field setting.
Setup Manage Group Members Menu Item
To allow group admin to manage group members, create a menu item to link to Manage Groups Members menu item type of Membership Pro. After that, when someone signed up for the plan you just setup, he can login, access to the menu item to add/manage his group members.
Usually, you will just want that only group admin can see the menu item which you created in step #3 above. We can handle it using Joomla core ACL with a clever setup. Below are the steps:
- Create a new Joomla group called Group Admin for example. This should be child group of Registered group. Remember ID of this group, we need it in later step.
- Create an access level called Group Admin, only select Group Admin group for that access level
- Config the subscription plan so that when user sign up for the plan, beside the groups you want, he will be assigned to Group Admin Joomla group as well
- Go to Extensions -> Plugins, find the plugin OS Membership - Group Membership Plugin, click on it to edit. You will see a parameter called Exclude Group Ids. By default, it has the value 7, 8 (IDs of Administrator and Super Admin Group), please enter ID of the Group Admin into that parameter (separated by comma), for example, if Group Admin has ID = 10, please enter 7,8,10 into that parameter. The purpose of doing this step is that it prevent Group Members being assigned to this Group Admin joomla group so that they won't see the menu item.
- Edit the menu item which you created before, set access to Group Admin. With this setup, only group admin can see and access to this menu item
Invite Users To Join Group
From Manage Group Members, group admin can click on Invite Members button to invite the users he want to join the group. The email message on invite form is pre-populated by the default message setup by administrator of the site. You should go to Membership Pro -> Emails & Messages, find and change invite_group_members_message to meet your own need if needed. It's important that [JOIN_GROUP_LINK] tag is included in the message, that's the link members can click on to join the group when they received email.
Allow Members To Join Group Membership
From version 2.22.1, Membership Pro allows group admin to send join link to his members so that these members can click on the link, enter necessary information to join the group instead of group admin has to add all group members himself. To use this option:
- Create a hidden menu item to link to Join Group menu option of Membership Pro (note that this should not be displayed to end user - it is used to create link to Join Group page only)
- Edit the email message sent to subscribers when they subscribe for your plan, insert the tag [JOIN_GROUP_LINK]. That link will be replaced with link to join the group
- Go to Membership Pro -> Emails & Messages, look at Group Membership Messages tab, adjust the email messages to meet your need if needed
With that setup, when admin subscribes for a group membership plan, he will receive an email contains join group membership link. He can then send that link to his members and these members can join the group themselves. Save Group Admin much time.
Documentation for Community Builder/GroupJive
https://www.joomlapolis.com/addons/cb-groupjive
https://www.dropbox.com/t/
Zoom Meeting
Please send me a time that works for you and I will send you a link
CB Auto Actions Add on
New Idea: can you use this addon to create a unique groupJive group when a user initiates a membership pro group membership?
Yes, you can configure CB Auto Actions to automatically create a unique GroupJive group when a user initiates a group membership in Membership Pro. Here's a general approach to set this up:
-
Identify the Trigger Event: Determine the specific event in Membership Pro that signifies the initiation of a group membership. This could be a subscription activation or a specific user action.
-
Configure CB Auto Action:
- Action Type: Set the action to trigger upon the identified event.
- Conditions: Define any necessary conditions to ensure the action executes only for group memberships.
- Action: Use the 'Create Group' function to generate a new GroupJive group. You can customize the group's properties, such as name, description, and privacy settings, based on user information or predefined templates.
-
Assign Group Ownership: Ensure the newly created group is assigned to the initiating user, granting them appropriate permissions to manage the group.
-
Testing: After configuration, test the setup with a sample user to confirm that initiating a group membership successfully creates a corresponding GroupJive group.
For detailed guidance and examples, you can refer to discussions on the Joomlapolis forums, such as the thread on CB Auto Actions and GroupJive integration.
By implementing this setup, you can automate the creation of GroupJive groups in response to Membership Pro group memberships, enhancing user engagement and streamlining group management on your site.