I ‘m setting up a site to allow multiple associations to use it. I ask your help to decide whether it’s worth to consider switching to the current ‘single site with many plugins’ approach, whick feels like a bad hack, to a multisite approach.
The requirements are:
- Each association may have multiple users, with different internal roles.
- Users from association must have the ability to edit their own posts, pages and menus, while not being able to modify those from other associations.
- Associations are able to contribute to thir own ‘area’, but also to shared areas
So far, I’ve come with a normal installation, using categories for each association, and tags to define areas, so they can be shared. I use some plugins to define and modify user roles, and to show content (e.g. sidebar menus) depending on the context: ‘User Role Editor’, ‘Restrict categories’ and ‘Widget Logic’. The problem is that I still have problems restricting access to pages (because of no categories), menus and anything that does not have a category. Also, it feels like forcing wordpress too far away from its purpose..
I’ve had a look at the wordpress multisite and seems like that would help solve those problems, but I’m not sure how to implement the shared contents in the main site.
What do you recommend? Keep working on the single-site approach or go for multisite? Any plugin suggestions for either case?
Thanks!
I implemented a MU site similar to this a few years ago and there are some caveats you need to consider before going that direction.
It’s helpful to think of an MU installation is a convenient way of accessing the administration of multiple, independent WordPress installations. It operates not much differently than if you installed a blog in in the root of your site “/” and then another in “/subsite1”, etc.
The difference is that you can easily move between the administration of one site to another, as well as manage plugin, themes, updates and users across sites. But for every other administration task, you must log-in to the actual installation.
So to edit content on the root, you have to login to “/wp-admin/”, to edit content on ‘/subsite1’ you have to log-in to “/subsite1/wp-admin/”.
If you have the same credentials on both “/” and “/subsite1/” you can move between them via menus, but they are completely separate sites.
The biggest consideration is going to be the shared area. Like I said, MU Sites are isolated from one another. This means that you can’t share posts from ‘/subsite1’ with ‘/’ (root) in a single view, or “cross post” between sites. If your requirements called for sharing posts across ‘associations,’ or associations sharing posts up to the root site, MU won’t work for you.
There were a couple of other issues that got in the way as well:
If you have many subsites (for reference, I have 100+ in this installation) administration is painful. Sites can’t be sorted, drop-downs menus are overflowed. Because they’re separate sites, users have to be added individually per-site and don’t share rights or site-specific configuration across sites.
And the users — I don’t go a month on these sites without someone creating a series of posts in the wrong site and wanting them moved to a different one — it’s difficult for a user to tell which site they’re editing.
MU + Subdomains — It’s a cool feature but I couldn’t get a single host to enable this. If you have a host that will make the changes for you to run MU on subdomains, awesome — but you better make sure they’re willing to do this first.
There are some plugins that don’t play well with MU installations.
I don’t want to sound like I’m bashing MU — I run my family’s websites in a 10-site MU configuration. It makes updates to plugins and themes a breeze, seriously cutting down on my administration time. I can spawn a new site at any time for any reason with the click of a button — which comes in handy for experimentation.
But if you need it to do more than that, MU is likely not what you need.
In y opinion you should try a multi-sites configuration. It’s really easy to set up and with this, you will able to configure really precisely each website.
Your needs seems to complex for a single WordPress, especially the user gestion where WP isn’t really good :p