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. 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
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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…

    81 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Rework extensions to be less dynamically controllable

    Currently extensions can be dynamically added and removed via Object::add_extension and Object::remove_extension. This limits the caching the config system can do.

    Since this dynamicity isn't really required, and is used primarily for tests, we could replace this with "extension sets" - a pre-configured list of extensions that can be switched between.

    This would allow pre-computing of a merged config for each extension set.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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
    (thinking…)
    Sign in with: Facebook Google
    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”.

  5. Make debugging info look nice

    Currently when you use URL variable tools like ?debug=1 you can get some pretty ugly and inconsistent results. I propose at the very least that any html output from functions like these are wrapped in a container with a .ss-debug class or similar, to let developers provide their own styles for formatting this output - but even better would be if some attractive and legible styles were built in.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. When inserting media allow for additional css classes

    When you insert media such as a photo or video clip, you should be able to add in css classes by doing so in the 'Details & dimensions' pop up that initializes when you select a image.

    So for example if i wanted to add the img-responsive bootsrap class to my image as i insert it i would be able to do it at insertion as apposed to after insertion when it becomes more difficult.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. Show the filetype as a summary field column inside file manager

    If you Upload several files with the same name in the same folder you can't see a difference without clicking "edit". It would be good to see the filetype in the summary.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Find and replace inside the SilverStripe CMS

    Government agencies could find this especially handy. Allows the same functionality of the 'find and replace' function in Word, however I see this could be a report which could create a document based on a search for the phrase added. after the changes are evaluated then they are made to the draft site. There could also be the option to publish these pages automatically.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. google docs support

    A lot more clients are using google docs (SilverStripe included) to write content for websites. It would be good to have a module which pulls this content into SilverStripe.

    I would see it either do a one time import for content or it could be pointed to a google document and build a site structure based on the content e.g. each heading one is a page title and the following content appears in the content area.

    I would see this more useful when you are setting up a site for the first time and have external content written in google…

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add link to the stage and live site in the CMS menu and on pages

    Getting to the site from the CMS can be tricky at times as there's no direct "Go to the home page" link in the CMS (unless you're on the home page). Making it easier to get to the site either in Stage or Live mode would help users on screens where the split edit mode isn't available (i.e anything sub 19") and where the page is a complex type.

    This could be solved by having the Site Title text link to the home page in the CMS menu.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Keywords - a "global", or framework defined mechanism, for keyword usage in content fields

    Provide a mechanism that makes it simple for content authors to easily insert keywords into content (not just wysiwyg, but other field types too). Keywords could be exposed globally, eg $Member.Email, or an object might have a specific context for keywords.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add support for Open Graph metadata tags as standard

    Open Graph support can be added via module, but since these tags are used so frequently these days, it would be cool to have them as standard within the CMS and SiteTree objects. The basic metadata properties match up quite nicely with SiteTree fields.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  13. Decouple Form logic from it's presentation

    Form currently requires too many PHP modifications to make design changes. Things like addExtraClass() should really be the purvue of the front-end designer and handled by the tempalte system instead of the developer. As a designer/developer it would allow for more reusable form code; just grab classes from another project and not have to worry if I overrode classes or templates.

    41 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Accessibiility compliance in CMS

    Ensure that less able CMS authors can work with our core toolset.

    - Follow guidance of the W3C for Rich Internet Applications (ARIA): https://www.w3.org/WAI/intro/aria
    - Follow guidance of the W3C for Authoring Tools (ATAG): https://www.w3.org/WAI/intro/atag

    Notes:
    - WCAG compliance is often mandated in tools used by government. See Australia (https://www.dta.gov.au/standard/9-make-it-accessible/) or New Zealand (https://webtoolkit.govt.nz/standards/web-accessibility-standard-1-0/) for examples.

    21 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  Ingo Schommer responded

    I’ve broadened this idea from ATAG compliance to wider “accessibility compliance” in the CMS.

  15. Gallery view option in Grid Fields

    Grid Fields are used extensively throughout the CMS, and while they're a great default option, when you're dealing with images, it would be better to see a gallery of thumbnails.

    I'd love it if this was an option that I could place wherever I saw the need in my CMS UI, where grid fields are currently used.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Include Root should be configured

    The root path for files processed by SilverStripe should be configured, rather than assumed as the Document root. Preferably, the SilverStripe root should be *above* the server Document root. This narrows the range of bugs which could allow these configuration files to be leaked.

    Most files - most particularly those containing sensitive data such as database passwords - should be processed relative to the Include Root, not the Document Root. (The Include Root, of course, still needs to have its own configuration set in a known location. Presumably that is the only configuration under the Document Root).

    If a developer…

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    planned  ·  3 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Add a ModelAdmin for SiteTree to edit certain page types outside the viewtree

    if you have a site with a lot of pages on the same nav level, i.e. news, a blog, press releases, etc it would be nice to be able to exclude these page types from being edited in the viewtree and have them in a ModulAdmin like listing.
    With 2.4 I have used ReModelAdmin from UncleCheese and for 3.x I have built something myself (also working with Translatable): https://github.com/xini/silverstripe-listedpageadmin
    It's far from perfect but I think it is a start..

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add a Search to the Page Sitetree

    On larger sites it can time consuming and difficult to find the page you'd like to work on within the CMS. A page search would be very helpful.

    0 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. Incorporate change tracking alongside TinyMCE with NYTime ICE

    The NYTime Ice implementation is inline change tracking built on top of TinyMCE - https://github.com/NYTimes/ice

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. 16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

New Features

Feedback and Knowledge Base