Single Click Page Creation

Last modified by Vincent Massol on 2024/11/19 16:15

Description

Description

Creating a page is currently slowest than it could be.

The current process is:

  • Click on create
  • Type in a title
  • Possibly select a template
  • Possibility make the page terminal (advanced user)
  • Submit the page creation form

A) This process involves two full page reload. The first one on the click on create, the second one to submit the page creation form

B) Most of the proposed choices have acceptable default values, that are never changed by the users. In other word, the only interesting value is the page title

Additional note: creating a sibling page requires either to manipulate the document tree which can be slow on large instances, or to be an advanced user and manually modify the spaces

Goals

  • Allow page creation in a single full page reload
  • Keep the ability to easily switch to the current page creation form for advanced use cases
  • (optional) Allow sibling page creation

Observations

The easiest solution, used by a lot of alternatives, is to cache the page creation form. Then, creating a page is super snappy as most of (or all the job) is done client side.

I'm not sure we can achieve this on XWiki given the very extensible nature of the platform.

Questions

  • Is it currently possible to define the default page template?

Proposals

Option A

On click on the create button, a modal is presented to the user with the following elements:

  • a title text field
  • a toggle button children/sibling (children checked by default)
  • a submit button
  • a "switch to full form" buttonWarningNeed to find a good name/icon and UI for that one
  • possibly a "terminal page"  checkbox for advanced users

The availability of the selected title is checked asynchronously as the user types.

The submit button is disabled until a valid title is typed.

Clicking on the switch to full form redirects the users.

Ideas to explore

  • Propose a drop down (like for the edit button) with entries for a configurable set of templates, ideally loaded asynchronously when the drop down button is first pressed.

Technical notes

The goal is to have a very light modal, that can be either pre-loaded, or loaded on demand very quickly (and we can ever "cheat" by pre-loading the UI asynchronously when the user hover on the create button, saving us a the few ms between the hovering and the actual click).

It should not increase the loading time of pages containing a create button (or very minimally, with a content that can be efficiently cached).

Option B

A page with only default options and a default title is create when create is clicked.

We improve the rest of the UI to make it easy to (if it is not already the case):

  • make the page terminal
  • move it as a sibling
  • switch to another template
  • change the page location

Note: An option here is to allow switching to another template as long as the document is 1) unsaved and 2) with an empty content (see for instance the new page creation sequence of monday.com)


 

Get Connected