Share this project

Done

Share this project

Done
Improve Wagtail’s admin interface, form builder, and more!
Improve Wagtail’s admin interface, form builder, and more!
Improve Wagtail’s admin interface, form builder, and more!
Created by
105 backers pledged €11,500 to help bring this project to life.

About

Wagtail’s first hatch project video thumbnail
Replay with sound
Play with
sound

Wagtail’s first hatch

€11,500

105

The purpose of this campaign is to improve the Wagtail CMS through a series of goals fixing popular & hard issues.

It is an initiative by NoriPyt with the approval of the Wagtail core team.

Since the company creation in 2015, NoriPyt always built Wagtail sites.
Over the years we developed a ton of workarounds for common issues, and often had to create our own systems on a per-project basis.

As part of the Wagtail core team, we contribute as much as possible to avoid these workarounds. Unfortunately, it takes time to report, write tests, write docs, make a pull request, answer to reviews and questions while working on client projects. So most of our workarounds and new features stay closed-source works-in-progress…

This is now time for us to spend a lot more time on Wagtail.
It’s time for StreamField to be beautiful and easy to use.
It’s time to get the best form builder.
It’s time for the admin to support all Django features.
It’s time to get autocompletion everywhere.
It’s time to get content internationalisation out-of-the-box.
It’s time to get even better performance and stability.

It’s time Wagtail becomes the inseparable companion of Django.

Goals

The goals are divided in 3 categories:

  • 1 main goal for an ergonomic StreamField
  • 5 stretch goals for better user and dev comfort
  • 4 visionary goals to reach new heights

During the whole operation, an example site will be available to showcase all the recent works so other developers can easily check out the changes.

Main goal

The new StreamField, finally ergonomic.
The new StreamField, finally ergonomic.

The main goal is to improve and unify StreamField & InlinePanel user interfaces. As you can see on the mockups, we will add these features:

  • drag-and-drop blocks for faster reordering
  • collapse all blocks except the currently edited ones (click on the bar to open one block)
  • a bar regrouping item summary & controls
  • multiple design improvements so the structure looks clear
Grab the block bar to easily move it!
Grab the block bar to easily move it!

This goal will put together multiple works we are already using in production: workarounds, closed-source libraries, etc. Here is the demo of the high-performance drag-and-drop library we created and want to integrate to Wagtail:

 project video thumbnail
Replay with sound
Play with
sound

InlinePanel will now look like StreamField! It seemed obvious to have the same interface: for editors, both are the same except that inline panels have one level of one type of block.

StreamField or InlinePanel? No block type or icon, so InlinePanel!
StreamField or InlinePanel? No block type or icon, so InlinePanel!

Stretch goals

Wouldn’t hurt to have a pagination like this, right?
Wouldn’t hurt to have a pagination like this, right?
  • €11,500New form builder written from scratch. Based on StreamField, it provides multiple new features, including file/image fields and step-by-step forms. See the demo below.
  • €16,000: Make ChooserPanel generic, allowing to use it with any model. As a bonus, we open source a template tag automatically positioning cropped background images on the focus area.
  • €20,000: Improve the whole admin styling. There will be new paginations, better field width, checkboxes, a new HelpPanel and further minor styling issues that bugged us for years.
  • €24,000: Autocomplete in the admin search as well as a new AutocompletePanel. AutocompletePanel will work on text & related fields, and its query will be customizable.
  • €40,000: Improve ModelAdmin. ModelAdmin will have almost all Django features, like list_editable, date_hierarchy & actions. This goal will also generalize ModelAdmin so Page, Document & Image use it, making them customizable.
 project video thumbnail
Replay with sound
Play with
sound

Visionary goals

Translate your content, one tab per language, simple.
Translate your content, one tab per language, simple.
  • €53,000: Full out-of-the-box content internationalisation support. Any model, not just pages, will be translatable in any number of languages. The admin interface will be adapted. Search internationalisation will also arrive. Option to differentiate tree structure between languages will arrive with the django-tree replacement.
  • €58,000: Make Wagtail more modular, so we can just use the admin or just search, without having to use the CMS part. Wagtail will become the new trendy alternative to Django’s admin and Haystack’s search.
  • €83,000: Rewrite the admin using Jinja2 for extreme performance. This will also drastically simplify code, as it will allow to remove a ton of workarounds due to Django template engine lacks.
  • €100,000: Replace django-treebeard with django-tree, for a stronger, simpler and faster foundation of tree structures. This is also required to have the option to differentiate tree structure between languages.
 project video thumbnail
Replay with sound
Play with
sound

Calendar

Here’s the detail of the time required to finish each goal (excluding review time).

Unify StreamField & InlinePanel UIs: 4 months → August 2018
StreamField-based form builder: 1 month → September 2018
Generic ChooserPanel: 2 months → November 2018
Admin styling: 3 weeks → December 2018
Autocomplete in the admin search: 2 weeks → January 2019
Improve ModelAdmin: 5 months → June 2019
Content internationalisation: 2 months → August 2019
Make Wagtail more modular: 1 month → September 2019
Rewrite the admin using Jinja2: 5 months → February 2020
Replace django-treebeard with django-tree: 3 months → May 2020

Be aware that we have other works to do in the meantime, that’s why the estimated time is not proportional to the amount requested. Some tasks are very intense and require a full-time dedication, others can be done in efficient 3 hours sessions.

Of course, what’s nice with code crowdfunding is that you don’t have to wait for the last date to actually use what has been done: each separate task will be pushed once ready. Wagtail will have 2 intense years of heavy improvements!

About us

NoriPyt is the digital agency founded by Bertrand Bordage in 2015 after 4 years of freelance work.

Bertrand is member of the Wagtail core team.
Among other libraries, he created django-cachalot, an easy-to-use solution to speed up Django projects.

Over the past 12 months, NoriPyt’s contributions to Wagtail include:

  • the new admin preview
  • the PostgreSQL search backend
  • the new interface listing object uses before deletion (upcoming)
  • new features in search: autocomplete, boost, multi-language support (upcoming)

Bertrand will be the developer of this project. NoriPyt’s designer, Alexandre Plu, will assist Bertrand for every goal requiring front-end work.

Fixed issues

All Wagtail issues have been read in the preparation of this campaign to gather popular and blocking issues.

At least 36 issues will be fixed if all goals are funded. This may not seem much, but keep in mind that these are some of the most difficult Wagtail issues.

Unify StreamField & InlinePanel UIs: #1033, #1336, #1532, #2123, #2264, #4179
StreamField-based form builder: #1348, #1556, #1564, #3001
Generic ChooserPanel: #1806
Admin styling: #592, #1442, #2305, #2335, #2687, #2888, #3823
Improve ModelAdmin: #121, #216, #634, #675, #2719, #2756, #2758, #2759, #2893, #2941, #3844, #3966
Content internationalisation: #96, #1177, #2075
Make Wagtail more modular: #3716
Rewrite the admin using Jinja2: #3062
Replace django-treebeard with django-tree: #3658

Risks and challenges

Like any entreprise, this campaign has some risks.

The main risk concerns visionary goals: they may be trickier to implement than anticipated. For example, making Wagtail more modular may take a lot of extra time, we can’t tell without trying. In case that happens, we will move the goal to our benevolent open source work. We will still finish it, but with an increased delay.

Another risk is community rejection. The implementation of some goals may end up being strongly disliked by a part of the community. Until there is consensus, the implemented goal will be made available as a third-party project.

The final risk is the review time. We know that pull requests tend to just sit there, waiting for someone competent and interested to make a review. This can take a while, so to avoid it we planned a 3 hours review budget for each goal.

Overall, the risk is pretty low: NoriPyt & Bertrand have a strong open source work history, plus this whole project is the outcome of two years of reflection & careful technical consideration.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge €5 or more About US$ 6

    Hatching egg

    Thank you for helping crack an eggshell!

    Includes:
    • your name on Wagtail.io & NoriPyt.com
    Less
    Estimated delivery
    43 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge €50 or more About US$ 57

    Baby bird

    Look at you, you’re awesome!

    Includes:
    • your link on Wagtail.io & NoriPyt.com
    • public tweet about your awesomeness!
    Less
    Estimated delivery
    33 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge €500 or more About US$ 573

    Bronze sponsor

    Includes:
    • e-mail support related to the project
    • be part of the bimensual video meeting
    • logo+link on Wagtail.io & NoriPyt.com
    • mention in wagtail/SPONSORS
    Less
    Estimated delivery
    12 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge €2,000 or more About US$ 2,292

    Silver sponsor

    Includes:
    • day of remote consulting on NoriPyt’s expertises
    • be part of the bimensual video meeting
    • big company logo+link on Wagtail.io & NoriPyt.com
    • mention in wagtail/SPONSORS
    Less
    Estimated delivery
    1 backer
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge €5,000 or more About US$ 5,729

    Gold sponsor

    Includes:
    • day of remote consulting on NoriPyt’s expertises
    • be part of the bimensual video meeting
    • huge company logo+link on Wagtail.io & NoriPyt.com
    • mention in wagtail/SPONSORS
    Less
    Estimated delivery
    0 backers
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)