Clone Module
nav_first.pngFirst: thread:131
HTML Block
Edited: 11 Oct 2012 12:06 by: James Kanjo
Comments: 0
Tags:
nav_prev.pngPrevious: thread:145
Keyboard shortcuts
Edited: 13 Nov 2009 10:34 by: Steven Heynderickx
Comments: 0
Tags:
Last: thread:112
Image Module
Edited: 12 Nov 2009 12:22 by: pieterh
Comments: 0
Tags:
nav_last.png
Next: thread:134
The Summon Command
Edited: 12 Nov 2009 12:45 by: pieterh
Comments: 0
Tags:
nav_next.png

Steven HeynderickxSteven Heynderickx wrote on 10 Nov 2009 15:47

Originally suggested by pieterhpieterh on 24 September 2009.

This is a design sketch for a more complete form of the Clone module.

Description

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.

Attributes

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.
files no yes|no, true|false true Specifies whether or not the files should be copied to the new site. If this is disabled, everything except attached files is cloned.

Visualization

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:

  • Asks for the name of the target site, if no target is specified.
    • If the target does not exist, the Clone module will create it.
    • If the target does exist, and if the user is an admin of that site, the Clone module will import the source site (or categories) into the existing site.
    • When importing categories, all configuration (permissions, auto-numbering) for that category is also copied.
    • When the user chooses to import to an existing target site, the Clone module further offers the option of replacing existing pages, or only importing new pages.
  • Allows the user to choose the level of detail:
    • Take a basic copy (this copies configuration, and pages)
    • Copy structure only (this copies configuration and only pages starting with an underscore)
    • Copy all content (this copies configuration, pages, and page comments)
    • Mirror site (this copies the complete site including forum and membership)
  • Allows the user to select whether the new site is public or private.

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.

Examples

On a template site, offer the user the opportunity to copy the site:

[[module Clone]]

Originally suggested by pieterhpieterh on 24 September 2009.

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"]]

Copyright and clonability

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.


Start a new sub-thread

Attribute added: files By leiger 0 Comments 12 Nov 2009 13:34

We discourage direct comments on this thread: to discuss it, please start a sub-thread.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License