Ajout/renommage/effacement de fichiers
Cible visée
Cette partie de la documentation n'est pas destinée aux utilisateurs finaux de Coppermine, mais uniquement aux développeurs. Il n'y a pas d'aide pour cette section, elle est disponible telle-quelle.
But
Ce document est destiné à expliquer ce qu'un développeur doit faire lors de l'ajout/de la modification/de l'effacement de fichiers vers/depuis le SVN pendant l'étape de développement.
Conventions de nommage
Référez-vous à la section "Conventions de nommage" lors de l'ajout de nouveaux fichiers ou lors du renommage de fichiers existants.
Ajouts de fichiers
Si un développeur a besoin d'ajouter un nouveau fichier au noyau de Coppermine, voici la liste des choses à faire:
Fichiers langues
L'ajout de fichiers langues (contribution d'utilisateurs) au pack est un processus qui doit être fait en plusieurs étapes. Ces étapes ne doivent pas nécessairement être faites par le même développeur, mais il est préférable qu'un seul développeur s'occupe d'un fichier langue proposé par un contributeur pour s'assurer que tout fonctionne sans problèmes.
Cette section n'est pas destinée aux utilisateurs finaux qui veulent ajouter un fichier langue à Coppermine. Non, cette section est uniquement destinée aux membres de l'équipe de développement de Coppermine et à personne d'autre. Merci de ne pas poser de questions sur le forum d'aide concernant le contenu de cette page, parce qu'elle ne s'adresse simplement pas à vous.
- A l'emplacement ou le fichier langue a été proposé par le contributeur (généralement dans un sujet du forum ou le contributeur a attaché le fichier langue), répondez et précisez que vous, en tant que membre de l'équipe de développement êtes volontaires pour ajouter ce fichier. Ceci est destiné à s'assurer que le travail ne sera pas fait deux fois.
- Téléchargez le fichier et décompressez le dans votre installation de test
- Démarrez votre installation de test et forcez l'utilisation du nouveau fichier langue en ajoutant les paramètres correspondants à la barre d'adresse de votre navigateur. La galerie de test devrait s'afficher dans la langue choisie. C'est suffisant pour un test basique pour vérifier que le fichier langue ne plante pas la galerie avec un message d'erreur ou un affichage bizarre.
- Ouvrez le fichier langue avec un éditeur de texte et vérifiez que l'entête est intact comme expliqué plus haut. Faites attention au numéro de version de Coppermine qui souvent ne correspond pas dans les fichiers langue proposés par les contributeurs.
- Renseignez le tableau $lang_translation_info si le traducteur ne l'a pas déjà fait. Si le traducteur n'a pas indiqué de site qu'il souhaite faire apparaitre dans la section "crédits", mettez une référence à sa page de profil utilisateur du forum à la place.
- Vérifiez si vous le pouvez que le fichier langue est en Unicode (UTF-8 sans BOM).
- Modifiez les crédits traducteurs de la documentation. Dans un monde idéal, vous devriez modifier tous les fichiers crédits pour toutes les langues de la documentation (docs/language_name/credits.htm et ajoutez les références du traducteur, mais bien entendu, cela deviendra un travail important avec un nombre important de traductions de la documentation. C'est pourquoi, il est admis que vous ne modifiez que le fichier de langue Anglaise de la documentation (docs/en/credits.htm) et laissiez les autres aux personnes qui s'occupent de la maintenance des documentations traduites.
- Comme avec tous les autres fichiers, vous devez aussi modifier includes/cpg15x.files.xml pour refléter les nouveaux fichiers ajoutés.
- Ensuite vous devrez vérifier le degré de finition du fichier langue de cette contribution, par exemple s'il s'agit d'une traduction complète ou partielle. C'est un très gros travail qui peut amener à des résultats imparfaits, donc dans le doute, mettez un signet traduction partielle, ce qui n'a pas d'impact au niveau technique, mais qui sert uniquement d'information aux utilisateurs.
Les facteurs qui peuvent vous aider à déterminer si une traduction est complète ou partielle peuvent être:
- Le conributeur peut avoir posté dan son sujet sur le forum si sa tradution est partielle ou complète.
- Taille du fichier: la taille des fichiers pour une traduction complète peut changer de manière très importante (parce que les langues ont des symboles pour des mots ou que les syllabes utilisent moins de place que les langues composées de lettres qui représentent des sons (des phonèmes pour être exact). Mais avec un poids de 180 KB pour le fichier Anglais, il est évident que le fichier Anglais-Britannique (lang/english_gb.php) ne peut pas être une traduction complète, mais uniquement une traduction partielle (ce qui n'est pas vraiment surprenant, puisqu'il ne contient que les chaines ou l'Anglais-Britannique est différent de l'Anglais-Américain)
- Une lecture rapide du fichier langue depuis votre éditeur de texte devrait vous permettre de vous rendre compte si une grande partie du fichier original Anglais transparait en particulier avec les fichiers utilisant des caractères non latins.
- Vous devrez vous assurer que la table des traductions dans la structure des tables de la base de donnée de Coppermine sera mise à jour aussi bien pour les nouvelles installations que pour les mises à jour, c'est pourquoi vous devrez
- ouvrir sql/basic.sql, trouvez les lignes qui commencent par INSERT INTO CPG_languages et vous assurer que la langue que vous êtes en train d'ajouter existe et que le niveau de finition du fichier langue correspond avec l'enregistrement de la base de données.
Si vous êtes en train d'ajouter le fichier langue Klingon, cherchez dans sql/basic.sql la chaine klingon. Si elle est là, c'est à dire si une ligne du genre
existe, modifiez juste les champs qui déterminent si la traduction existe et si elle est complète (traduction complète) ou pas.
Si la ligne correspondant au nom anglais de la nouvelle langue n'existe pas, créez la (gardez en mémoire la structure alphabétique de la section INSERT INTO CPG_languages.
Pour plus de détails, regardez la documentation du gestionnaire de langue.
- ouvrez sql/update.sql avec un éditeur de texte.
- Si la ligne correspondant à la nouvelle langue n'existe pas dans sql/basic.sql, vous devrez ajouter une ligne à sql/update.sql qui ajoute un nouvel enregistrement.
Pour le fichier langue Klingon mentionné plus hait, la ligne pour créer un nouvel enregistrement dans la base de donnée sera
- S'il y a un enregistrement existant pour cette langue, vous n'aurez qu'a le basculer de non disponible à disponible, ajoutez une ligne qui fait la mise à jour
L'exemple pour la langue Klingon dans ce cas serait
- Assurez vous qu'il y a une image du drapeau dans le répertoire images/flags/ représentant la nouvelle langue. S'il n'y a pas de drapeau disponible, créez en une si vous en avez les capacités et ajoutez ce fichier. Alternativement, assignez une image vide comme drapeau en attendant.
- Ajoutez le nouveau fichier langue dans le référenciel grâce à votre client SVN. Vous devrez avoir les droits en écriture sur le référenciel subversion pour pouvoir le faire.
- Ajoutez une ligne dans le fichier CHANGELOG correspondant à l'ajout de ce nouveau fichier langue.
- Testez aussi attentivement que possible le fichier langue sur votre galerie de test: naviguez en tant que visiteur, enregistrés et administrateur dans la galerie, essayez de télécharger des fichiers, jetez un œil aux principales pages (index, page des vignettes, images intermédiaires).
- Faites vos changements sur le référenciel subversion en utilisant votre client SVN.
- Finalement répondez au sujet ou le contributeur avait mis le fichier à disposition, postez ce que vous avez fait, Cela aidera à ajouter des références au Web SVN, et postez le numéro de révision de votre ajout.
- Si vous avez les privilèges administrateur sur le forum de Coppermine, changez l'appartenance de groupe du contributeur et assignez le au groupe "translator".
- Si vous avez un accès au site de Coppermine, modifiez le fichier "crédits" pour ajouter le nouveau traducteur.
Renomer des fichiers
Si un nom de fichier ne peut pas être géré (par exemple à cause d'un problème avec la convention de nommage), il doit être renommé au lieu d'effacer l'ancien et d'en crée un nouveau. Le bénéfice du renommage est de garder l'historique des versions dans le référenciel SVN.
Chaque fois qu'un fichier a été renommé sur le SVN vous devrez faire des modifications additionnelles:
- Ajoutez une entrez pour le nouveau nom de fichier dans includes/cpg15x.files.xml. Les détails peuvent être trouvés dans la section Vérificateur de version : structure XML
- Si un ancien nom de fichier a déjà été inclut dans une précédent publication publique, vous devrez vous assurez que l'utilisateur n'auras pas une version obsolète laissée avec l'ancien nom lors de la mise à jour. Pour cela, vous devrez ouvrir update.php, trouver la définition du tableau $delete_file_array et y ajouter l'ancien nom de fichier.
En plus, vous devrez ouvrir includes/cpg15x.files.xml et assigner à l'ancien nom le statut "remove".
- Si l'ancien nom de fichier n'a pas été utilisé dans une précédente version publique, il suffit d'ouvrir includes/cpg15x.files.xml et d'effacer l'enregistrement se référant à l'ancien nom de fichier.
- Vous devrez chercher dans tous les fichiers (aussi bien les fichiers PHP que ceux HTML de la doc) la référence à l'ancien nom et la changer avec celle du nouveau nom.
Effacer des fichiers
Ce qui a été dit plus haut à propos du renommage de fichier s'applique aussi à l'effacement de fichiers: après avoir effacé le fichier du SVN, assurez vous de modifier le fichier XML utilisé par le vérificateur de version et le tableau des fichiers prévus à l'effacement par le script de mise à jour.
Rappelez vous qu'avant d'effacer un fichier PHP du noyau de Coppermine, il faut impérativement en discuter avant avec les autres développeurs sur le forum dédié uniquement aux développeurs.