Change Contact List Subscription Process
----------------------------------------
Key: OFBIZ-4055
URL: https://issues.apache.org/jira/browse/OFBIZ-4055
Project: OFBiz
Issue Type: Improvement
Components: specialpurpose/ecommerce
Affects Versions: SVN trunk
Environment: Ubuntu 10.04
Reporter: Chatree Srichart
Fix For: SVN trunk
I think the current contact list subscription process is not complete. The
current process is when a user enter his/her email address on the e-commerce
page for subscribing a contact list. The system will set ContactListParty's
status to "Accepted". I think that should be set to "Pending Acceptance" first
and wait for a user's confirmation from user's email inbox. Also the system
should have a unsubscribe process to expire user's email address from a contact
list. I found the unsubscribe statuses in StatusItem entity, "Unsubscription
pending" and "Unsubscribed", but they don't be used.
I think the processes should following:
Subscribe process
===============
1. The user select a contact list and enter his/her email address
2. The system create a ContactListParty with "Pending Acceptance" status
3. The system send a verify email message to the user's email address
4. The user confirm the subscribing in his/her email inbox
5. The system change the status of ContactListParty to "Accepted"
Unsubscribe process
================
1. The use select a contact list and enter his/her email address
2. The system change the status of ContactListParty to "Unsubscription pending"
3. The system send a verify email message to the user's email address
4. The user confirm the unsubscribing in his/her email inbox
5. The system change the status of ContactListParty to "Unsubscribed"
The both of processes, subscribe and unsubscribe, should also support if the
user do not login to the system.
I changed following:
================
- create "Subscribe Contact List Notification" and "Unsubscribe Contact List
Verify" as email type for email settings of product store
- create "signOutForContactList" service for setting a contact list party's
status to "CLPT_UNSUBS_PENDING"
- create "updateContactListPartyNoUserLogin" service to handle updating the
contact list party without user login
- create "sendContactListPartySubscribeEmail" service for sending an email
message to user after the user confirm the subscription. This email message
would contains a button for requesting unsubscribe the contact list
- create "sendContactListPartyUnSubscribeVerifyEmail" service for sending an
email message to user after the user request to unscrube. This email message
would contains a button for unsubscribing the contact list
- add SECA when the "createContactListPartyStatus" be called with
"CLPT_ACCEPTED" status then call the "sendContactListPartySubscribeEmail"
service to send the subscribe email message.
- add SECA when the "createContactListPartyStatus" be called with
"CLPT_UNSUBSCRIBED" status then call the "sendContactListPartyUnSubscribeEmail"
service to send the unsubscribe email message.
- add SECA when the "createContactListPartyStatus" be called with
"CLPT_UNSUBS_PENDING" status then call the
"sendContactListPartyUnSubscribeVerifyEmail" service to send the email message
to verify unscribing.
- for starting receive a subscribe, change the contact list party's status from
"CLPT_ACCEPTED" to "CLPT_PENDING" because the status should be pending before
receiving a verify message
- create "ContactListSubscribeEmail" and "ContactListUnsubscribeVerifyEmail"
mail screens
- add "ProductStoreEmailSetting" demo data for productStoreId="9000" with
"SUB_CONT_LIST_NOT" and "UNSUB_CONT_LIST_VERI" email types
- change "verifyUrl" in the email message's form to
"updateContactListPartyNoUserLogin" because if the user doesn't have a user
login then could not view the ecommerce's "viewprofile" screen.
- add "preferredContactMechId" field to the "createContactListPartyStatus" and
"sendContactListPartyUnSubscribeEmail" services because I get the contactMechId
from ContactListParty instread of UserLogin because these services also be
called without authentication.
- add "Unsubscribe" button to "Sign Up For Contact List" section of the
ecommerce's screen for requesting unsubscribing
Thank you
Regards,
Chatree Srichart
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.