Item8701: Implement MakeUserRegistrationCustomizable

pencil
Priority: Enhancement
Current State: Closed
Released In: 1.1.0
Target Release: minor
Applies To: Extension
Component: TopicUserMappingContrib
Branches:
Reported By: ArthurClemens
Waiting For:
Last Change By: KennethLavrsen
MakeUserRegistrationCustomizable.

Implemented now with a new DefaultUserRegistration topic that is included as long as no UserRegistration topic exists in Main.
%IF{
"istopic '%USERSWEB%.%TOPIC%'"
then="$percntINCLUDE{$quot%USERSWEB%.%TOPIC%$quot}$percnt" 
else="$percntINCLUDE{$quot%SYSTEMWEB%.Default%TOPIC%$quot}$percnt"
}%
<!--
The section above looks whether a custom user registration page exists in %USERSWEB% and includes it if it does; otherwise it includes DefaultUserRegistration.

To create a custom UserRegistration page yourself:
1. make a copy of this topic (DefaultUserRegistration) in your %SYSTEM% web
2. name the copy "UserRegistration"
3. copy it to %USERSWEB% (by default called 'Main')
-->

The syntax can be simplified when INCLUDE has a default parameter or fallback list syntax.

-- ArthurClemens - 13 Mar 2010

I think you did not fully test the page after having implemented it.

It is broken.

The IF statements that test for macros set in the topic do not work when INCLUDED in another topic so additional changes are required.

I am actually very puzzled that this kind of things work so inconsistantly. Why does IF work in the current topic context and the macro settings in the included so the two cannot work in unison?

-- KennethLavrsen - 19 Mar 2010

Set statements do not work for included topics. This cannot be fixed in this topic, it is a core bug or feature.

The solution for some of the macros would be to put the text directly inside the IF:
<!--
   # optional row for login name, enabled by {Register}{AllowLoginName} option in =configure=
-->
%IF{"$ ALLOWLOGINNAME" then="<tr><td align=\"right\"> %MAKETEXT{"(how you log in) LoginName:"}% </td><td><input %NOREGISTRATION% type=\"text\" name=\"Twk1LoginName\" size=\"40\" class=\"foswikiInputField\" value=\"%REMOTE_USER%\" /> <span class=\"foswikiGrayText\">%MAKETEXT{"required"}%</span> </td></tr>"}%

But I don't have a solution for NOREGISTRATION that is used in all fields.

Perhaps a template based approach is better after all, just to bypass the technical limitations.

-- ArthurClemens - 19 Mar 2010

I found a fix that is acceptable.

Two of the settings were not really needed.

The NOREGISTRATION used everywhere could simply be defined in the UserRegistration topic and used in the INCLUDE. It is the only setting where this is required now.

The last setting was not used at all. Just old cruft.

-- KennethLavrsen - 28 Mar 2010

It works now.

-- ArthurClemens - 05 Apr 2010

 

ItemTemplate edit

Summary Implement MakeUserRegistrationCustomizable
ReportedBy ArthurClemens
Codebase trunk
SVN Range
AppliesTo Extension
Component TopicUserMappingContrib
Priority Enhancement
CurrentState Closed
WaitingFor
Checkins distro:246cb5fd3265 distro:6cc7a58ae776
TargetRelease minor
ReleasedIn 1.1.0
Topic revision: r9 - 04 Oct 2010, KennethLavrsen
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy