Codificación aprenderaprogramar.com: CU00431A
BLOQUEO DE ARTÍCULOS. DESBLOQUEO GLOBAL
Cuando un usuario, desde el BackEnd ó el FrontEnd abre un artículo existente para editarlo, Joomla procede a bloquear el acceso a ese artículo para impedir que otro usuario pueda acceder a ese mismo artículo y trate de hacer cambios simultáneamente con el otro, lo que generaría conflictos en la base de datos.
El artículo se desbloquea cuando el usuario lo guarda ó cancela la edición. Sin embargo, hay un problema: ¿Qué ocurre si el usuario en vez de salir por una vía normal sufre un corte de luz ó cierra el navegador sin guardar o cancelar la edición?
En este caso, el artículo queda bloqueado. Hay dos vías para desbloquearlo:
a) Procedimiento vía base de datos: acceder a la tabla xxx_content de la base de datos de Joomla, donde xxx representa el prefijo de las tablas de la base de datos. Antiguamente joomla se instalaba siempre con prefijos jos, así la tabla sería por ejemplo jos_content. Pero en las versiones más modernas esto ya no es así, y el prefijo puede ser una combinación cualquiera de letras, como db7hi ó p3qyn con lo cual la tabla se llamaría db7hi_content ó p3qyn_content. Para acceder a la tabla en primer lugar accedemos a la base de datos y luego pulsamos sobre el nombre de la tabla. Esto tanto con WAMP en local como con un hosting remoto lo hacemos de la siguiente manera: Menú de Wamp o del Hosting --> phpMyAdmin --> joomla1 (o el nombre de base de datos que tengamos) --> tabla jos_content (o el nombre de tabla según el prefijo que tengamos) --> en la columna checked_out si un artículo está bloqueado aparece un número que es el id de usuario según la tabla xxx_users que ha bloqueado el artículo --> para desbloquearlo establecer el valor del campo checked_out a cero.
b) Procedimiento de fuerza bruta y no adecuado sin reflexionar antes sobre sus consecuencias: usar la herramienta de desbloqueo global. Esta herramienta se puede encontrar según la versión que estemos usando en Herramientas --> Desbloqueo global ó en Sitio --> Mantenimiento --> Desbloqueo global. Al activar el desbloqueo global estableceremos para todos los contenidos (no sólo los artículos) de Joomla el valor checked_out igual a cero, lo que supone cerrar todo aquello que esté en edición activa. Esto resulta peligroso usarlo sin ponderar sus consecuencias, porque si tenemos una web con muchos usuarios, es probable que en un momento dado haya decenas o cientos de ellos insertando contenidos. Si hacemos uso en ese momento del desbloqueo global, supondrá que todos ellos serán expulsados… y lo que es peor, los contenidos que estuvieran introduciendo se perderán.
El uso de la herramienta desbloqueo global debe ser meditado, y posiblemente sea oportuno realizarlo si tenemos pocos usuarios, o en momentos de baja afluencia y cortando el acceso a la página durante unos minutos. Si un usuario incide reiteradamente en dejar artículos u otros elementos bloqueados durante largos periodos de tiempo, puede ser procedente apercibirlo para que cese en esa conducta.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.