Project

General

Profile

Actions

Bug #21895

open

Site creation/cloning should be off-loaded and broken into batches

Added by Boone Gorges 5 days ago. Updated 5 days ago.

Status:
New
Priority name:
Normal
Assignee:
-
Category name:
Site cloning
Target version:
Start date:
2025-01-28
Due date:
% Done:

0%

Estimated time:
Deployment actions:

Description

Site creation has always been slow. It involves the creation of a bunch of tables, which takes forever. When you are cloning a site, it gets much, much slower, especially when the source site has lots of content. This is a bad user experience, as the Create page hangs for a long time after submission with no feedback. And in certain cases, it can mean that the process fails altogether; see #21888.

Let's improve this. A few ideas:

1. In the short run, let's add a spinner or something similar to the submit button after it's been pressed. This way, at least the user will know that something is happening, and we can prevent duplicate presses. This is similar to #21887. Sara, could you make a recommendation about how this might look? I was thinking of adding a "disabled" style (making the "Create Site" button grey or semi-opaque) and adding a spinner (something like the attached?) inside of the button. We could also change the button text to "Creating Site..." or something like that.

2. We could offload creation into a separate request that is triggered via AJAX when the user clicks 'Create Site'. This way, we could provide feedback to the user once it's done, or perhaps send them onto the confirmation page automatically after completion.

3. We could split the creation process into multiple steps. WP's default site creation would be the first, and then copying from a clone source or from a template/layout would be the minimum, but the latter of these could be split up further. After clicking Create Site, we could have a progress indicator that has a dynamically updating checklist of steps (or something like that): "1. Creating site ... COMPLETE 2. Copying default settings ... COMPLETE" etc

4. Alternatively, if we don't want to make the user sit through this, we could do everything in the background. For group cloning, we handle the cloning of library content in a scheduled task. We could do something similar here. The potential downsides here are that it could take a few minutes (creating some confusion if the user clicks into the Dashboard within a few seconds of completion), and there's no clear way to give feedback if something fails unexpectedly.

Sara, do you have thoughts for what would feel best from a user's point of view?


Files

1495.gif (15.9 KB) 1495.gif Boone Gorges, 2025-01-28 10:43 AM

Related issues

Related to CUNY Academic Commons - Support #21888: Trouble with site cloning New2025-01-27

Actions
Actions

Also available in: Atom PDF