I'm mostly hoping that people can point me to plugins that do what I need. I have a site that is going to require a very complicated set of custom types and user permissions. I'm not sure if I should use WordPress for this site. I've read that Expression Engine is better than WordPress when it comes to the creation and management of custom types. If WordPress is up to this task, I'm curious if there are plugins that enable much of the needed functionality, or whether this kind of site demands custom programming. I would like to hear about which plugins might deliver at least some of the needed functionality, and if they have weak spots, what are the weak spots?
My client is a company in the financial services industry. They manage money for some of their clients, but mostly they offer consulting services to teach other companies how to manage their portfolios. They also have a small division that runs a portfolio of investments aimed at startups. Much of the site I'm building is devoted to explaining the skills of their officers. Each division within the company will need to be its own division of the site, with its own templates, and controlled only by its own people. The structure of the site will therefore resemble the structure of the company:
Early Stage Startups
Etc. There is a lot more of this - 17 divisions and about 100 people.
As I say, the permissions get very complex - they want each person to be able to edit their own info, without being able to edit anyone else's info, and each division will have a person who is able to edit all of the information for that division, though they won't be able to edit the info of any other division.
The structure of the information recorded about each officer also gets complicated - they want different divisions to be able to record different information about their people. For instance, the people in the startup section should be able to list other successful companies they invested in, whereas the people in the Retirement Advice section don't have portfolios to point to, but want to be able to list the other, large companies that they've consulted with.
Again, the whole thing is so complicated that I wonder if WordPress is up to the task. I'm wondering if maybe all the custom types would be easier to handle in Expression Engine. But I'd really like to hear what is out there, in terms of plugins, that might make this easier to handle in WordPress.
I'd be grateful to anyone who uploads a screenshot of a plugin which makes this stuff possible.
Dan Davies answers:
There's probably an answer somebody could come up with containing a list of plugins, theme options and settings that you could use to do this with WordPress, but have you considered using WordPressMU (http://mu.wordpress.org/)?
The way I see it working is that the company's website is the main WPMU blog, and then each division is a separate blog with its own templates, plugins and users, etc.
I think that would suit your needs perfectly.
you can use WPMU to develop your site, but if you are more familiar with Wordpress you can achieve the same result with multiple single installations. You need to separate the blogs because in this way you can use the basic wordpress user roles & permission system.
You could assign the author role to the majority of the people of the company, and the editor role to the head of each division. So each blog will have 1 editor and N authors.
Authors can only access and edit their posts. Editors can access and edit all the information.
If you need a more granular control over the permissions you could customize the capabilities of new roles.
Here you can read some useful info and find some plugins at the bottom:
Each user in Wordpress have his personal info in the User Panel. If you need more fields or you need to store more complex information you could use a specific per-user page tagged in some way or put in a given category.
I think you can do it. Using categories, custom fields and tags it's possible to create very complex information architectures.
You can easily retrieve content from all your single users or you can merge their contributions if the content relate to a division.
I hope this will help
Tom Ransom answers:
This is super simple with WPMU. Each employee is an author within their respective division(blog). The site administrator (super-user) then can assign the designated overall editor - permission as an editor.
You would have one master theme for the site and then a minor child theme for the variations in the author profiles. Each child theme can be restricted to which divisions(blogs) have access.
The layout of the design will take far longer to accomplish than the implementation of the WPMU installation.
Technically, your project as outlined wouldn't take any additional plugins except those for content/layout considerations.
Cristian Antohe answers:
I would suggest using the Pods CMS plugin in combination with Justin Tadlock members plugin. It can be done but the learning curve is somewhat steep for Pods.
Pods: [[LINK href="http://pods.uproot.us/"]]Link[[/LINK]]
Pods UI:[[LINK href="http://ui.podscms.org/"]] Link[[/LINK]] Pods UI allows you to develop plugins that look like WP using the Pods CMS Framework.
Members Plugin: [[LINK href="http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin"]]Link[[/LINK]]
I don't have a ton of experience with WPMU but it sounds like it's too much for wordpress to deal with all that in a semantic, user-friendly way that keeps your hair in place. Expression Engine is built to deal with idiosyncrasies like you discuss- you may want to give it a look.
I would suggest you install wordpress in different directory's to accommodate your 17 divisions. I would also suggest using one of the following plug-ins:
These plug-ins will provide specific roles which you can create and the functionality that each role is allowed to have.