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.

Reply via email to