This is a design sketch for a more complete form of the Clone module.
Makes a copy of part of, or all of the current or a specified site. The current logged user (who invokes the clone action) becomes the owner (master administrator) of the specified site, or must be admin of the target site for a clone into an existing site.
attribute | required | allowed values | default | description |
---|---|---|---|---|
source | no | text string,"." | current site | Specifies the site to clone. "." means the current site. If the source site is private, the user must be a member of the site. The source site must be configured by its administrator as clonable. |
target | no | text string,".","?" | "?" | Specifies the site to create or import into. "." means the current site. If specified, the user must be an admin of the target site. "?" means the user is prompted for a value. |
category | no | text string,".","*" | "." | Specifies a list of categories to clone. "." specifies the current category (in which the Clone module is embedded). "*" means all categories. |
pages | no | comma-delimited values | no default | Specifies a list of full names of pages to clone, in the form category:pagename. |
button | no | text string | "Clone this site" | Specifies the text for a text link. |
image | no | image name or URI | none | Specifies an image for an image link. If specified, the text attribute is ignored. The image is specified as for an [[image]] tag. |
The Clone module can be inserted on a page either as a block element, or an inline element:
[[module Clone text="Clone this site!"]]
or
Why not [[inline Clone text="clone this site"]] now?
When the user clicks the clone link, they receive a pop-up that:
When the user has made the choice the Clone module gives the user a chance to review the operation and then confirm with an "Ok" action.
Cloning may be done asynchronously (it can be expensive) in which case the user will be shown some kind of a progress bar based on the total number of pages to copy.
When the clone operation is complete, the Clone module takes the user directly to the destination site.
On a template site, offer the user the opportunity to copy the site:
[[module Clone]]
In a default site template, offer the user several plugins:
You can extend this default template by importing pieces from other sites:
* [[inline Clone source="packages" target="." category="blog" text="Add blog"]]
* [[inline Clone source="packages" target="." category="wiki" text="Add wiki"]]
* [[inline Clone source="packages" target="." category="forum" text="Add forum"]]
* [[inline Clone source="packages" target="." category="chatter" text="Add chatter"]]
For any site using the standard Creative Commons license, cloning is normal and desirable. One can argue that the right to clone a site is an important part of the share-alike culture and protects site members from abusive / disappearing admins.
The top nav bar could show a Clone action that makes a clone of the current site.
Logically, paying sites could disable this and so we would define that free sites are cloneable, while pro sites are not cloneable unless their MA sets them as cloneable.
I've just discovered that although the MA of a private site can clone it via the site manager, s/he can't do so with the clone module So I support this design for an improved module.
Rob Elliott - Strathpeffer, Scotland - Wikidot first line support & community admin team.
Could you clone this comment to http://projects.wikidot.com/thread:123
comments on this blog are closed
A - S I M P L E - P L A N by ARTiZEN a startingpoint for simple wikidot solutions.
The default for target should be "." — “no default” makes no sense as target is an optional attribute
Adding a pages attribute that would take a list of pages would enable cloning of simple (small) solutions like on packages.wikidot.com
If target is not supplied, the user is prompted to enter that information in the popup. Therefore, a default value is not needed?
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
> If target is not supplied, the user is prompted to enter that information in the popup
To make it easier to understand the default value for target might be changed from “no default” to “user gets prompted” (in addition to what is already explained in the description column)
You're right. I've changed that to use an explicit default value ("?") for prompting.
Portfolio
If target is not specified, this means "clone into a new site", which is how the Clone module works now. So I think a default of "." would be wrong.
The pages argument is a great idea, and I've added that.
Portfolio
As you know, I'm looking forward to this.
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
i think that there should be a way to take a sites pages, and copy them into a new category in another developed site, instead of having to create a whole new site when you clone it.
EDIT: nevermind. it helps to read the whole thing before adding suggestions. ;-)