Idea: Projects Plugin
acketon opened this issue · comments
Over the years we've had a number of web projects that required a post type to list, display, and filter/sort content that is maybe best described under a generic label such as "Projects".
The requirements are often largely the same, with some unique features but they often share a core set of needs:
- Compatible with "turn-key" Responsive Framework so a child theme is not needed to use this plugin.
- Separate these posts from regular
page
orpost
types in the admin and to visitors - Provide an archive that lists all of these projects.
- Support some or all of the following custom post meta:
- Project Description / Overview
- Project Team:
- Name, photo, bio, link, etc
- Gallery/Media picker to attach photos or media library items
- Support some or all of the following taxonomies:
- Status: (ongoing, completed, etc)
- Category: hierarchical taxonomy to organize these posts
- Provide an archive template (or custom page template) that has basic filtering by taxonomies such as status and category.
- Bonus points: URL based filtering so users can link to a list of Ongoing Projects
- Provide a shortcode and/or Gutenberg block that lists:
- A single project
- Lists a few projects by taxonomy terms
If we had a generic post type that supported all or some of these items and allowed for some customization it could be used as the base for the following use cases:
- Facilities site: Projects (construction projects around campus) http://www.bu.edu/cpo/project/center-for-computing-data-sciences/
- Research Projects: such as: http://www.bu.edu/sph/research/research-projects/
- CFA Student Projects/Work post type as discussed in CFA discovery
Further customizations that could make this more useful:
- Ability to rename labels of the post type in the admin so "Projects" could be renamed "Research Projects" or "Case Studies"
- Ability to turn on/off postmeta fields or metaboxes for the post type so unneeded fields aren't shown.
- Ability for a child theme to extend the postmeta via filters to add new CMB2 fields
- Ability for a child theme to override the template parts for shortcode or gutenberg block or other areas of the plugin.
The project team idea is really interesting. I've got some qs:
- Should this be integrated with BU Profiles? ie, select profiles or just have a list of names?
- I see in one of the examples project team members are in groups (Project Management, etc) Do we need this ability in this plugin?
- If we are able to get custom post types working with https://github.com/bu-ist/responsive-framework/issues/242, will that satisfy the need for an archive template with filtering?
The project team idea is really interesting. I've got some qs:
- Should this be integrated with BU Profiles? ie, select profiles or just have a list of names?
- I see in one of the examples project team members are in groups (Project Management, etc) Do we need this ability in this plugin?
- If we are able to get custom post types working with #242, will that satisfy the need for an archive template with filtering?
- Integrating with BU Profiles... hmm, yeah that might be nice. I could see a metabox with the option to select a profile that exists OR enter name/email/title/etc into postmeta.
- Groups for project team members: IMO this is probably not needed for most use cases. Or could come later?
- Yes, I think #242 could satisfy the archive template needs. I haven't read all of the requirements of that issue but at a glance I don't see why not.