Cómo generar un adecuado sistema de administración de contenidos para editores de portal

Una de las dificultades permanentes en el uso de Drupal es como preparamos un sistema de administración ad-hoc para el usuario que se encargará de la edición de los nodos de contenido.

Me ha resultado bien la combinación de
http://drupal.org/project/toolbar
http://drupal.org/project/views_bulk_operations
http://drupal.org/project/override_node_options
http://drupal.org/project/better_formats

Primero, antes de configurar tenemos que entender que si asignamos el permiso "administer nodes" localizado en "admin/user/permissions" a cualquier usuario, automáticamente le estamos dando permiso para agregar, borrar o modificar nodos y por tanto ya no tenemos necesidad de marcar todas las opciones de la sección "node module" localizado en "admin/user/permissions". Muchas veces además de marcar "administer nodes", terminamos marcando "create page content" , "create story content", "delete any story content", "delete any page content", etc; y la verdad ya no era necesario.

Entonces, es muy importante NO MARCAR el checkbox "administer nodes" si queremos personalizar el formulario de edición de un nodo para un rol que podríamos llamar -por ejemplo- "editor". Con esta opción desmarcada, empezamos entonces de cero a poner nuestros permisos por cada tipo de nodo en la misma sección "node module", por ejemplo podemos marcar "create story content", "delete any story content", "delete own story content" y "edit own story content". Esto hará que nuestros formularios aparezcan limpias de opciones que el editor no va a necesitar. Entendido este paso, ¿qué sucede si quiero que aparezca el fieldset "Publishing Options" con la opción "Published"?

Para esto usaremos el módulo override_node_options para comenzar a indicar lo que queremos que se vea o no en nuestro formulario. Los permisos se configuran en la sección "override_node_options module" de "admin/user/permissions".

Además podemos desaparecer los "molestos" avisos de "format tips" o la forma como queremos que aparezcan los fieldset usando el módulo better_formats.

Hasta aquí la parte inicial acerca de cómo "limpiar" los formularios de edición. Sin embargo, si necesitamos administrar los nodos no vamos a poder administrarlos de "admin/content/node". Les saldrá un mensaje "Access denied. You are not authorized to access this page. "

En esa situación necesitamos un nuevo administrador y allí es donde entra el módulo views_bulk_operations. Una vez instalado podemos administrar nuestros nodos desde "admin/content/node2" pero previamente debemos entrar a su configuración de vista (es una vista!) y configurar en la sección "Access:" permisos para el rol que tendrá acceso. Esto es muy importante, porque por defecto la vista trae permisos para "administer nodes", así que si no cambian esta configuración no podrán entrar.

Finalmente si desean facilitarle al usuario una bonita y práctica barra de herramientas pueden usar el módulo toolbar que permite configurar una barra de enlaces directos. Para esto primero creamos nuestra barra en "admin/build/toolbar" y luego la asignamos a un rol especifico en "admin/settings/toolbar".

Eso es todo, espero les sirva. Mejorar la accesibilidad y la usabilidad para los usuarios es también nuestra responsabilidad.

Actualización

Si quieren poner un editor HTML por defecto tienen que hacer lo siguiente:
0. Verificar que el módulo "better_formats" esté instalado además de un editor HTML. En mi caso usé el módulo http://drupal.org/project/wysiwyg junto con la librería http://tinymce.moxiecode.com/download.php. El editor se configura en "admin/settings/wysiwyg"
1. Ir a admin/settings/filters
2. Si quieren que el filtro "Full HTML" esté disponible por defecto para el rol que han elegido, click en el link "configure" y en "Roles" marcar el rol que desean.
3. Ir a admin/settings/filters/settings y marcar la opción "Control formats per node type"
4. Si quieren configurar -por ejemplo- el content type Story con un editor por defecto para el rol que desean ir a "admin/content/node-type/story" y en la sección "Input format settings" seleccionar el formato por defecto para el rol elegido.