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 vote and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  1. Have the /admin/ url as a setting

    Currently the admin URL needs swapping manually in the following places. This should be more easily changed.

    cms/_config/routes.yml
    cms/code/controllers/AssetAdmin.php
    cms/code/model/SiteTree.php
    cms/code/model/VirtualPage.php
    cms/code/reports/Report.php
    cms/javascript/AssetAdmin.js
    cms/tasks/RemoveOrphanedPagesTask.php
    framework/_config/routes.yml
    framework/admin/code/AdminRootController.php
    framework/admin/code/LeftAndMain.php
    framework/admin/javascript/LeftAndMain.BatchActions.js
    framework/admin/templates/Includes/LeftAndMain_Menu.ss
    framework/filesystem/File.php

    34 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Add / Replace the save button with a 'Save and Create' Button

      Currently the admin for dataobjects out of the box only allows you to save / delete an item however when you have a lot of data to enter it's very frustrating to click 'Save', 'Back', 'Create new item'

      This should all be bundled into a simple button 'Save and Create'

      6 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        1 comment  ·  Admin →
      • 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…

        9 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Ability to sort DataObjects and Files/Images by default

          I think the ability to sort DataObjects (via Gridfield) and Files or Images (via UploadField) should be avalabkle out-of-thre-box without requiring 3rd party modules.

          It's a fundamental CMS feature for proper management of displayed content.

          21 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • 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.

            12 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Add abilty to Customize the CMS

              SS 2.4 allowed much easier custimzation of the CMS styling (custom CSS, Logos, Etc). While 3+ has moved to Sass based model we've lost a lot of the abilty to customize the back end presenation.

              The current Sass files are stored in route framework/cms folders meaing update overrite any changes. Furthermore the current Sass framework is still reiiant on a lot of hard coded colors/fonts/etc instead of varaibles and Sass functions to modify them.

              Being able to specify an external Variables file and/or an external set of CSS (allowing developers to copy out the sass and recomplie with differnt settings)…

              17 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                1 comment  ·  Admin →
              • Overhaul error page management

                1. Move error pages out of the site tree, and manage them under Settings instead. Or group them along with other utility pages (like search results pages) under the site tree in the CMS and separated by a horizontal divider.

                2. Don't generate a static copy of templated/branded error pages. Include generic static error pages instead.

                This was discussed here before moving to UserVoice: https://github.com/silverstripe/silverstripe-cms/issues/1139

                Related: http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/6803888-ensure-error-pages-404-500-are-always-at-the-bo

                Reasons for #1
                --------------------
                • Error pages don't belong in the site tree. An error page isn't really a 'page' at all, it's a message that is shown when something goes wrong. It…

                25 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • Use existing composer-based library for Image Backend manipulation

                  Rather than spend a bunch of time and effort maintaining our own Image_Backend, why not make use of the "Imagine" composer-based PHP library that does the same thing, and no doubt better.

                  Additional instant wins include: GMagick support, far bigger range of manipulations, easy to create your own manipulations.

                  check it out:
                  http://imagine.readthedocs.org/en/latest/
                  https://github.com/avalanche123/Imagine

                  21 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  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.

                    20 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • MongoDB Driver

                      MongoDB is fast and would suit the class inheritance we've got going already. I expect it would speed things up a lot as it would mean fewer joins and complex queries.

                      Ideally, the whole CMS could run on Mongo but a second best would be to allow some DataObjects to use it and some to remain on another driver.

                      30 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • Use composer to load thirdparty libraries

                        Currently thirdparty libraries (e.g. Zend Cache/Translate) are included as part of the framework.

                        There would likely be some work around getting SilverStripe to work with the latest versions of these packages.

                        Might also be a chance to decouple some of the dependencies, right now the cache code seems quite tightly coupled and inflexible.

                        9 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          1 comment  ·  Admin →
                        • Installer process should generate an environment file rather than writing to _config.php as a best practice

                          This would be useful to introduce the new developer to the concept of environment files earlier in their learning process rather than having two different ways to set up db credentials.

                          This could be written into the webroot initially with a post installation message outlining the options for moving out into a folder above.

                          10 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • Improve link button functionality in TinyMCE

                            I think it would be good to have a choice between an internal link, external link, or file like in Wordpress.

                            For the internal link, a site tree should allow you to select from a page within the site, and ideally when the page URL updates the link also updates.

                            9 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              1 comment  ·  Admin →
                            • 8 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • 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
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  1 comment  ·  Admin →
                                • Filesystem Abstraction

                                  Allow for different filesystems to be added using a common Filesystem Interface.

                                  The includes AWS S3 and other cloud storage.

                                  This should separate the filesystem from the database layer.

                                  60 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • 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()…

                                    7 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • 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

                                      7 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • 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.

                                        27 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • 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…

                                          5 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            1 comment  ·  Admin →
                                          ← Previous 1 3 4 5
                                          • Don't see your idea?

                                          New Features

                                          Feedback and Knowledge Base