Introduction

De nombreux sites Joomla ont plusieurs utilisateurs ayant la permission de modifier des articles. Pour empêcher que deux utilisateurs ne tentent de modifier le même article en même temps, chaque article possède un champ de base de données checked_out indiquant s'il est en cours d'utilisation ou non. Il est activé lorsqu'un article est ouvert pour édition et désactivé lorsque le formulaire d'édition est fermé en utilisant les boutons Enregistrer & Fermer ou Fermer.

Parfois, un formulaire d'édition d'article n'est pas fermé correctement, par exemple en utilisant le bouton retour du navigateur ou lorsque la session de l'utilisateur expire. Dans ce cas, le champ checked_out reste activé. Ceci est signalé dans les listes d'articles par une petite icône de cadenas. L'icône de cadenas apparaît également là où un lien de modification devrait se trouver lorsque l'on est connecté sur le frontend du site.

Pour rétablir le fonctionnement normal, les éléments verrouillés doivent être déverrouillés.

Déverrouillage d'un article

Plusieurs méthodes sont disponibles pour déverrouiller un article.

  • Si vous étiez la dernière personne à avoir modifié l'article, vous pourrez le modifier depuis le backend ou le frontend sans avoir besoin de le déverrouiller.
  • Contactez la dernière personne ayant modifié l'article pour savoir si elle a terminé. Vous pouvez survoler le cadenas avec le curseur et l'infobulle affichera le nom de l'utilisateur qui a verrouillé l'article.
  • Si vous êtes Super Utilisateur ou Administrateur, vous pouvez sélectionner l'icône de cadenas pour déverrouiller cet élément.
  • Vous pouvez également sélectionner plusieurs articles et utiliser l'élément Déverrouillage du bouton Actions dans la barre d'outils.
  • Si vous ne pouvez pas déverrouiller l'élément vous-même, demandez à un Super Utilisateur ou Administrateur de le faire.

Déverrouillage global

Si vous êtes Super Utilisateur ou Administrateur, vous pouvez utiliser l'utilitaire de Déverrouillage global pour sélectionner les éléments à déverrouiller.

Cet utilitaire doit être utilisé avec beaucoup de précaution, en particulier dans les environnements multi-utilisateurs. Il déverrouille tous les éléments précédemment verrouillés, qu'ils l'aient été par vous ou non. Des effets secondaires indésirables peuvent survenir, par exemple plusieurs rédacteurs se retrouvant à travailler sur le même document. Dans ce cas, celui qui clique en dernier sur le bouton d'enregistrement voit sa version enregistrée comme copie finale.

Vous devez également savoir que de nombreuses autres extensions possèdent des champs checked_out. Par exemple, les modules et les catégories peuvent être verrouillés pour modification et accidentellement laissés dans cet état.

Depuis le menu Administration :

  • Sélectionner Panneau d'administration → Déverrouillage global ou Système → Panneau de maintenance → Déverrouillage global.
  • La liste affiche le nombre d'éléments verrouillés.

Global checkin page

  • Dans la liste des tables de la base de données, sélectionner la case à cocher correspondant au type d'élément à déverrouiller.
  • Sélectionner Déverrouillage dans la barre d'outils.

Tous les éléments verrouillés de cette table seront déverrouillés.

Tables avec champ checked_out

Vous pouvez savoir quelles tables ont une colonne checked_out avec cette requête utilisée dans phpMyAdmin :

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('checked_out') AND TABLE_SCHEMA='j423sd';

Et le résultat devrait ressembler à ceci :

TABLE_NAME
bi2hb_banner_clients
bi2hb_banners
bi2hb_categories
bi2hb_contact_details
bi2hb_content
bi2hb_extensions
bi2hb_fields
bi2hb_fields_groups
bi2hb_finder_filters
bi2hb_menu
bi2hb_modules
bi2hb_newsfeeds
bi2hb_scheduler_tasks
bi2hb_tags
bi2hb_update_sites
bi2hb_user_notes
bi2hb_workflow_stages
bi2hb_workflow_transitions
bi2hb_workflows