Skip Navigation

[Resolved] Creating a community site

This support ticket is created 4 years, 5 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 - - 9:00 – 13:00
14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 - - 14:00 – 18:00

Supporter timezone: Africa/Casablanca (GMT+01:00)

This topic contains 2 replies, has 2 voices.

Last updated by jozsefG 4 years, 5 months ago.

Assisted by: Jamal.

Author
Posts
#1651477

Hi
I need some guidelines from you to start creating a community site.

1. User registration
Users will submit through a contact form, because only those users will be registered who are students, or are former students of a school organization, it's important not to let anyone register. So users will be registered manually. Is it possible to give community admins possibility to register new users through front-end form? Or if it is already possible to just change the role through a front-end form I could let anyone register to a restricted role, and admins could manually set the member role when they checked the person who registered. But it would be important not to let even community admins inside the backend. This was not possible 1-2 years ago when I created a classified ads site. In that case it was necessary for the admin to change the role from the backend.

2. Member posts
Members create posts that can be seen only by them by default. That is easy, I already managed it on several sites. I would have private and public posts. So I could have a custom filed where user can set if the post is public or private. This seems easy. BUT... I would need a function where a member can invite only hand picked other members who can view his/hers content. So I would have 4 types of posts:
- private
- public
- group posts (seen only in member groups), I describe this in section 3
- semi-private posts (where only selected memeber IDs can have acces to that post). How could this be achieved? This is like sharing in Facebook where I can select with whom exactly I share my post. I would have two view on the member profile:
- my posts - where the logged in user is tha author
- posts shared with me
Its easy to create post relationships between cpts but this is like a many to many relationship between posts and users. And through front-end form...

3. Member groups
Members can create several groups by front-end form where can share posts with the other members of that group. Like a classroom group. what would be the best approach to create this functionality?

4. Messaging functionality between users
You have a messaging module and some tutorials to set it. I guess this could be used without problem in this kind of site. But maybe I could use a 3rd party chat plugin, but I don't yet have experience with these.

5. Member posts taxonomy
Can I give the members possibility to create personal post categories thorough front-end of course? Then I could attach a taxonomy filter in My posts section where the user can filter his post by category. But the filter should show only the uses's only category terms...

#1651857

Hello and thank you for contacting the Toolset support.

Most of the requirements can be achieved with Toolset, others may need custom code or a different approach at all, others may be "impossible". I'll try to discuss each point below:
1. User registration
You can have, both, a form to create a user with a specific role or to a edit a user and assign him a specific role. In Toolset->User Forms, you can create a new form and configure it to be for creating or editing users. In both cases, you can define what role the user will be assigned. Check these articles:
- https://toolset.com/documentation/getting-started-with-toolset/publish-content-from-the-front-end/forms-for-registering-users/
- https://toolset.com/documentation/getting-started-with-toolset/publish-content-from-the-front-end/forms-for-editing/

Then you can insert the form on a page that is accessible only by your administrative users.

2. Member posts
For public and private posts, you can rely on a custom field or relay on the builtin "private" status for posts from WordPress.

For semi-private posts, you may use the group access feature from Toolset Access, but the only graphical user interface for this is on the backend. You may implement it on the frontend with custom coding. The access group for a post is saved in a special custom field. We may discuss this further if you want, but this is an entirely custom code, which is out of the scope of the support forum.
Check this article about group access https://toolset.com/documentation/user-guides/access-control/limiting-read-access-specific-content/

For member posts, I believe this is a complex feature. It may be leveraged entirely with Toolset relationships and some custom coding. Let's discuss it later after point (3).

3. Member groups
Personally, I would go with a third party plugin that provides the most of the requirements for inviting, sharing with specific users, etc. I am not aware of a plugin that does entirely this, but I think that BuddyPress may be customized to suit you. It already provides groups, private messaging, Friendships, and other social networks like features.
hidden link

4. Messaging functionality between users
If you would like to implement a chat later, you will definitely need custom code to implement AJAX forms and "Conversation status" activity if you intend to use Toolset. We are providing CHAT support based on Toolset and custom code and some advanced architecture decisions, that I cannot discuss further. Depending on your business decisions, maybe integrating a 3rd party service is the best solution. Personally, that's what I would have chosen.
Feel free to ask any questions about it and we can push the discussion further.

5. Member posts taxonomy
This cannot be done without deep integration with WordPress. If you check the WordPress data model here https://codex.wordpress.org/Database_Description
You will notice that the table for posts(wp_posts) has a column "post_author" to connect a post with a user. Terms do not have this feature at all.

You may want to other custom posts types and Toolset relationships to simulate the taxonomies features, but that will add some complexity. In fact, Toolset does not allow to filter views with more than ONE relationship at the moment.

You may decide to use global taxonomies, and configure your views search/filters to display only the terms that are assigned to a post in the results. But taxonomy terms may still be used in posts that belong to different users.

I hope this answers your questions a bit. Let me know if you need more details on a specific point. Or you may create a new ticket, as we try to work on one issue per ticket to conform to our support rules.

#1654993

Thank you Jamal for the guidelines you gave me. It helps me a lot to plan the site. I'll create separate tickets if I encounter problems.