Ordonner les auteurs d’un article

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Voici une modification du noyau de la 1.8.2e pour pouvoir ordonner les auteurs d’un article.

Le problème : les chercheurs

Dans un contexte universitaire, on peut utiliser SPIP pour gérer des listes de publications, soit comme des articles externes [1] soit comme des articles avec un squelette spécifique directement dans SPIP.

La deuxième solution est un choix simple pour maintenir une liste de publication personnelle ou d’un petit groupe de recherche. Malheureusement, SPIP ne propose pas toutes les fonctionnalités nécessaire à la gestion de telle liste.

En particulier, on ne peut pas « ordonner » les auteurs d’un article. Dans le contexte d’une publication sur une recherche, cela peut poser des problèmes de « politique ». En effet, les articles ont souvent beaucoup d’auteurs qui ne participent jamais tous à la même hauteur au papier. Il y a donc ce standard d’ordonner la liste d’auteur pour que l’auteur principale apparaisse en premier avec ensuite, les autres auteurs ordonnés par leur niveau de participation à la publication et à la recherche.

Voici donc un système pour ordonner les auteurs des articles se basant sur le code du système de tri des articles développé par Jérémie.

NOTE : Le code proposé ici modifie un fichier du noyau de SPIP et il faudra donc faire attention lors des prochaines mise à jour de SPIP.

La solution : des flèches

Cette contribution ajoute une nouvelle page qui offre plusieurs façon de réordonner les auteurs :
-  tout simplement par de petites flèches à côté de chaque auteur pour les déplacer dans la liste d’auteur.
-  un bouton pour les trier alphabétiquement,
-  des champs où on peut rentrer directement le tri (beaucoup plus rapide quand on a beaucoup d’auteurs)

On peut ensuite trier le résultat de ses boucles AUTEURS en utilisant le critère {par position} :

<BOUCLE_auteurs(AUTEURS) {par position}>
...

Installation

-  décompresser l’archive suivant dans un coin de votre disque :


-  ajouter ces quelques lignes à la fin de votre fichier mes_fonctions.php3 (dans votre répertoire squelette ou à la racine du site) :

//for the 'position' column in the auteurs_articles table.
include ('ecrire/inc_serialbase.php');
global $tables_principales;
$tables_principales['spip_auteurs_articles']['field']['posistion']= "tinyint unsigned NON NULL DEFAULT 0";


-  envoyer le fichier auteurs_ordo.php dans votre répertoire ecrire
-  envoyer les fichiers local_fr.php3 et local_en.php3 dans votre répertoire ecrire/lang si ceux ci n’existent pas encore. Sinon, copier leur contenu dans les fichiers qui existent déjà.
-  placer les images .gif dans le répertoire ecrire/img_pack,
-  aller à l’adresse votresite.cn/ecrire/auteurs_ordo.php pour faire la mise à jour de la base (le script va modifier les tables de SPIP en conséquence).
-  si vous avez une version 1.8.2 en .php3, alors vous pouvez simplement copier articles.php3 dans votre répertoire ecrire,
-  si vous avez une version 1.8.3, alors il faut éditer son fichier ecrire/article.php3 pour changer, aux alentours de la ligne 1000 le code pour ajouter les parties en gras comme ceci :

<tt>
<pre>
//
// Afficher les auteurs
//

unset($les_auteurs);

$query = "SELECT * FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien ".
	"WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=$id_article ".
	"GROUP BY auteurs.id_auteur <strong>ORDER BY lien.position"; 
// ligne ci-dessus -> orig : ORDER BY auteurs.nom ; modif ordo_auteur .. : ORDER BY lien.position</strong>
$result = spip_query($query);

if (spip_num_rows($result)) {

<strong>	// ajout - ordonner auteurs
	//
	if(spip_num_rows($result)>1) {
		icone(_T('ordonner_auteurs'), "auteurs_ordo.php?id_article=$id_article", "auteur-24.gif", "ordo_hb.gif", "right");
		echo "<div style='clear:both;'> </div>";
	}
	//
	// fin ajout ordonner auteurs
</strong>

	echo "<div class='liste'>";
	echo "<table width='100%' cellpadding='3' cellspacing='0' border='0' background=''>";
	$table = '';
</pre>
</tt>

Notes

[1Voir par exemple ici.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom