Specs for V2.02 :
Without changing current DataModel, just change the string used in the table containing the subscription information to reflect the real nl subscription. Change the GUI to reflect this too.
Warning : NO AUTOMATION for this version, only a first migration from ML_NL => Djanet (done by Cdujeu).
Please update this request for defining the new string format.
Following versions :
Real interface with ML_NL through a simple webservice developed by cdujeu.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
After reflexion (...), since MSNL and DJanet are on the same server, it will be much more efficient to develop a PHP library instead of a webservice ( service = http client, xml response parsing, etc.). Thus, MSNL will provide a library to Djanet in form of a simple object (with its own DB configuration) giving the following method :
void function open();
Opens the DB and SOAP connections. To be called before any operations.
void function close();
Closes the DB and SOAP connections. To be called after all operations.
array function getCurrentLists()
@return : an array containing the names (not the id but the unique alphanumerical names) of the currently active lists in the MSNL system.
array function getUserSubscriptions(string $email);
@param $email : the email of the user
@return : an array containing the names of the lists that are subscribed for this user.
boolean function updateUserSubscriptions(string $email, array $lists);
@param $email : the email of the user
@param $lists : an array containing the names of the lists to subscribe.
@return : TRUE if operation succeeded, FALSE if failed.
Please mbronni tell me if it's ok for you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Oups, and I must add some info to the precedent comment.... The particularity of the MSNL system is the three-state status of an email considering its subscription. It is quite important since it avoids forcing the re-inscription of someone that has previously unsubscribed from the list.
The states are defined as follow (considering an email and a list)
(0) N/A : this email never sub or unsub from this list
(1) SUB : this email sub to this list
(2) UNSUB : this email has previously been unsubscribed from the list.
This implies modifications on display and update from Djanet :
+ DISPLAY :
+ It would be nice to reflect these states on Djanet GUI. For example, N/A is a non-checked checkbox, SUB is a checked checkbox, and UNSUB is an unchecked checkbox followed by "!", or circled in red, or whatever.
+ The previously described function getUserSubscriptions($email) will return an associative array containing in keys the lists names, and in values the state of this mail for the list.
+ UPDATING the user subscriptions can then follow three ways :
+ The "UNSUB" state should be only informative in Djanet. When the MSNL produces a strong warning when trying to re-subscribe an "unsub" email, I don't think this is the role of Djanet, and the re-subscription will be forced without warning, except the GUI visual warning. In a same way, Djanet would not provide notification to users of their inscription, since it is managed by MSNL. In case of doubt when using Djanet, the DjanetUser should go to the real MSNL tool to have all the warning and notification functionnalities.
-------- OR ----------
+ The Djanet developer re-develop all the warning / notification functionnalities to avoid errors...
-------- OR ----------
+ No update is performed via Djanet, the library just provides a display for an email subscriptions, but to change anything a DjanetUser should always go to the MSNL tool.
Personnaly, I think we must throw out choice 2, so let's choose between 1 and 3 .. :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Last comment (it's good to write everything done, it make everything clear!)
Concerning the previous comment, I suggest choice 3, ie Djanet DOES NOT PERFORM any changes to the MSNL subscriptions. A link could be provided that would go directly to the MSNL page with the current "email" preloaded as filter, so that the user could update subscription easily.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=1748598
Originator: NO
Specs for V2.02 :
Without changing current DataModel, just change the string used in the table containing the subscription information to reflect the real nl subscription. Change the GUI to reflect this too.
Warning : NO AUTOMATION for this version, only a first migration from ML_NL => Djanet (done by Cdujeu).
Please update this request for defining the new string format.
Following versions :
Real interface with ML_NL through a simple webservice developed by cdujeu.
Logged In: YES
user_id=1748598
Originator: NO
After reflexion (...), since MSNL and DJanet are on the same server, it will be much more efficient to develop a PHP library instead of a webservice ( service = http client, xml response parsing, etc.). Thus, MSNL will provide a library to Djanet in form of a simple object (with its own DB configuration) giving the following method :
void function open();
Opens the DB and SOAP connections. To be called before any operations.
void function close();
Closes the DB and SOAP connections. To be called after all operations.
array function getCurrentLists()
@return : an array containing the names (not the id but the unique alphanumerical names) of the currently active lists in the MSNL system.
array function getUserSubscriptions(string $email);
@param $email : the email of the user
@return : an array containing the names of the lists that are subscribed for this user.
boolean function updateUserSubscriptions(string $email, array $lists);
@param $email : the email of the user
@param $lists : an array containing the names of the lists to subscribe.
@return : TRUE if operation succeeded, FALSE if failed.
Please mbronni tell me if it's ok for you.
Logged In: YES
user_id=1748598
Originator: NO
Oups, and I must add some info to the precedent comment.... The particularity of the MSNL system is the three-state status of an email considering its subscription. It is quite important since it avoids forcing the re-inscription of someone that has previously unsubscribed from the list.
The states are defined as follow (considering an email and a list)
(0) N/A : this email never sub or unsub from this list
(1) SUB : this email sub to this list
(2) UNSUB : this email has previously been unsubscribed from the list.
This implies modifications on display and update from Djanet :
+ DISPLAY :
+ It would be nice to reflect these states on Djanet GUI. For example, N/A is a non-checked checkbox, SUB is a checked checkbox, and UNSUB is an unchecked checkbox followed by "!", or circled in red, or whatever.
+ The previously described function getUserSubscriptions($email) will return an associative array containing in keys the lists names, and in values the state of this mail for the list.
+ UPDATING the user subscriptions can then follow three ways :
+ The "UNSUB" state should be only informative in Djanet. When the MSNL produces a strong warning when trying to re-subscribe an "unsub" email, I don't think this is the role of Djanet, and the re-subscription will be forced without warning, except the GUI visual warning. In a same way, Djanet would not provide notification to users of their inscription, since it is managed by MSNL. In case of doubt when using Djanet, the DjanetUser should go to the real MSNL tool to have all the warning and notification functionnalities.
-------- OR ----------
+ The Djanet developer re-develop all the warning / notification functionnalities to avoid errors...
-------- OR ----------
+ No update is performed via Djanet, the library just provides a display for an email subscriptions, but to change anything a DjanetUser should always go to the MSNL tool.
Personnaly, I think we must throw out choice 2, so let's choose between 1 and 3 .. :-)
Logged In: YES
user_id=1748598
Originator: NO
Last comment (it's good to write everything done, it make everything clear!)
Concerning the previous comment, I suggest choice 3, ie Djanet DOES NOT PERFORM any changes to the MSNL subscriptions. A link could be provided that would go directly to the MSNL page with the current "email" preloaded as filter, so that the user could update subscription easily.
Logged In: YES
user_id=1684234
Originator: NO
cdujeu, I completely agree about the last comment.
If we opt for choice three, the library needs only define the function <b>getUserSubscriptions</b>
as decribed below.
Logged In: YES
user_id=1748598
Originator: NO
Re-open