-
Notifications
You must be signed in to change notification settings - Fork 259
Roadmap
peakpg edited this page Sep 16, 2013
·
75 revisions
Here is a look at what is being planned for the future releases of BrowserCMS.
- UI Redesign/Simplification - Streamline the UI to make it more efficient (for users) and more moddable (for developers). This may involve using a CSS framework like Twitter Bootstrap as the underlying foundation.
- -- ✓ Stage 1 - Add bootstrap based global and content sensitive buttons
- -- ✓ Stage 2 - Rework the rest of the UI to use bootstrap based layout.
- -- Stage 3 - Add better core theme design.
- ✓ Improve Content API - Make blocks behave more consistently with ActiveRecord. (Principle of Least Surprise).
- ✓ [#566] Improved In-context editing - Improve the efficiency of content editing
- ✓ Addressable Content Blocks - [#588] Content blocks can be defined so they can be added directly to the sitemap. This should should reduce the custom code required for creating portlets on projects.
- ✓ Rails 4 Upgrade - Ensure the CMS is compatible and works with Rails 4.x
- Custom Content Routes - Enable/Document how to easily create custom routes for content types (i.e. /news/:year/:month/:day/:slug). Both for creating modules (like BcmsNews) as well as extending existing modules.
- Sitemap Optimization - Differ loading pages/sections/etc using AJAX. Avoid slow load time for large sites.
- Multisite Capability - Allow a single CMS to serve content for multiple top level domains.
- Scheduling Content - Allow content to be scheduled for publishing and removal (archving)
- Form Builder - Allow users to create their own forms to collect information via the website.
- Search - Make a nav based search to allow users to find relevant content types.
- Notifications - Provide editors essential notifications as in the toolbar (Low Priority)
- Content Type Descriptions - Same as for portlets.
- ✓ [#619] Descriptions for portlets so user can tell why/when they should be using them. (Problem comes up with site with lot of portlets)
- Improve Documentation
- -- Update everything for 4.0
- -- Create a single configuration guide (equivalent to http://guides.rubyonrails.org/configuring.html)
- Built in CAS server - CMS should have a built in CAS server, that allows the login page to be styled using the CMS templates.
- Open APIs - Provide standard JSON APIs for content with minimal configuration.
- Global Configuration Store - Provide UI based key/value store (scoped by module)
- Migration Cleanup - Remove pre-4.0 migrations
- -- Enforce table prefixes - Ensure all CMS tables use cms_ regardless of whether they are in a rails app or not. Configurability adds complexity and bugs for no value.
- Light Theming - Organize theming for specific project (central directory)
- -- Prove easier hooks for developers to modify CSS via UI (along with partials and assets)
- ✓ [#621] Remove need to register Content Types - Just defining the class is sufficient now.
- Better Authentication API - Current architecture is very hard to plugin, make adding CAS, Basic HTTP Auth or other external databases require the use of brittle monkey patching.
- External User - Add a concept of 'External User' that can represent a user that was authenticated from an external datasource. These users would need some information stored either temporarily (session) or more permanently (database)
- Content Importing - Allow for easy importing of content as text files (rather than migrations). Make setting up pages needed for a 'feature' easier than manually righting pseudomigrations (i.e. seed data)
- -- Could use markdown format.
-
- Update to use a solution like Devise that would provide solutions like:
- -- Email password
- -- Better integration into Rails projects.
- Configurable Tables- More flexible table grid for content.
-
- Users or developers should be configure which columns are present without needing to redeploy.
- Taxonomy - Evaluate what it would take to build an enhanced Taxonomy feature.
- Streamlined Forms - Replace the existing custom form UI with some like SimpleForm/Formtastic, to allow for more dynamic creation of blocks/UI elements.
- **Forms Module **- Allow users to dynamically create their own forms through the UI. Avoid requiring users needing to place fields, but generate them dynamically. This would allow the UI to be simplified.
- Improved Security - Reduce chance of vulnerability by restricting/removing ERB templates via UI.
- Infinite paging (for content library)
- Testing Support - Provide factories and/or Cucumber DSL for testing with CMS projects. Projects require a lot of set up code to get working, so its hard to test.
- Better Templating through UI - Improve the experience of developing templates through the UI (i.e. versioning, an editor,etc). [Lower Priority - We may de-emphasize template management in future releases since it makes it hard to manage content across environments]
- Project Profiles - Make it easier to set up a standard 'build' profile of the CMS which would preconfigure a set of modules for projects.
- Nobody adds content besides portlets and text (Html) to pages. Images maybe, but even then its minor.
- End 'Reuse Content'. Sharing content could be done less complexly and consistently (like how portlets reuse content)
- A single page per block could work. Eliminate single block portlets and page routes.
- Show where blocks are used (if shared) when eddting them. (i.e. indicate to editors that a block is used on multiple pages)
- News - Member Protected news
- Sitemap - Show custom content (events, news) in sitemap
Spree folks have been doing work here: http://ryanbigg.com/spree-guides/authentication.html
- Integrated Web Analytics
- Content Importers
- Postgres -> HStore?
- Improved Config managements - See http://groups.drupal.org/node/140144 for a good CMS wide overview.
- Better seed data handling
- Page Routes as Controllers (less DB tediousness)
- allow :guest, :only => [:action_name]
- Standard model security (exmaple: Blog module requires custom work)
- Standards custom templates (Blog module requires custom work)
- Standardize testing framework