1

I've got a potential client I'd like to build a Craft site for, but they have some specific features I'm not quite sure how to handle. Could someone tell me if Craft can handle the following features?

  1. Frontend ability for users to create and join "groups". "Groups" is in quotation marks since I don't think they need to be actual Craft User Groups; they don't need differing permissions, just segregation—so Categories, perhaps, or Tags?
  2. Frontend ability for users to invite others to specific "groups"—basically an email-a-friend a link with a signup/login token that will add them to the specified group.
  3. The ability for users to have their own blog on the site, where other users can comment. I'm fairly certain Craft can do separate author-specific blogs natively, as it's essentially just a listing page of a specific author's entries. I also know comments are either Disqus or the Comments plugin by Engram Design. I'm leaving this point in here though because I haven't done this in Craft yet, so I'm blissfully unaware of any gotchas there may be... ;)

Thanks for any help!

2

What kind of social interactions are you asking for?

You can probably make most of this work in Craft but a lot of what you're asking for isn't really "built in." It's going to take a fair amount of effort on your part via some business logic to assign users to groups (or categories), etc.

Frontend ability for users to create and join "groups".

How much security do you want? Just as a high level overview, users in Craft have various permissions depending on where (which section) they can "post" entries into.

Basically the system allows users to submit content on a section-by-section basis. It's up to the permissions you have set if other users are allowed to "see" such entries or not.

Without any additional checks, an enterprising user could theoretically mess with some of the front end forms and post to other "groups" if they have permission to do so. It'd be up to your code to make sure the user is part of such "group" (or category) first.

If it were me, depending on what you're trying to achieve, I might programmatically create new sections when a user creates a new "group" and only members of that group when invited are allowed to see / post in it. Craft would help you take care of the heavy lifting too; you would basically assign the permission of viewing/writing of that section to that user.

Plugins can also create their own permissions depending on what you need to do.

Frontend ability for users to invite others to specific "groups"—basically an email-a-friend a link with a signup/login token that will add them to the specified group.

This wouldn't be native to Craft. You'd have to build the token generation and e-mailing process here, along with doing the business logic of figuring out who was invited by whom, if said token is valid, etc.

The ability for users to have their own blog on the site, where other users can comment.

Yes, as you mentioned, this is relatively straightforward, as Craft is basically a CMS.

A hybrid approach might be to use a bulletin board/forum style software (xenforo, vbulletin, buddypress, etc.) to handle the discussions / social groups functionality then let Craft handle the blogging part. There is various authentication bridges you could use to handle user login between the two systems.

I'm sure there's a few other ways to pull this off as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.