New Features

Please add your suggestions for new SilverStripe CMS & Framework features (Note: bugs should be logged over in GitHub).

A new feature for SilverStripe should be ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Ability to perform atomic database migrations

    From: https://github.com/silverstripe/silverstripe-framework/issues/3868

    Currently the SilverStripe framework lacks the ability to easily perform custom migrations at an atomic level. That is, SilverStripe has a very intuitive interface for defining database structure in a declarative format (e.g. "setup these columns with this format and these relations") but currently there is no method that I know of which facilitates a smooth and controlled atomic transition of database schema and the data contained therein. I'm not aware of any techniques by which I can change the way data is handled by DataObjects so I can deploy my code and database changes without leaving behind…

    21 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    • More user-friendly set-up of websites

      Right now, a non-developer has a hard time to create the desired website with Silverstripe.
      One needs to enter console-commands (composer) to install themes or even new page types.
      A web-interface should be created to provide the possibilities to extend the default installation with themes and add-ons.

      18 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        3 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • Have a Laravel FW like on-screen detailed error logging view that logs even the lowest level of bug eg. syntax error without adding isDev=1

        It's really hard for beginners spotting errors and bugs with Silverstripe. The error checking system is good but only feels like its meant for pros. SIlverstripe a million times failed to print out error on the browser even when isDev is enabled. We wish it to be more like Laravel's error logging system making the tiniest errors and syntax mistakes easily detectable.

        34 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • 15 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • ErrorException instead of user_error

            In the framework user_error() is still used quite regularly and while at certain points this functionality might be wanted.
            I would like it to be changed to use ErrorException (http://php.net/ErrorException) this would allow any developer to actually catch some of these Errors (especially the ones related to database errors like duplicated key etc.) and use them as they wish.
            In my case i would like to catch these for a Restful API and return them as Error arrays in my json response.
            Which in the current implementation is not really possible since all errors go through the Debug::loadErrorHandlers()…

            14 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
            • Validate text field length based on record objects allowed length

              "Varchar properties would usually be edited via a TextField which you can set a character limit on - would be great if this was automatically set based on the varchar length. This would prevent a lot of trimming in the CMS. Error message as a back up for other contexts would be good too."

              See https://github.com/silverstripe/silverstripe-framework/issues/3681#issuecomment-64997757

              Pull Request: https://github.com/silverstripe/silverstripe-framework/pull/3694

              16 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Make internal core search system more extensible

                Advanced internal search system, without plugins or complicated requirements on the server. FulltextSearchable and SearchForm provide a basics approach to implementing search over MySQL, it would be easy to modify those classes to be more dynamic and allow MySQL based FulltextSearch index on custom columns.

                51 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  4 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Make the Add Member and Add Group buttons

                  In the Security area of the CMS make the Add Member and Add Group buttons available to users other than Administrators.

                  6 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                  • Column or block content editing

                    Right now Content in the core CMS is either "a big lump of HTML" or "a set of carefully defined fields".

                    There are lots of modules that try and add content modules / blocks / columns to SilverStripe CMS, but none have really taken off.

                    We should add the ability for Content to be managed in a more modular way than just "big lump of text".

                    96 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      10 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • Ability to submit user feedback from the CMS

                      As part of this usability document (http://www.silverstripe.org/assets/2014/Reports/Usability-report-on-SilverStripe-CMS-Main-actions-and-page-states.pdf), it has become clear that users are keen to voice feedback about the CMS but are unsure how to do this, so I would love to see a feedback form inside the CMS which will allow users to submit their pain points and then have a hosted area for everyone to view and sort issues based on popularity etc. or other metrics. This could be used to create future uservoice issues especially for CMS users. Their email would be optional and would have to be hidden from the feedback but could…

                      9 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                      • Make CSV importing more user/developer friendly

                        Bulk loading currently requires users to create a spreadsheet that exactly matches the import fields. I have seen systems where you instead just map the headings before doing the actual import.

                        http://aws.cachefly.net/1Password3/images/faq/Generic_CSV_Import_Fields.jpg

                        Also for developers the following would be useful:
                        * Use DataObject default values if values are missing
                        * Provide ability to skip incomplete/invalid records

                        Semi related issue:
                        https://github.com/silverstripe/silverstripe-framework/issues/2542

                        23 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • Simultaneous editing support

                          Currently there's no good support for two editors editing the same Page (or other Data Object).

                          We should at least allow locking a page, but better would be adding simultaneous editing a-la Google Docs, etc. If we couldn't get totally simultaneous editing working (TinyMCE might be tricky) we could at least allow simultaneous viewing, with a single person being the current "editor".

                          33 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            7 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • Ability to put Layout templates into subfolders

                            Currently all page templates have to be at the root of the Layout folder. When a site gets really large there can potentially be 30+ templates in that folder. It would be awesome to be able to add subfolders so that there can be clearer groupings of page templates.

                            Currently this is possible for Includes.

                            30 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                            • Add events system

                              Currently we have a few ad-hoc events (like preRequestFilter and postRequestFilter), and a few event-like methods that are caught by extensions (onBeforeWrite, etc).

                              These are both un-ideal from a performance point of view. Both the event raiser and all event handlers need to be loaded at all times, and the event-like behaviour of extensions is one of the things stopping us from replacing them with traits.

                              Important to this working would be the ability to bind event raisers to event handlers in the config system, while still being able to specify some level of filtering (for instance be able to…

                              80 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                under review  ·  4 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • iOS / Android App

                                Would be a great selling point to have an iOS / Android app for using the CMS.

                                It would pretty much be a wrapper to launch the web-based CMS as it would never be able to cater for the endless possibilities, but it would be nice to be able to store multiple websites with logins to make it feel like it was an actual app.

                                Would tie in with the Responsive CMS suggestion here http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/6196153-responsive-cms

                                10 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • Make it optional if a page is added to top or bottom of the site tree

                                  When using the SiteTree for news and other stuff, it would be usefull to be able to define if a new page should go in to the top of the structure, or if it should be added to the bottom (std).

                                  Could also be an option when rigtht clicking a page -> Create subpage at top / create subpage before / after or something like that.

                                  15 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Replace extensions with traits

                                    Extensions are quite slow, and PHP 5.4 introduced traits which does a lot of the same stuff but as a language feature (so is much faster).

                                    One caveat is the event-like methods in Extensions (onAfterWrite, etc), but they can be replaced with an event system (see http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/6425842-add-events-system)

                                    Once that's done it'd be easy to replace extensions with traits.

                                    It will require upgrading the minimum PHP version to 5.4, or doing some dynamic class compilation in the autoloader in 5.3 to maintain compatibility

                                    35 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      10 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Improve REST/API support

                                      There's two existing modules, both of them fall short of designing a modern API: https://github.com/silverstripe/silverstripe-restfulserver
                                      https://github.com/nyeholt/silverstripe-webservices

                                      The number of API consumers is rising due to increased usage of frontend libraries like Backbone/Ember/Angular, and SilverStripe can be a powerful tool to drive those frontends if it had better API development support.

                                      Specifically, add the following:
                                      - More modularity (RESTfulServer is one monolithic class for all content types)
                                      - Content negotiation
                                      - Caching headers
                                      - More powerful field mapping
                                      - HAL to describe relationships and references
                                      - Pluggable authentication (ship with OAuth by default?)

                                      Alternatively, we might look into creating adapters for…

                                      73 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        8 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        under review  ·  Ingo Schommer responded

                                        We’re doing some GraphQL API work instead of REST support for SilverStripe 4: http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/16924327-graphql-api-support

                                        GraphQL is an alternative to REST, and well suited for modern frontend architectures. There’s still valid use cases for REST in SilverStripe, but from a core perspective we’re unlikely to build out core support for a REST layer in parallel to GraphQL, so moving this back from “planned” to “under review”.

                                      • Behat testing should be as easy as unit testing

                                        Right now Behat testing isn't used very much - it's harder to get running than it should be, and is quite slow.

                                        We should try and get Behat testing to be more popular by improving the ease with which tests can be written.

                                        11 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Make CRUD permissions ACL based

                                          RIght now we do permissions exclusively client side with canView, canEdit, etc.

                                          Not only is this not easy to extend, it's also hard to apply to sets of objects, especially for objects that don't inherit from Page (which provides a bulk-check feature, as long as you haven't tweaked canView) - each one needs to be checked in turn.

                                          We should look at changing permissions to be something that can be applied in bulk - ideally on the SQL server.

                                          6 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          New Features

                                          Feedback and Knowledge Base