This is a design sketch for a new module, 'Join', which eventually will replace and deprecate the MembershipApply and MembershipByPassword modules.
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.
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:
The precise behavior of the Join module depends on the access policy of the site:
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.
I like this idea. I could then put the Join module into my nav:top page and it could show one of three options:
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
Okay, [[module Join button="Join this site"]] will make a button appear saying 'Join this site', but when I click on it, it disappears (as it's obviously not needed any longer)
Why not use the same button as a "logout" link? I didn't know that the button was working because (obviously) the sites I tried it on, I was a member of! XD
Actually, a better idea. How about a button that imitates the 'logout' link at the top of the page?
The above code would only show one button at a time:
~ Leiger - Wikidot Community Admin - Volunteer
Wikidot: Official Documentation | Wikidot Discord server | NEW: Wikiroo, backup tool (in development)
I'm going to close this design sketch because it's been implemented, and expand the spec at http://blog.wikidot.com/design:20 to allow Join to do sign in/out.
Portfolio
I only got round to adding the new Join module to a site this morning. It is very slick and so much better than the previous modules. Thanks very much.
Rob Elliott - Strathpeffer, Scotland - Wikidot first line support & community admin team.