Strapi blog logo
  • Product

      Why Strapi?Content ArchitectureRoadmapTry live demo
      OverviewContent Types BuilderMedia LibraryIntegrations
      Discover Strapi Enterprise EditionDiscover our partners
  • Pricing

  • Solutions

      Static WebsitesMobile ApplicationsCorporate websitesEditorial SitesEcommerce
      Delivery HeroL'EquipeSociete GeneralePixelDustBanco International
      Discover all our user stories
  • Community

      CommunityWrite for the communityWall of LoveStrapi Conf 2021
      SlackGitHubYoutubeCommunity Forum
      Meet the Strapi Community StarsDiscover the Strapi Showcase
  • Resources

      BlogStartersNewsroomSupport
      Strapi AcademyTutorialsVideos GuidesWebinars
      The Guide to Headless CMS Strapi Community Forum
  • Docs

      Getting StartedContent APIConfigurationInstallationDeploymentMigration
      Getting StartedContent ManagerContent-Types BuilderUsers, Roles & PermissionsPlugins
      Developer DocumentationStrapi User Guide

Looking for our logo ?

Logo Brand download
Download Logo Pack
See more Strapi assets
Strapi blog logo
  • Product

    Product

    • Why Strapi?
    • Content Architecture
    • Roadmap
    • Try live demo

    Features

    • Overview
    • Content Types Builder
    • Media Library
    • Integrations
    • Discover Strapi Enterprise Edition
    • Discover our partners
    Features cover

    Unlock the full potential of content management

    See all features
    Strapi Enterprise Edition

    Discover the advanced features included in Strapi Enterprise Edition.

    Get Started
  • Pricing
  • Solutions

    Solutions

    • Static Websites
    • Mobile Applications
    • Corporate websites
    • Editorial Sites
    • Ecommerce

    Stories

    • Delivery Hero
    • L'Equipe
    • Societe Generale
    • PixelDust
    • Banco International
    • Discover all our user stories
    Delivery Hero team

    Delivery Hero manages their partner portal with Strapi.

    Read their story
    turn 10 studios website

    How 1minus1 delivered a creative website for Turn10 Studios 25% faster with Strapi

    Discover their story
  • Community

    Community

    • Community
    • Write for the community
    • Wall of Love
    • Strapi Conf 2021

    Resources

    • Slack
    • GitHub
    • Youtube
    • Community Forum
    • Meet the Strapi Community Stars
    • Discover the Strapi Showcase
    Strapi Conf

    The first Strapi Global User Conference.

    Register now
    Write for the community

    Contribute on educational content for the community

    Discover the program
  • Resources

    Resources

    • Blog
    • Starters
    • Newsroom
    • Support

    Learning

    • Strapi Academy
    • Tutorials
    • Videos Guides
    • Webinars
    • The Guide to Headless CMS
    • Strapi Community Forum
    Introducing Strapi Academy

    Everything you need to know to master Strapi.

    Go to the academy
    Strapi Repository on GitHub

    Get started with the Strapi repository

    Go to repository
  • Docs

    Developers

    • Getting Started
    • Content API
    • Configuration
    • Installation
    • Deployment
    • Migration

    User Guide

    • Getting Started
    • Content Manager
    • Content-Types Builder
    • Users, Roles & Permissions
    • Plugins
    • Developer Documentation
    • Strapi User Guide
    Install Strapi

    Install Strapi locally or wherever you need.

    Get Started
    Migration Guides Strapi

    Using a previous version of Strapi? Migrate to the latest.

    Read Guides
Get Started
Back to articles

Roadmap Update #1 - Upload, Rich Text Editor & GraphQL

roadmap-update-1-upload-rich-text-editor-graphql
  • Share on facebook
  • Share on linkedin
  • Share on twitter
  • Share by email
Aurélien Georget

Aurélien Georget

During the last three months, the project moved to another dimension. The numbers have been multiplied by 4 and more expectations are coming up. This post has one purpose only: to share our ambition and roadmap for the upcoming months.

History

Most of you discovered Strapi as a Headless CMS or Content Management Framework few weeks or days ago. The project itself may seem new but we have been working on it for 2 years already. At the very beginning, we wanted to build a powerful Node.js framework with an administration on top of it. However, the administration was hosted on our server. It worked well but the product was too complicated to play with, it wasn’t the way to go. We received much feedback from the community. The administration was not customisable enough and it was complicated for a real business to build an API.

That’s why we changed our way of improving the framework and we started to design a brand new version. The v2.0.0 was born, it was one of our attempts. It was limited to SQL databases and we didn’t think it as an ecosystem. It was not the right solution to the reported problems. We failed and we learnt a lot about it 💪.

Then, came the v3 with a simple idea: open-source everything and think at a global ecosystem. Most of our problems were due to the hosted parts and the lack of extensibility. So, we didn’t design the v3 as a new technology but like a product.

An open-source product powered by the community with an ecosystem (plugins) built around it.

Vision

The open-source world is full of resources, technologies and projects. It's one of the most fascinating phenomenon of the last fifteen years (when we speak about web development). Leading companies like the GAFA or smaller ones are using open-source projects every single day to develop themselves. However, we noticed there is few open-source products. By products I mean projects such as WordPress, Drupal or MongoDB which have been built with a long-term vision to serve a single purpose only.

Here, I am not comparing Strapi to these giants 🙈 but we totally look them up at some points:

  • The developer experience is at the center : short learning curve, easy setup and easy to use.
  • The developer should have a pretty and usable interface to interact with : clean, only what is needed.
  • Interaction with the community in order to retrieve constructive feedbacks like SaaS products are already doing.

These points drive us and also many others inspiring projects are following them : Now, Create-React-App, Prettier, Parcel, ...

Developers must enjoy well-designed products 🎉

At this point, I believe that we successfully achieved these goals but we keep in mind that we need to focus on enhancing the product now and we aim to develop an ecosystem made of hundreds, even more, thousands (no kidding) of plugins created by the members of the community 💪.

Currently, our current marketplace will become the best way to share plugins with the community, we want to make it open and see it growing up. Meanwhile, additional services will come around to accomplish complicated tasks during the development up to the production lifecycle of your APIs.

In this way, you may have already noticed the analytics plugin is installed by default in your project. It's currently the example of the services I referred earlier.

Our current mindset about such plugins (analytics and later monitoring) is the following:

Analytics

As a CEO or member of the marketing team, you need a dashboard to follow metrics such as the growth of users, the total of daily or monthly sales.

Monitoring

Whereas, as a CTO, you might want to monitor your API to make sure the response time is correct, there is no error, what's the most used route (?), etc.

The Analytics and Monitoring plugins have been thought to serve these purposes. There are not available yet but you can already get in touch with Pierre, our CEO, to schedule a meeting so we can identify your needs and discover the prototype.


Roadmap

As promised, I’m going to list the five points where we will put our focus on for the next three months. I will try to explain each one by answering three questions: Why? How? When?

☝️ The order of each point matters. It defines the priority features to work on.

1 - Upload

It’s the most wanted feature on the vote page and it makes complete sense. Being able to upload a file is a primary feature. Whatever the kind of API you're building, you need to upload stuffs. We are already working on it 🏗, the development started a week ago and the feature should be shipped and released by the beginning of March. We believed the feature should cover most common use cases. You will be able to attach one or many files to a field and the same file could be attached to many entities.



The Upload plugin is the first step to the Media Library plugin that we're planning to develop later.

🗓 Release date: 9 March.

2 - Rich Text Editor (WYSWYG)

There is no doubt that we must implement the rich text editor the sooner the better. We didn’t expect such enthusiasm for it but I think the success of our integration with Gatsby has something to do with it. The rich text editor won’t be a new field type but it will be an extension of the textarea field.

From a technical point of view, it’s the same thing the only difference is the appearance. You will be able to choose between the default textarea or the WYSWYG in the Content-Type Builder plugin. It will also introduce a new kind of files in Strapi to manage the layout and UI of the administration panel.

🗓 Release date: 23 March.

3 - Search, filters, bulk actions

When we designed the Upload plugin, we introduced a search bar. It was a must-have for us. It reminded us that we didn’t implement a search field in the administration yet. There are several medium and large projects which have chosen Strapi recently. The search bar, the filters and bulk actions are currently missing and don’t allow our UI to scale with such projects.

🗓 Release date: 11 April.

4 - GraphQL

The previous version was the first Node.js Headless CMS supporting GraphQL to query and mutate data. At Strapi, we truly believe in the future of GraphQL. It’s certainly the future of APIs and we don’t want to miss out this transformation.

Despite the hype, GraphQL is not mainstream and REST is still the leading convention on the API market.

It’s the second most wanted feature on the community vote page. We are not surprised by that and we anticipated it. Since the beginning, we designed the v3 with GraphQL in mind. We made changes in the core to easily support REST and GraphQL together. The most interesting part is that the future GraphQL integration will support our authentication and permissions layer (ACL).



🗓 Release date: 17 April.

5 - Plugins (extensibility)

Many of you are asking how to customize the administration panel and want to create plugins we didn't see such enthusiasm coming so soon so we focused on finishing the primary plugins development. We are proud of what we are building on top of React and Koa to offer an easy way to integrate new plugins into Strapi.

Currently, the workflow to create a plugin is not easy enough. The documentation is lacking on how add a new plugin into the marketplace so community can enjoy it. We want to dedicate our focus on this part to make sure that both the marketplace and the product will scale and also, supporting our new contributors!

🗓 Release date: 04 May.

Conclusion

We are not trying to add tons of new features in the next three months. We really want to build a scalable and stable ecosystem first.

I hope this post will help everyone to understand our vision and way of thinking. We are still at the beginning of the journey… I want make a special thanks to our contributors (🙏) which help us every day to improve the project and fix issues. Thank you!



Feel free to comment this post to share your feelings and thoughts about it.

  • Share on facebook
  • Share on linkedin
  • Share on twitter
  • Share by email

Unleash content.

Read the docs
Get Started

Strapi is the most popular open-source Headless CMS. Strapi gives developers the freedom to use their favorite tools and frameworks while allowing editors to easily manage their content and distribute it anywhere.

Product

  • Why Strapi?
  • Content Architecture
  • Features
  • Enterprise Edition
  • Partner Program
  • Roadmap
  • Support
  • Integrations
  • Try live demo

Resources

  • How to get started
  • Meet the community
  • Tutorials
  • API documentation
  • GitHub repository
  • Starters
  • Strapi vs Wordpress
  • The Guide to headless CMS

Integrations

  • Gatsby CMS
  • React CMS
  • Vue.js CMS
  • Nuxt.js CMS
  • Next.js CMS
  • Angular CMS
  • Gridsome CMS
  • Jekyll CMS
  • 11ty CMS
  • Svelte CMS
  • Sapper CMS
  • Ruby CMS
  • Python CMS

Company

  • About us
  • Blog
  • Careers
  • Contact
  • Newsroom
  • © 2021, Strapi
  • LicenseTermsPrivacy