Grav Roadmap

What's in the works for Grav Development

4 mins

Now that Grav is out in the wild as a Beta Release, I'de like to take this opportunity to outline what our plans are. Grav is already powering several sites and we wanted to make the core, some skeletons, and of course plugins available to those that want to check it out. However, Grav is not complete and there are several key areas we intend to focus on in the near future. So on to the Roadmap!

Updated 010/01/2015 to reflect current progress.

Version 1.0.0 [In Development]

  • Multi-language Support

    This was not a top priority during development, but as Grav is used more-and-more it's fast becoming a priority. Multi-language support is something we want to handle properly, so it requires some thought how to best implement it.

  • Admin Panel Plugin

    The web administration interface is in active development but it is turning out to be more involved than we originally thought. There will probably be a simplified admin panel that focuses on content creation and editing that is free, and also a more full featured pro panel that is licensed per-installation.

  • Forms Plugin

    Our powerful and very flexible forms plugin is functional but needs to be polished-up and documented. It is built with the same technologies as Grav, so it uses YAML for form definitions, and Twig for form elements and layout. Forms can store data in a directory as well as email data to a user. The forms plugin will also be a licensed plugin on a per-installation basis.

  • Full User/Roles ACL

    This is partially implemented in Grav already. We support users and roles but we don't have a proper interface to make this functionality available to restrict pages or accessible to be used in Grav plugins.

  • Dev, Staging & Production Environments

    Supporting different configurations for various production states, and having those configurations automatically picked up based on environment.

  • Improved Error Handling

    We have implemented some basic error handling and logging, but we intend to improve this.

  • Multiple Collection Support

    Multiple collection support is already working at the templating level, but we want to add support for multiple collections defined at the page level.

  • Finish Media Handling

    Images are working great, and they satisfy most needs with their powerful image manipulation capabilities. Video and File media types are not fully functional and need to be completed.

  • Built-in Backup & Restore

    Having a simple way to take snapshots of site's state for backups and then being able to restore a saved state, would be a really useful feature and something we plan on adding.

  • Social Meta Tags

    Meta tags that are specific to Facebook, Google+, Pinterest, and Twitter are important for blog authors and something we plan to add.

  • HTTP Caching Options

    Ability to set HTTP page caching options on a site and per-page basis. Not difficult, just dropped down the list due to time.

Version 0.9.0 [Released]

For full information of this release check out the blog post and the changelog

  • Switch to Dependency Injection Container

    One thing that has been on our docket for quite some time, is to move to a more powerful DI system. The problem has been how best to do this without impacting performance. Pimple to the rescue! We've got most things implemented and performance has pretty much identical as before.

  • File Stream Wrappers

    With Grav 0.9.0 we will move to a more powerful file stream wrapper mechanism for lookups of resources. This will mean increased readability and also flexibility regarding where those resources reside.

  • Media syntax in markdown

    Along with the file stream wrappers we want to make using assets more markdown-like, so we intend on providing stream wrapper syntax without the need for twig.

  • Markdown Extra Support

    By default we use the Parsedown library that handles GFM style Markdown by default. We are also adding an option to enable Markdown Extra which has quite a few more goodies.

  • More Documentation!

    Documentation is well underway but we need to fill out the more advanced sections of http://learn.getgrav.org. Also we need to take another pass through the code and document some more.

  • New Asset Manager with Pipelining

    Currently we are leveraging Twig and Grav's flexible header capabilities to provide dynamic CSS and JS loading. We are implementing a simple yet powerful Asset Manager along with support for pipelining. What this means to you is that with a simple config toggle, you will be able to minify and combine your CSS and JS assets so there are much less HTTP requests. Think faster!

We have no hard-set deadlines on these items, but we're going to actively work on them and release them as they become available. If you wish to help out, join the conversation on github.