Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chile - Liferay Practice Part 1: Custom registration #2

Closed
wants to merge 1 commit into from

Conversation

chileces
Copy link

@chileces chileces commented Mar 2, 2022

Custom Registration

Summary

Acme Movie Fanatics (AMF) is developing an online community using Liferay DXP for its members. The first phase of this project is to develop a custom registration feature.

Objective

The registration process needs to gather user information and store them into the database (lportal). Some of the information gathered will be displayed in the user's profile page (The display of user profiles will be a separate exercise.)

Requirements

Assumptions

  • Registration is open to US users only.
  • This is a new portlet, not replacing the existing Sign-Up functionality.

General Specifications for Registration

  • Registration form must be a one-page process, meaning all sign-up elements must be present on the same page.
  • The layout/page that the registration is in should have a friendly URL of /signup.
  • Terms of Use acceptance must be done on the same registration page (client does not want a separate page for ToU acceptance.) ** Terms of Use does not need to be inlined, but can be linked on the registration interface.
  • The registration should be encapsulated in one single portlet. (There's no limit on the number of modules, though it needs to make sense.)
  • All collected data must reside in core Liferay database tables if applicable. Only fields not found in Liferay core database tables can be stored in custom table(s).
  • Back-end validation (in the service layer) is mandatory. Front-end validation is optional.
  • Error message to user must be specific, meaning that if email address is missing, the error message should say that, not just a generic message saying input is invalid without specifying what's invalid.
  • Logged in user visiting a page with this portlet should not see the signup form, but a message saying that user is logged in already.
  • Disable the portal's built-in Sign-Up feature.

Data Gathering for Registration

The following is a list of information AMF would like to gather during the registration process. The table below also includes whether a field is required, its validation rule, and the input field name to use.

Basic Info

Field Req'd Validation Input Name
First Name Yes Alphanumeric, max 50 characters first_name
Last Name Yes Alphanumeric, max 50 characters last_name
Email Address Yes Alphanumeric, max 255 characters email_address
Username Yes Alphanumeric, min 4 chars, max 16 chars, must be unique username
Male Yes   male
Birthday Yes must be at least 13 to register b_month, b_day, b_year
Password Yes minimum 6 characters, must contain one uppercase, one number, one special character password1
Confirm Password Yes must match Password field password2

The Terms of Use checkbox should contain the following text as its label:

I have read, understand, and agree with the Terms of Use governing my access to and use of the Acme Movie Fanatics 	web site.

UI

  • All input fields should be grouped in their respective sections.
  • Use as much AUI taglibs as possible.

Non-Functional Requirements

  • Module should following naming conventions found in training material and Liferay code base.
  • Portlet for the sign-up must be named amf-registration.
  • Module must work in Liferay DXP (preferably the latest SP).

@chileces chileces marked this pull request as ready for review March 2, 2022 07:45
@chileces chileces changed the title Chile - Liferay Practice Part 1: Custom registration - sample solution project 01 Chile - Liferay Practice Part 1: Custom registration Mar 2, 2022
@chileces chileces closed this Mar 2, 2022
@chileces chileces deleted the pullrequest branch March 2, 2022 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant