Author: fdesbois Date: 2010-12-17 10:25:02 +0100 (Fri, 17 Dec 2010) New Revision: 3056 Url: http://chorem.org/repositories/revision/pollen/3056 Log: Move business-rules to maven documentation Added: trunk/src/site/fr/rst/business-rules.rst Removed: trunk/doc/business-rules.rst Modified: trunk/src/site/site_fr.xml Deleted: trunk/doc/business-rules.rst =================================================================== --- trunk/doc/business-rules.rst 2010-12-01 17:17:52 UTC (rev 3055) +++ trunk/doc/business-rules.rst 2010-12-17 09:25:02 UTC (rev 3056) @@ -1,200 +0,0 @@ -Règles métiers -============== - -:Author: fdesbois <pollen-devel@codelutin.com> -:Date: 2010-05-26 -:Version: 1.0 - -Ce document a pour but de cataloguer l'ensemble des règles métiers de l'application Pollen. -Ces règles dépendent principalement des options du sondage. - -Avant-propos ------------- - -Pollen fonctionne via des urls générés pour l'accès au sondage. Ces urls sont nécessaires lorsqu'une personne n'a pas de compte -utilisateur. Une classe correspond à cette uri pour Pollen : PollUri. Elle contient à la fois l'uid (identifiant unique) du sondage et celui d'un compte sondage (PollAccount). Ce dernier peut correspondre au créateur du sondage ou à un votant. - -Options du sondage ------------------- - -- beginDate : date de début du sondage - - * aucun vote possible avant cette date - -- endDate : date de fin du sondage - - * aucun vote possible après cette date - -- maxChoiceNb : nombre de choix maximum par vote - - * aucun vote possible avec plus de choix qu'indiqué par cette option. - * par défaut autant de choix sont possibles < nombre de choix du sondage - * option utilisé uniquement pour un dépouillement NORMAL (trop complexe pour CONDORCET, inutile pour POURCENTAGE et NUMBER) - -- closed : indique que le sondage est clos - - * aucun vote possible - * aucune modification des votes existants possible - * aucune modification du sondage possible (choix, votants, options...) - * seul possibilité : lecture résultats et execution different algos de dépouillement si possible (dépend du type de dépouillement configuré dans le sondage) - -- choiceAddAllowed : indique que l'ajout de choix est permis par les votants uniquement - - * la possibilité de voter dépend des dates du sondage et non celle des choix - * la permission d'ajout de choix est fortement correlé aux dates beginChoiceDate et endChoiceDate - * Note : attention au vote pendant l'ajout de choix : comportement bizarre sur certains dépouillement (voir Ano #139) - -- anonymousVoteAllowed : indique que le vote peut etre anonyme - - * les champs name, email et userAccount ne sont pas persistés (restés à null) - * plus de notifications possibles par email - -- anonymous : indique que le sondage reste anonyme (choix des votes et nom des votants) - - * idem que l'option précédent. Seule l'UI ne chargera pas les valeurs des votes - -- publicResults : indique que les résultats sont accessibles par n'importe qui - - * accès a la page de résultats pour tout le monde - * si l'option n'est pas enregistré, les résultats ne sont accessibles que par le créateur du sondage : accès restreint à la page des résultats (uid du créateur nécessaire). - * Note : il n'y a pas de juste milieu entre le créateur et le visiteur, remarque seul un visiteur connaissant l'url du sondage pourra accéder aux résultats. - -- continuousResults : indique l'affichage en continu des résultats - - * besoin de dépouillement à chaque vote - * les résultats sont obligatoirement publiques - -- voteCounting : type de dépouillement - - * Dépouillement POURCENTAGE : somme des choix = 100% / possibilité de choix vide = 0 - * Dépouillement NUMBER : uniquement nombre (entier ou non) / possibilité de choix vide = null - * Dépouillement CONDORCET : uniquement des nombres entiers / possibilité de choix vide = null - * Dépouillement NORMAL : uniquement des booléens (vrai/faux) / possibilité de choix vide = null - -- type : type de sondage - - * Sondage restreint (RESTRICTED ou GROUP) - - # accès du vote nécessitant un uid généré à la création du sondage - # possibilité de modifier/supprimer son vote - # email des votants obligatoires à la création du sondage - # liaison entre le votant et le compte utilisateur si connecté (au moment du vote) - - * Sondage libre (FREE) - - # accès du vote libre - # possibilité de modifier/supprimer son vote avec l'uid généré au moment du vote - # possibilité d'ajouter son email au moment du vote - # liaison entre le votant et le compte utilisateur si connecté (au moment du vote) - -- choiceType : type de choix (en attente) - -- preventRules : notifications par email (voir plus loin) - -- creator : Créateur du sondage (PollAccount) - - * Sans compte utilisateur - - # email non obligatoire - # envoie d'email si indiqué (au créateur et la/les liste(s) restreinte(s)) - - * Avec compte utilisateur - - # même possibilités que sans compte - # accès aux listes de favoris pour les sondages restreints (RESTRICTED et GROUP) - # liaison physique entre le créateur (PollAccount) et l'utilisateur connecté (UserAccount) - -Validation du vote ------------------- - -- beginDate < now -- endDate > now -- closed = false -- uid de vote autorisé (RESTRICTED/GROUP) -- valeur des choix autorisé (dépend du type de dépouillement) -- nombre de choix < maxChoiceNb - -Vote ----- - -- nom du votant -- email du votant (non obligatoire) : uniquement si le votant est non connecté et sur un sondage FREE -- anonymousVoteAllowed: option anonyme disponible - -Enregistrement du vote ----------------------- - -- anonymous/anonymousVoteAllowed : pas de sauvegarde nom/email/compte utilisateur -- continuousResults : nécessite un depouillement -- type = FREE : génération de l'uid (nécessaire pour modification du vote) -- enregistrement flux RSS -- envoie email si disponible (PollAccount ou UserAccount) - -Accès ------ - -- Création du sondage : pollUri = null -- Modification du sondage : pollUri = pollUid / creatorUid ou ADMIN -- Suppression du sondage : pollUri = pollUid / creatorUid ou ADMIN - -- Ajout d'un vote : pollUri = pollUid / participantUid (RESTRICTED/GROUP) ou null (FREE) -- Modification d'un vote : pollUri = pollUid / participantUid ou ADMIN -- Suppression d'un vote : pollUri = pollUid / creatorUid ou ADMIN - -- Ajout d'un choix : même chose que pour l'ajout d'un vote -- Suppression d'un choix : pollUri = pollUid / creatorUid ou ADMIN -- Modification d'un choix : fait à partir de la modification du sondage - -- Ajout d'un commentaire : pollUri = pollUid / creatorUid ou participantUid ou null ? -- Suppression d'un commentaire : pollUri = pollUid / creatorUid ou ADMIN - -- Voir résultats : (PUBLIC_RESULTS = true) pollUri = pollUid -- Voir résultats : (PUBLIC_RESULTS = false) pollUri = pollUid / creatorUid ou ADMIN -- Executer un dépouillement : pollUri = pollUid / creatorUid - -Notifications -------------- - -Deux modes de notification indépendants : email et rss. - -- Création sondage : [email : createur / participants (RESTRICTED/GROUP)] - -- Modification sondage : [email : participants ?] - -- Gestion choix : [rss] [email : createur ? / participants ?] - -- Vote : [rss] [email : createur (configuration) / participant non connecté avec email (FREE)] --> Notifier - -- Avant fin du sondage (background) : [email : participants sans vote (RESTRICTED/GROUP)] --> Reminder - -- Fin du sondage : [rss] [email : createur / participants] - -- Execution premier dépouillement (PUBLIC_RESULTS && !CONTINUOUS_RESULTS) : [rss] [email : participants] - -- Commentaire : [rss] [email : createur ? / participants ?] - -Note : - Fusion possible entre fin du sondage et premier dépouillement pour l'envoie d'email aux participants - -Note : - Les cas avec des ? ne sont pas forcément utiles à cause du suivi rss - - - - - - - - - - - - - - - - - - - - Copied: trunk/src/site/fr/rst/business-rules.rst (from rev 3055, trunk/doc/business-rules.rst) =================================================================== --- trunk/src/site/fr/rst/business-rules.rst (rev 0) +++ trunk/src/site/fr/rst/business-rules.rst 2010-12-17 09:25:02 UTC (rev 3056) @@ -0,0 +1,207 @@ +Règles métiers +============== + +:Author: fdesbois <pollen-devel@codelutin.com> +:Date: 2010-05-26 +:Version: 1.0 + +Ce document a pour but de cataloguer l'ensemble des règles métiers de l'application Pollen. +Ces règles dépendent principalement des options du sondage. + +Avant-propos +------------ + +Pollen fonctionne via des urls générés pour l'accès au sondage. Ces urls sont nécessaires lorsqu'une personne n'a pas de +compte utilisateur. Une classe correspond à cette uri pour Pollen : PollUri. Elle contient à la fois l'uid (identifiant +unique) du sondage et celui d'un compte sondage (PollAccount). Ce dernier peut correspondre au créateur du sondage ou à +un votant. + +Options du sondage +------------------ + +- beginDate : date de début du sondage + + * aucun vote possible avant cette date + +- endDate : date de fin du sondage + + * aucun vote possible après cette date + +- maxChoiceNb : nombre de choix maximum par vote + + * aucun vote possible avec plus de choix qu'indiqué par cette option. + * par défaut autant de choix sont possibles < nombre de choix du sondage + * option utilisé uniquement pour un dépouillement NORMAL (trop complexe pour CONDORCET, inutile pour POURCENTAGE et + NUMBER) + +- closed : indique que le sondage est clos + + * aucun vote possible + * aucune modification des votes existants possible + * aucune modification du sondage possible (choix, votants, options...) + * seul possibilité : lecture résultats et execution different algos de dépouillement si possible (dépend du type de + dépouillement configuré dans le sondage) + +- choiceAddAllowed : indique que l'ajout de choix est permis par les votants uniquement + + * la possibilité de voter dépend des dates du sondage et non celle des choix + * la permission d'ajout de choix est fortement correlé aux dates beginChoiceDate et endChoiceDate + * Note : attention au vote pendant l'ajout de choix : comportement bizarre sur certains dépouillement (voir Ano + #139) + +- anonymousVoteAllowed : indique que le vote peut etre anonyme + + * les champs name, email et userAccount ne sont pas persistés (restés à null) + * plus de notifications possibles par email + +- anonymous : indique que le sondage reste anonyme (choix des votes et nom des votants) + + * idem que l'option précédent. Seule l'UI ne chargera pas les valeurs des votes + +- publicResults : indique que les résultats sont accessibles par n'importe qui + + * accès a la page de résultats pour tout le monde + * si l'option n'est pas enregistré, les résultats ne sont accessibles que par le créateur du sondage : accès + restreint à la page des résultats (uid du créateur nécessaire). + * Note : il n'y a pas de juste milieu entre le créateur et le visiteur, remarque seul un visiteur connaissant l'url + du sondage pourra accéder aux résultats. + +- continuousResults : indique l'affichage en continu des résultats + + * besoin de dépouillement à chaque vote + * les résultats sont obligatoirement publiques + +- voteCounting : type de dépouillement + + * Dépouillement POURCENTAGE : somme des choix = 100% / possibilité de choix vide = 0 + * Dépouillement NUMBER : uniquement nombre (entier ou non) / possibilité de choix vide = null + * Dépouillement CONDORCET : uniquement des nombres entiers / possibilité de choix vide = null + * Dépouillement NORMAL : uniquement des booléens (vrai/faux) / possibilité de choix vide = null + +- type : type de sondage + + * Sondage restreint (RESTRICTED ou GROUP) + + # accès du vote nécessitant un uid généré à la création du sondage + # possibilité de modifier/supprimer son vote + # email des votants obligatoires à la création du sondage + # liaison entre le votant et le compte utilisateur si connecté (au moment du vote) + + * Sondage libre (FREE) + + # accès du vote libre + # possibilité de modifier/supprimer son vote avec l'uid généré au moment du vote + # possibilité d'ajouter son email au moment du vote + # liaison entre le votant et le compte utilisateur si connecté (au moment du vote) + +- choiceType : type de choix (en attente) + +- preventRules : notifications par email (voir plus loin) + +- creator : Créateur du sondage (PollAccount) + + * Sans compte utilisateur + + # email non obligatoire + # envoie d'email si indiqué (au créateur et la/les liste(s) restreinte(s)) + + * Avec compte utilisateur + + # même possibilités que sans compte + # accès aux listes de favoris pour les sondages restreints (RESTRICTED et GROUP) + # liaison physique entre le créateur (PollAccount) et l'utilisateur connecté (UserAccount) + +Validation du vote +------------------ + +- beginDate < now +- endDate > now +- closed = false +- uid de vote autorisé (RESTRICTED/GROUP) +- valeur des choix autorisé (dépend du type de dépouillement) +- nombre de choix < maxChoiceNb + +Vote +---- + +- nom du votant +- email du votant (non obligatoire) : uniquement si le votant est non connecté et sur un sondage FREE +- anonymousVoteAllowed: option anonyme disponible + +Enregistrement du vote +---------------------- + +- anonymous/anonymousVoteAllowed : pas de sauvegarde nom/email/compte utilisateur +- continuousResults : nécessite un depouillement +- type = FREE : génération de l'uid (nécessaire pour modification du vote) +- enregistrement flux RSS +- envoie email si disponible (PollAccount ou UserAccount) + +Accès +----- + +- Création du sondage : pollUri = null +- Modification du sondage : pollUri = pollUid / creatorUid ou ADMIN +- Suppression du sondage : pollUri = pollUid / creatorUid ou ADMIN + +- Ajout d'un vote : pollUri = pollUid / participantUid (RESTRICTED/GROUP) ou null (FREE) +- Modification d'un vote : pollUri = pollUid / participantUid ou ADMIN +- Suppression d'un vote : pollUri = pollUid / creatorUid ou ADMIN + +- Ajout d'un choix : même chose que pour l'ajout d'un vote +- Suppression d'un choix : pollUri = pollUid / creatorUid ou ADMIN +- Modification d'un choix : fait à partir de la modification du sondage + +- Ajout d'un commentaire : pollUri = pollUid / creatorUid ou participantUid ou null ? +- Suppression d'un commentaire : pollUri = pollUid / creatorUid ou ADMIN + +- Voir résultats : (PUBLIC_RESULTS = true) pollUri = pollUid +- Voir résultats : (PUBLIC_RESULTS = false) pollUri = pollUid / creatorUid ou ADMIN +- Executer un dépouillement : pollUri = pollUid / creatorUid + +Notifications +------------- + +Deux modes de notification indépendants : email et rss. + +- Création sondage : [email : createur / participants (RESTRICTED/GROUP)] + +- Modification sondage : [email : participants ?] + +- Gestion choix : [rss] [email : createur ? / participants ?] + +- Vote : [rss] [email : createur (configuration) / participant non connecté avec email (FREE)] --> Notifier + +- Avant fin du sondage (background) : [email : participants sans vote (RESTRICTED/GROUP)] --> Reminder + +- Fin du sondage : [rss] [email : createur / participants] + +- Execution premier dépouillement (PUBLIC_RESULTS && !CONTINUOUS_RESULTS) : [rss] [email : participants] + +- Commentaire : [rss] [email : createur ? / participants ?] + +Note : + Fusion possible entre fin du sondage et premier dépouillement pour l'envoie d'email aux participants + +Note : + Les cas avec des ? ne sont pas forcément utiles à cause du suivi rss + + + + + + + + + + + + + + + + + + + + Property changes on: trunk/src/site/fr/rst/business-rules.rst ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2010-12-01 17:17:52 UTC (rev 3055) +++ trunk/src/site/site_fr.xml 2010-12-17 09:25:02 UTC (rev 3056) @@ -38,24 +38,27 @@ </bannerRight> <poweredBy> - <logo href="http://maven.apache.org" name="Maven" img="http://maven-site.nuiton.org/jrst/images/logos/maven-feather.png"/> - <logo href="http://maven-site.nuiton.org/jrst" name="JRst" img="http://maven-site.nuiton.org/jrst/images/jrst-logo.png"/> - <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="http://maven-site.nuiton.org/jrst/images/restructuredtext-logo.png"/> + <logo href="http://maven.apache.org" name="Maven" + img="http://maven-site.nuiton.org/jrst/images/logos/maven-feather.png"/> + <logo href="http://maven-site.nuiton.org/jrst" name="JRst" + img="http://maven-site.nuiton.org/jrst/images/jrst-logo.png"/> + <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" + img="http://maven-site.nuiton.org/jrst/images/restructuredtext-logo.png"/> </poweredBy> <body> <breadcrumbs> - <item name="${project.name}" href="${project.url}" /> + <item name="${project.name}" href="${project.url}"/> </breadcrumbs> <links> - <item name="Libre-Entreprise" href="http://www.libre-entreprise.org/" /> - <item name="[fr" href="index.html" /> - <item name="en]" href="../index.html" /> + <item name="Libre-Entreprise" href="http://www.libre-entreprise.org/"/> + <item name="[fr" href="index.html"/> + <item name="en]" href="../index.html"/> </links> - <menu name ="Documentation"> + <menu name="Documentation"> <item name="Utilisateur" href="user.html"> <item name="Installation" href="install.html"/> <item name="Tutoriel" href="tutoriel.html"/> @@ -76,19 +79,20 @@ <item name="VoteCounting" href="votecounting.html"/> <item name="UI" href="ui.html"/> </item> + <item name="Règles métiers" href="business-rules.html"/> </item> <item name="Historique" href="historique.html"/> </menu> - <menu name ="Téléchargement"> + <menu name="Téléchargement"> <item name="Téléchargement" href="http://www.chorem.org/projects/list_files/pollen"/> </menu> <menu name="Demo"> <item name="Demo" href="http://pollen.chorem.org/"/> </menu> - + <menu ref="parent"/> <!-- <menu ref="modules"/> --> <menu ref="reports"/>