Page MenuHomePhabricator

Add templates for subscription process
Closed, ResolvedPublic8 Estimated Story Points

Description

In some of the upcoming a/b tests we will make use of the subscription feature of the Fundraising Application. Although the process works in general, we don't have templates to display to users during the process.

Acceptance Criteria

  • There is a content placeholder for successfully submitting an e-mail address form.
  • There is a content placeholder for confirming an e-mail address by clicking the link in the e-mail we sent to a user.

Event Timeline

kai.nissen set the point value for this task to 8.

I had a look at this - we need to talk about the logic and flow in the controller - what happens on wrong validation (email not set, email already in DB)?

The content for the success page is at https://github.com/wmde/fundraising-frontend-content/blob/test/i18n/de_DE/web/pages/subscription_success.twig

The confirmation page for the email has a dynamic variable - either an error message (with the messages subscription_confirmation_code_not_found or subscription_already_confirmed) or a success message (currently in https://github.com/wmde/fundraising-frontend-content/blob/test/i18n/de_DE/web/subscription/confirmation.twig ). We need to create a Vue page component for that.

Summary of our discussion: We only validate the email address (if it's valid and if it does not exist in the subscription DB). We want to make the process as easy as possible for the users - if there is a validation error, we'd rather have them see a success page than having to fiddle with a form. Since we don't know if the feature persists, we also don't want to spend effort on developing a Vue component for an "error form" where the user could correct the email address.

Deployed to https://testing06.wikimedia.customers.manitu.net

You can test it without a banner with the following "subscription form" (save as a file and open in your browser):

<html>
	<head>
		<title>Remind me later</title>
	</head>
	<body>
		<h1>Remind me later</h1>
		<form action="https://testing06.wikimedia.customers.manitu.net/contact/subscribe" method=post>
			Email: <input type=email name="email">
			<input type="submit" value="submit">
		</form>
	</body>
</html>