CEric-fr / limesurvey-rgpd

Extension RGPD pour LimeSurvey
GNU General Public License v3.0
0 stars 1 forks source link

Don't undestand ;) maybe can help #1

Open Shnoulle opened 4 years ago

Shnoulle commented 4 years ago

I don't understand this part : https://github.com/CEric-fr/limesurvey-rgpd/blob/45d0b525f58ca4073308d552f1d70629ba58f7e7/rgpd.php#L188-L191

Je ne comprend pas cette partie ?

Tu as un système pour gérer tes propres tables via l'API. De mon coté : j'utilise 2 méthodes pour gérer les paramètres :

  1. Soit la table plugin_settings : pour les questionnare avec ou sans
    1. https://manual.limesurvey.org/BeforeSurveySettings (qui utilise les settings "par défaut" de LimeSurvey : pas terrible, mais totalement fonctionnel
  2. Ou une propre table avec l'API : https://gitlab.com/SondagesPro/QuestionSettingsType/cpVille/blob/master/cpVille.php#L157 par exemple (pas le meilleur, mais OK)

Le mettre dans la table plugin_settings permet la compatibilité avec l'expoprt/import lss. C'est un des grands intéret.

(J'ai pa encore testé le plugin, pas trouvé le temps).

CEric-fr commented 4 years ago

Bonjour,

Ces 4 lignes sont pour initialiser les noms des tables LimeSurvey que j'utilise dans le plugin. J'utilise la variable $settings pour les paramètres généraux qui sont ranger dans "lime_plugin_settings". Je rajoute une table : "lime_survey_rgpd" ou je range les paramètres pour chaque questionnaire.

Shnoulle commented 4 years ago

OK,

Je rajoute une table : "lime_survey_rgpd" ou je range les paramètres pour chaque questionnaire.

C'est dommage tu va perdre les données lors des copie de questionnaire. Je pense revoir le système en ce sens pour proposer un patch/correctifs.

Pour le mettre dans le fichier lss (et donc lors de la copie) $this->set("setting",$value,"Survey",$sid); https://github.com/LimeSurvey/LimeSurvey/blob/ac6eb99495210c6d81b024a6646db9ea1fa163cc/plugins/Demo/Example/Example.php#L50 En fait 'Surey' corrspond au «modèle» et $sid à l'identifiant du modèle. C'est pour l'instant que pour les questionnaires, peut ête un jour à plus de modèle.

Ces 4 lignes sont pour initialiser les noms des tables LimeSurvey que j'utilise dans le plugin.

Je doit regarder : mais à mon avis tu peux utiliser directment les modèle de Yii : popur les nom c'est facile Survey::model()->tableName(). A voir ou c'est utilisé si tu peux pas directement utiliser les fonctions des modèles :)

CEric-fr commented 4 years ago

Je suis novice en LimeSurvey et j'aime peu la programmation orientée objet (les "class"), je suis plutôt oldschool et dont programmation procédurale.

C'est dommage tu va perdre les données lors des copie de questionnaire. Je pense revoir le système en ce sens pour proposer un patch/correctifs.

Je ne savais pas qu'on pouvait copier un questionnaire.

Pour le mettre dans le fichier lss (et donc lors de la copie) $this->set("setting",$value,"Survey",$sid);

J'ai essayer les événements "beforeSurveySettings" et "newSurveySettings" mais je n'ai pas réussi a faire fonctionner, j'ai donc essayer de trouver une alternative, ce qui a abouti à la création de la table "lime_survey_rgpd".

Je doit regarder : mais à mon avis tu peux utiliser directement les modèle de Yii :

Retour à l'intro : "Yii", j'ai bien trouver sur le net, mais je pense que tout n'est pas disponible et pas dans tous les événements ??. Et je surnage à coup de recherche globale dans tous les fichiers des noms de fonctions, c'est long...

Bref, c'est un premier essai normalement fonctionnel (et installé sur notre serveur) que j'affinerais au fur et à mesure des mises à jour réalisée sur notre serveur.

Shnoulle commented 3 years ago

J'ai essayer les événements "beforeSurveySettings" et "newSurveySettings" mais je n'ai pas réussi a faire fonctionner, j'ai donc essayer de trouver une alternative, ce qui a abouti à la création de la table "lime_survey_rgpd".

Je tente de trouver un temps pour un patch (avec mise à jour).