Devtags

The objective is to organize http://project.tuxfamily.org/allwebsites.pl (the list of all websites)

see http://bugs.vhffs.org/view.php?id=179 for initial requirements and for all evolutions requested http://bugs.vhffs.org/view.php?id=235

examples :

user requirements

  • Catégories de tags avec localisation
  • Chaque catégorie de tag contient des tag eux même localisés (pas plus de 20car)
  • Par défaut, les tags sont créés par les admins ou modérateurs, avec le libellé EN ANGLAIS (langue par défaut)
  • Avoir une description par tag permettant de mieux cerner ce que doit contenir le tag (savoir si son projet correspond au tag ou non)
  • Seuls les projets sont taggués (pour commencer, mais pourrait s'appliquer à espace web, svn ou cvs)
  • Modération a posteriori :
    • les modérateurs ont une page répertoriant les derniers tags ajoutés (tri par date) qu'ils peuvent supprimer si besoin
    • les modérateurs ont une autre page répertoriant les derniers projets taggués
  • les tags apparaîtront sur les pages:
  • améliorations ultérieures:

specifications

database model

http://wiki.eagle-usb.org/wakka.php?wiki=HowToDia will have to be updated with latest changes to the database

Development version : vhffs_tags

  • tag_id identifiant (serial)
  • tag_parent categorie du tag. Ce tag est une categorie si ce champ vaut 0(int4)
  • date_modif date de création du tag(timestamp)
  • user_modif utilisateur ayant créé le tag(oid)
  • type_modif type de modification(A=add, D=delete, U=update) (char)
  • restriction gestion du niveau de restrictions (int4)

vhffs_tags_locate

  • tag_id id du tag(int4)
  • langue langue de la localisation(varchar(20)) A voir: mettre la liste des langues dans une table a part et lié?
  • name nom du tag localisé (varchar(250))
  • descr description du tag localisé (text)

vhffs_tags_link

  • objectid id de l'objet taggé (oid) ⇒ permet retrouver description, type…
  • tag_id id du tag (int4)
  • date_create date de création du lien (timestamp)
  • user_create utilisateur qui créé le lien(qui tag sont projet quoi) (oid)

latest version :

link_tags_objects table : (1,n) between objects / tags

  • tag_id identifier of a tag (format ?)
  • object_id identifier of an object (be it a project, web area, cvs / svn)
  • date_creation identifies when the tag was added to this object
  • user who added the tag to the project

example : project eagleusb is license:BSD+GPL, license_doc:Art Libre, license_doc:GFDL sans sections invariantes, license_doc:CC-BY-SA-2.5, license_doc:GPL, web:documentation, web:developments, web:forum hosting:tuxfamily, hosting:gna, hosting:endor

tags table : list of tags available (one table is sufficient for l10n)

  • tag_id identifier of tag (format ?)
  • lang language for description
  • category_tag (this is in fact a tag_id : some tags are in fact categories ;-) to avoid creating a new table), 0 for tag being a category ?
  • description is a localized description of the tag (25char max ?)
  • date_creation identifies when the tag was created
  • date_modif identifies when the tag was modified
  • user_modif who last created/modified the tag
  • level 0 public, 1 identified, 2 modo, 3 admin

SQL accesses

  • latest projects tagged
  • latest tags created
  • tags for a project, for a web area (the ones of the project)
  • list of projects (with description) for a selection of tags
  • number of projects by tag

screens using tags

  • (new) tag moderation: latest projects tagged and latest tags created : deletion / translation for modo (or authorized users ?)
  • (new) list of tags by categories (alphabetical), add tags / translation (could be merged with previous one ?)
  • (modif) add / remove (/ translate) tag to project in panel (owner, modo, admin, authorized user)
  • (modif) display project / web area with tags (individual or complete list), web-area's tags correspond to the project
  • (new) search / navigation by tags

Precisions :

  • category of tag could be displayed as an “acronym” on the tag (to avoid too long lines) or it could be of the form category:tag
  • if the language chosen by the user is not available, by default display english translation
  • put a link on every tag to access navigation by tags (how to add tags to refine search ? check what's done on http://sourceforge.net and http://www.libres-apps.org/ - choose other colors though !)

later / reminder

quelques requêtes utiles (démo)

  • derniers ajouts de tags par site : par date, tag et lien concerné
    • il n'y a pas encore d'utilisateur de loggué, pour savoir qui a fait la modif'
    • une page php pour l'afficher serait plus sympathique… (je passe par phpmyadmin), ça permettrait d'avoir de la modération

SELECT lt.date_added, tags.tag, l.enlace FROM `tags_linktags` as lt, `tags_tags` as tags, `tags_sabrosus` as l where lt.tag_id=tags.id and l.id_enlace=lt.link_id ORDER BY lt.`date_added` DESC, l.enlace

  • dernière création d'un tag : par date, tag et liens concernés

SELECT tags.date_creation, tags.tag, l.enlace FROM `tags_tags` AS tags, `tags_linktags` AS lt, `tags_sabrosus` AS l WHERE lt.link_id = l.id_enlace AND lt.tag_id = tags.id ORDER BY tags.date_creation DESC , tags.tag, l.enlace

pour tagguer utile

  • se logguer sur http://demoll.tuxfamily.org le mot de passe étant tuxfamily02
  • pas besoin de créer de nouveau tag, déjà utiliser ceux existants
  • cliquer du milieu sur Edit pour ouvrir un nouvel onglet (c'est plus pratique les tags , déselectionner admin:to_tag et cliquer sur les tags existants correspondants au site
  • notamment, trouver la licence, la langue, identifier si c'est un wiki/weblog et tout autre tag correspondant
  1. identifier la langue (obligatoire, il peut y en avoir plusieurs)
  2. identifier la licence (obligatoire)
  3. identifier le thème (sélectionner plusieurs tags au besoin : par exemple weblog license:CC-BY-SA os:GNU/Linux support développement license:GPL)
  4. pour les sites vides, contenant du non libre, à l'abandon, spammés ou cassés : tagguer en conséquence
  5. si besoin d'ajouter un tag non existant, me demander avant :-)
dev/devtags.txt · Last modified: 2011/03/28 19:56 by gradator
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki