Platform version : 11.x

Deployed on Outsystems cloud.


Hi,

We would like to implement a "email invite to register" feature in our web application.

I checked the forge and there are some emailing utilities but need some guidance on how i can achieve unique registration invite that can expire after certain time or after registration.

The registration page should not be accessible only if the user received email invite.

The email invite also has images and layout etc. Is there any plugin that allows to configure email template?

Are there any plugins/utlities we can leverage? Any guidance on high level solution architecture will help.


Thanks!

Solution

Please check this forge component to get you started: https://www.outsystems.com/forge/component-overview/1111/how-to-user-self-register.

Look for the "Register" button in the Login screen. If I can give you an advice, don't reuse the Login form for a Register process - make them very distinct forms, probably even distinct screens.

You can create emails in OutSystems - you don't need templates. See https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_Application_Logic/Send_an_Email_From_a_Web_Application.

I suggest that in your email, you place a link to the Register screen. Then the user who receives the email would click the link and land on the Register screen.

To implement the expiry, you will need to associate a token to your email, and include that token as an input parameter to the Register screen. You can store this token in an Entity, together with an Expiry Date. When the Register screen loads, you query the Entity filtering by the input parameter, and if the Expiry Date is in the past, just redirect the user to an error page. You should also have a timer that cleans up old expired tokens, to keep your database small.

Solution

leonardo.fernandes wrote:

Please check this forge component to get you started: https://www.outsystems.com/forge/component-overview/1111/how-to-user-self-register.

Look for the "Register" button in the Login screen. If I can give you an advice, don't reuse the Login form for a Register process - make them very distinct forms, probably even distinct screens.

You can create emails in OutSystems - you don't need templates. See https://success.outsystems.com/Documentation/11/Developing_an_Application/Implement_Application_Logic/Send_an_Email_From_a_Web_Application.

I suggest that in your email, you place a link to the Register screen. Then the user who receives the email would click the link and land on the Register screen.

To implement the expiry, you will need to associate a token to your email, and include that token as an input parameter to the Register screen. You can store this token in an Entity, together with an Expiry Date. When the Register screen loads, you query the Entity filtering by the input parameter, and if the Expiry Date is in the past, just redirect the user to an error page. You should also have a timer that cleans up old expired tokens, to keep your database small.


Thank you for the direction. This helps!