[spip-dev] Comment faire évoluer le(s) Licence(s) ?

Bonjour à toutes et tous !

Le (super) plugin Licence est utilisé avec bonheur sur Cuisine-libre.fr, depuis longtemps, et il y aurait besoin de quelques évolutions :

1) Grosso-modo : associer une licence à chaque auteur·e, permettre à chaque auteur·e de la modifier (dans son profil public), puis la préremplir consécutivement lors de la création de chaque nouveau contenu de cet auteur·e [*].

2) Et aussi : pourvoir ordonner et filtrer les contenus par licence, et en particulier (fun) pouvoir filtrer seulement celles libres [*] :wink:

Je ne sais pas du tout comment procéder :
- Soit je me débrouille en faisant tout cela à base de mots-clés (sans le plugin donc) – mais sans doute est-ce dommage de faire ça dans mon coin, sans partager ce qui pourrait servir à tout le monde.
- Soit faire évoluer ce plugin (oui mais comment ?)

Que conseillez-vous ?

-- tetue
pour Cuisine-libre.fr
Une autre cuisine est possible !

[*] pour le détail, voir par là :
https://contrib.spip.net/Une-licence-pour-un-article#comments
https://bitbucket.org/tetue/cuisine-libre/issues?status=new&status=open&q=licence

Hop,

Le 12/08/2019 à 15:33, tetue@rezo.net a écrit :

Bonjour à toutes et tous !

Le (super) plugin Licence est utilisé avec bonheur sur Cuisine-libre.fr, depuis longtemps, et il y aurait besoin de quelques évolutions :

1) Grosso-modo : associer une licence à chaque auteur·e, permettre à chaque auteur·e de la modifier (dans son profil public), puis la préremplir consécutivement lors de la création de chaque nouveau contenu de cet auteur·e [*].

Amha, il faut :

- déclarer un champ id_licence à la table spip_auteurs par ici https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/base/licence.php#L23 ainsi que dans la fonction d'upgrade de base pour effectuer l'ajout du champ
- afficher le formulaire de choix de licence sur la page des auteurs depuis le pipeline affiche_milieu ici https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/licence_pipelines3.php#L23
- faire que le formulaire en question affiche un intitulé différent sur la page d'un auteur, genre "Choisir votre licence préférée"
- puis modifier le code du pipeline suivant https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/licence_pipelines3.php#L49 afin qu'il vérifie l'existence d'un licence "préférée" pour l'auteur en cours lors de l'insertion d'un nouvel article

2) Et aussi : pourvoir ordonner et filtrer les contenus par licence, et en particulier (fun) pouvoir filtrer seulement celles libres [*] :wink:

Dans geodiversité j'ai un formulaire qui permet de rechercher les contenus en fonction d'une ou plusieurs licence, cf :

https://www.geodiversite.net/spip.php?page=recherche_avancee

Le code est par là :

https://github.com/geodiversite/geodiversite/blob/master/formulaires/recherche_geol.html#L37
https://github.com/geodiversite/geodiversite/blob/master/formulaires/recherche_geol.php

Ensuite, pour lister uniquement les contenus sous licence libre, tu peux définir toi même dans un define ou un #SET la liste des id_licence correspondantes et l'utiliser dans un boucle filtrée par {id_licence IN #ENV**{id_licence}} cf :

https://github.com/geodiversite/geodiversite/blob/master/liste/recherche-articles-vignette.html#L40

Voilà quelques éléments qui devraient te permettre d'avancer sur le sujet :slight_smile:

++
b_b

Hello !

Le 20 août 2019 à 18:38, Bruno Bergot <bruno@eliaz.fr> a écrit :

Hop,

Le 12/08/2019 à 15:33, tetue@rezo.net a écrit :

Bonjour à toutes et tous !
Le (super) plugin Licence est utilisé avec bonheur sur Cuisine-libre.fr, depuis longtemps, et il y aurait besoin de quelques évolutions :
1) Grosso-modo : associer une licence à chaque auteur·e, permettre à chaque auteur·e de la modifier (dans son profil public), puis la préremplir consécutivement lors de la création de chaque nouveau contenu de cet auteur·e [*].

Amha, il faut :

- déclarer un champ id_licence à la table spip_auteurs par ici https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/base/licence.php#L23 ainsi que dans la fonction d'upgrade de base pour effectuer l'ajout du champ
- afficher le formulaire de choix de licence sur la page des auteurs depuis le pipeline affiche_milieu ici https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/licence_pipelines3.php#L23
- faire que le formulaire en question affiche un intitulé différent sur la page d'un auteur, genre "Choisir votre licence préférée"
- puis modifier le code du pipeline suivant https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/licence/licence_pipelines3.php#L49 afin qu'il vérifie l'existence d'un licence "préférée" pour l'auteur en cours lors de l'insertion d'un nouvel article

Wah, super ! Pas certaine d’y arriver seule (proprement qui plus est), mais je vais essayer. En tout cas, ça me donne l’orientation, merci !

2) Et aussi : pourvoir ordonner et filtrer les contenus par licence, et en particulier (fun) pouvoir filtrer seulement celles libres [*] :wink:

Dans geodiversité j'ai un formulaire qui permet de rechercher les contenus en fonction d'une ou plusieurs licence, cf :

https://www.geodiversite.net/spip.php?page=recherche_avancee

Chouette ! C’est l’idée oui, et contente de voir que ça marche sur Geodiversite :slight_smile:

Tu m’as éclairci les idées, merci beaucoup !

-- tetue