19 - Join Module
nav_first.pngFirst: design:1
1 - Rate Module
Edited: 29 Apr 2012 00:01 by: GoVegan
Comments: 21
Tags:
nav_prev.pngPrevious: design:18
18 - Data Forms
Edited: 11 Nov 2009 15:47 by: Steven Heynderickx
Comments: 23
Tags:
Last: design:32
32 - Parenthood Module
Edited: 11 Nov 2009 21:47 by: Steven Heynderickx
Comments: 7
Tags:
nav_last.png
Next: design:20
20 - Drive-by Sign-in & Registration
Edited: 11 Nov 2009 16:09 by: Steven Heynderickx
Comments: 9
Tags:
nav_next.png

19 - Join Module
Created on 01 Oct 2009 13:42
By pieterh

rating: +3+x
This is the Redirect module that redirects the browser directly to the "http://projects.wikidot.com/thread:127" page.

This is a design sketch for a new module, 'Join', which eventually will replace and deprecate the MembershipApply and MembershipByPassword modules.

Rationale

The main motivation for designing a new module is that we have introduced "open site membership" and added a toolbar action, "Join this site". However many pro sites do not show the toolbar.

Further, we would like to simplify the registration and invitation process a lot further so that it becomes compellingly easy to join any site.

The old modules are clumsy and do not work well when shown to members (they show error boxes). And it is extra effort: first configure the policy in the Site Manager, and then add the correct module to a page like system:join. We prefer to make this streamlined: a single module that works correctly whatever the site manager configuration.

Join module specification

The Join module provides an action button that has the same functionality as the "Join this site" action on the top toolbar shown on free sites. When a user clicks the button, the Join module first ensures that the user has an account (and asks anonymous users to create an account) and then attempts to make the user a member of the site.

The Join module has these arguments:

  • button="text string" — specifies the text for the button, which is "Join this site" by default.
  • class="css-class" — specifies CSS class for the div element containing the button, allowing custom styling

The precise behavior of the Join module depends on the access policy of the site:

  • On open sites, the user becomes a member instantly.
  • On closed and private sites, the user must provide a password or apply to join the site, depending on the access policy configuration.

Note that if the user is already a member, or if the site is by invitation only, the module does not show anything.

Here is the simplest example of use:

[[module Join]]

Here is an example that specifies the button text:

[[module Join button="Join this site, it is cool!"]]

Join button with custom styling:

[[module Join class="my-join-button"]]

Specifying a CSS class works best if you also define the corresponding class in your custom CSS theme (Site Manager » Appearance » Custom Theme). Without such definition the button will have no styling.

Comments: 4

Add a New Comment