 Hola, buenos días. Vamos a ir arrancando por la noche. Esta charla es de Andes Tannig Rupal. Todos hablan español. Él iba a hacer el doblaje al inglés, pero la hacemos en español. Las textiles están en inglés, pero ya os vamos a llevar. Bueno, originalmente la charla le iba a dar Mauricio Dinarte. Hubo un problema de salud, así que la voy a dar. Su trabajo es una cooperativa, trabajamos solo con Socor Libre. Con Rupal hace 12 años y vine a reemplazar a Mauricio. Bueno, la charla va a ser muy introductoria, lo que es Rupal. Empezamos, bueno, ¿qué es Rupal en sí? Rupal es un sistema libre de código abierto. Socor Libre particularmente es bajo licencia GPL y se utiliza para generar sitios web, otros ministrables, gestos de contenidos. Hoy por hoy hay más de un millón de sitios desarrollados e implementados con Rupal. Hay sitios como la Casa Blanca de Estados Unidos, el sitio de los Grammy, el web forum por Económico Mundial. Hay varios sitios más diarios, revistas, la versatilidad o a los mismos sitios como el lecino que se dedica a juegos. La versatilidad que tiene el sistema es muy grande, se pueden hacer muchas cosas. Desde el Core en sí más la gran cantidad de módulos que tiene que va desarrollando la comunidad y aportando software y funcionalidades. Bueno, de todos estos sitios que veíamos, hay sitios muy alto tráfico, que deben ser seguros como ser de la Casa Blanca, es un sitio que no pueden construir, es importante que el sitio sea seguro y después vamos a ver los sitios utilizados para el conocimiento electrónico, es muy lenguaje y con diseño responsivo para poder hacer con distintos dispositivos. Bueno, más o menos lo que les comentaba antes, es un CMS como tal les permite que sea administrado por los propios personas que tengan usuarios con distintos partiles y que estos usuarios puedan participar de la generación del contenido. Ya sea subiendo noticias o comentándolas que tiene maneja Workflow, por lo cual uno puede tener la traducción de Workflow en español, lujo de trabajo, gracias, por lo cual se pueden definir distintas etapas de la vida del contenido para tener una cierta lógica en el contenido sitio. Después también se puede usar como un framework para, en base a Drupal, tomándolo como base generar una aplicación más grande. Ya sea para sitios web que tienen cosas más allá de la publicación de información o también como un web service para que otras aplicaciones consulten y extraigan información que está cargada en el sitio. Por ejemplo, una aplicación de móviles que pueda consultar un RCS o un JSON, un XML para proveer información para después que sea la aplicación la que renderiza la información de la mostrar si lo necesito. La comunidad de Drupal está más de 200 países donde se maneja más de 150 lenguajes y hay más de 30.000 personas que contribuyen código ya sea a través de contribución al core de Drupal o a través de los módulos contributos que le agregan muchas funciones a eso. Una foto de la Drupal.com para formar parte de la comunidad hay tres pasos que se pueden dar registrarse al sitio de Drupal participar del IRC el canal principal es Drupal en FreeNode hay varios más como ser Drupal Contrib o Drupal Support en la página de Drupal Barra IRC está con información y después hay grupos de usuarios locales yo participo en el de Buenos Aires desde donde soy después por ejemplo en mi caso hay dos grupos uno a nivel nacional y otro a nivel local de la ciudad donde uno entra en contacto con personas pueden tenerlas no problemáticas y pueden ayudar a resolver problemas más allá de los poros de Drupal abrir un hilo en el sitio de Drupal que también ayuda el contenido de Drupal la visualización está separada del contenido uno puede generar nodos en Drupal que es la unidad básica de información es una estructura de datos que tienen un título un cuerpo opciones de visibilidad si ya está publicado y después se le van agregando cosas para la visualización como ser eso ya ha parido el tema la columna de la derecha o el camino de migas que se ve ahí arriba de la nota todo eso se va completando con distintas funcionalidades y después vamos a ver que permite ir agramando la visualización del contenido como no necesita que es un nodo un nodo es como decía la unidad básica de que se almacena en las bases de datos todo es un nodo un Drupal todo lo que es información ya sea una noticia una fotografía un artículo un nodo acá están los campos que les comentaba recién tiene un identificador único que se llama NIV que es un valor incremental que se designa únicamente a cada contenido que uno crea en el sitio después sin un título se relaciona con el autor con el usuario registrado del sitio que genera el contenido se almacena la fecha de creación y la demunificación del contenido el estado si está publicado visible para cualquier usuario y además cuenta con un sistema de revisiones que permite ir teniendo un historial de los cambios que fue sufriendo el contenido por sobre todos los nodos se pueden asociar en tipos de contenido que lo que permite básicamente es personalizar customizar las propiedades y atributos que tiene cada nodo un artículo no va a tener las mismas propiedades que puede tener un auto que se publica uno puede publicar un nodo que sea la exclusión de un auto en donde le puede poner la cantidad 6, 2 o 5 puertas y no propiedades no coinciden para decir una noticia que puede ser la bajada el título unas fotografías lo que hace es crear una entidad por sobre el nodo que le a la cual se asocian estas propiedades por ejemplo no define una noticia que va a tener una fotografía un idioma asociado algunas opciones de cómo se va a mostrar un menú y otros campos que de distintos tipos que se pueden agregar hablan los campos hay más allá de que un campo o una línea de texto o una área de texto se pueden asociar a los nodos o a los tipos de contenido distintos tipos de campos para que tengan un tipo de validez por ejemplo un cobro electrónico o una fecha un rango de fechas hay muchos que vienen en el correo de Drupal y otros que se pueden agregar por medio de modos de contribución por ejemplo acá tenemos textos, números tanto enteros como flotantes archivos, imágenes, comentarios y por ejemplo acá se nombran las termitaxomías que vamos a ver que es para poder categorizar los contenidos bueno y en Drupal 8 se suman tipos de campo de fecha de e-mail, enlaces, teléfonos y entidades referencias entre distintas entidades entre distintos nodos particularmente hoy por hoy en Drupal 7 se pueden utilizar tanto el e-mail y enlaces y correos en teléfonos front pero utilizando modelos que están modulos en contribución cada uno de estos tipos de datos tiene su validez en este particular por ejemplo que el correo sea este elemento de correo electrónico que el teléfono tenga una cierta que sea numeroso y es especial depende del país en el que se configura como acá vemos como se puede armar todos esos campos que se fueron generando después se van viendo en la visualización el título, la baja, los comentarios usuarios los usuarios son los visitantes del sitio bar pueden ser tanto anónimos como registrados un usuario como es que se registra se le puede ir entregando distintas capacidades de uso del sitio por ejemplo para hacer cualquier cambio el sitio es necesario ser un usuario registrado en los usuarios anónimos únicamente pueden visualizar para registrarse puede ser tanto una cuenta local como utilizar otros medios de identificación como ser Facebook, Twitter OpenID o a oí por hoy pintas formas de identificar y integrarlo con otros sistemas a través de módulos de terceros un usuario en sí tiene un nombre usuario que es único una dirección de correo que es mandatorio para registrarse salvo que se utiliza un sistema de terceros por ejemplo Twitter si uno se registra a través de Twitter no queda registrado la dirección de correo y si está habilitado no ya que un administrador podría bloquear el usuario para que no se da y cuando tiene se le pueden otorgar distintos roles los roles son una colección de permisos sobre que le dan al usuario distintas capacidades los roles se pueden definir uno por uno o no necesite darle propiedades distintas por ejemplo puede haber un redactor lleno de ejemplo un diario o un redactor que sea quien escribe las notas pero no puede publicarlas y luego tiene que ser revisada por otro usuario que tiene un rol de editor que sea quien efectivamente puede modificarlas en caso sea necesario y publicarlas y dejarlas visible para cualquier usuario un mismo usuario puede tener más de un rol por lo que no es necesario hay muchos roles distintos roles que grupo en funciones se le pueden hacer al mismo usuario y darle capacidades distintas sobre el sistema y esos permisos que hablábamos que asocian a los roles son las capacidades del usuario de ya sea crear un contenido o de revertir un cambio que se hizo sobre un archivo o enviar comentarios o utilizar distintas áreas del sitio de contacto o un área particular el acceso o un término de taxonomía que ahora vemos lo que es o una lleno por ejemplo un carrito de comercio electrónico de realizar compras o no o acceder a ciertas más ciertas promociones o funcionalidades como la cuenta recién se puede tener un flujo de publicación de los contenidos en base a estos mismos roles y permisos parcializando la capacidad de los usuarios un bloque además de la parte principal del sitio donde se despliega la visualización del nodo hay distintas áreas dependiendo del tema como se diagrama puede tener una, dos, tres columnas o áreas en el pie donde uno puede insertar bloques los bloques son contenidos que pueden ser manuales no puede ingresar un bloque estático o puede extraer información del contenido que ya he cargado como ser las últimas noticias o los últimos comentarios y puede insert estar desconectado del contenido que se esté visualizando o por ejemplo los últimos comentarios de la nota que se está viendo pueden ser estáticos que son los que se cargan a mano dinámicos utilizando otro tipo de información adicionalmente estos bloques tienen reglas para la visualización más allá de los permisos del usuario de ver el contenido que se está mostrando en ese bloque se puede hacer que la visualización del bloque se agregue únicamente según tipo de contenido o en algunas páginas en especial o para algunos roles específicos adicionalmente si es un sitio multilenguaje en grupo al 8 ya viene nativo multilenguaje en grupo al 7 hay que usar algunos módulos extras se puede configurar para que el bloque se vea únicamente por ejemplo en inglés o en español bloque facilita si es un bloque estático que la gente que entra en un sitio en inglés vea sobre el contenido en inglés no se mezclan los idiomas inicialmente como les comentaba el bloque puede estar al tanto del contenido el contexto por lo que se podría hacer un bloque con las últimas notas de un mismo autor o de los últimos comentarios de la nota que se está visualizando es útil al momento de diagramar los idiomas por lo que con un mismo bloque se puede utilizar en todas las notas sin necesidad de hacer un bloque específico relacionado a esa nota en particular lo que haría la administración imposible habría que generar un bloque por cada nota que se haga adicionalmente a los bloques se le pueden agregar campos customizados estos nuevos en el cual se requiere un módulo externo que es IN pero en grupo al 8 ya se pueden agregar campos específicos como un bloque en particular el menú del usuario el sitio se puede ir construyendo un menú que puede ser ese stat lo va cargando el administrador y va armando el árbol de opciones de ese menú es una colección de enlaces básicamente con dos niveles donde cada menú genera automáticamente un bloque en cualquiera de las secciones el sitio por el menú por respecto de Drupal se llama mind navigation que es el que normalmente todos los tems utilizan como menú de la cabecera adicionalmente está el menú del usuario o uno para administrar para el administrador que se ve apenas una instala se lo vean en Drupal y adicionalmente se pueden ir agregando tantos menús como se necesiten en las distintas secciones en donde los enlaces se pueden agregar a través de módulos o un usuario que tenga los permisos necesarios pueden ir estrando y agregando en la sesión cada item de esos menús tiene un título que visualice el usuario y el enlace donde va a dirigir adicionalmente se pueden ir deshabilitando los menús para que no sea necesario eliminarlos para que se vea temporalmente un enlace y tiene una propiedad que es marcarlo como expandido que hace que siempre que se visualice se vean todos los hijos que tiene ese menú todos los enlaces que dependen de él se vean por debajo si no por defecto a Drupal lo que hace es solo mostrar los hijos de una opción del menú cuando se está visualizando esa opción por lo que haría que si es un árbol muy grande de categorías solo se vean las categorías de la página en la que se está visualizando en ese momento a decisión se le puede poner una descripción que es el título que se va a ver al posicionarse sobre ese enlace tiene un puede tener un enlace padre para armar el árbol de categorías y un peso que es el orden en el que se van a mostrar el enlace en el enlace y hay dos tipos de ítems de menú de enlaces en si está el ítem normal de menú que es cuando está habilitado que es cuando está deshabilitado menú callback que es a través de una opción esto ya es más de Drupal 8 no se utiliza y llegamos a las taxonomías son categorías para organizar el contenido pueden asociarse a distintos tipos de contenido no son taxonomías globales en donde dentro de cada categoría uno puede ir generando distintos términos para asociar a los a los nodos que uno va generando por ejemplo en el caso vocabulario las categorías se llamarían vocabularios y los términos son las distintas instancias de ese vocabulario por ejemplo un vocabulario sería frutas y dentro estarían los términos manzana y banana el vocabulario en city tiene un identificador único siempre que hablamos de identificadores únicos es un valor autoincremental se puede generar con un módulo externo un UID que facilita cuando uno tiene que pasar cosas de desarrollo a producción identificar una categoría en ambos sitios ya que podría haber variado en el sitio en producción se podría haber creado nuevos términos lo que haría que soy identificador autoincremental ya no coincidiría entre ambos sitios después tiene un nombre que es el un nombre que va a haber el usuario de la persona y el machine name que es un código que se genera en más de un nombre sanitizándolo eliminando espacios pasando todas las minúsculas que es con lo que se asocia después con los nodos y cualquier entidad la que se asocia un vocabulario bueno hay una descripción que puede para que explica que es ese término y ese vocabulario y se puede agregar en la visualización con un usuario un naveg, un página un vocabulario que vea esa descripción y los términos se utilizan para describir el contenido también tiene un interpretador único un nombre, una descripción y un alias URL una URL de alias que es la que se va a utilizar para navegar Drupal Perfecto genera una página por cada término de contenido pues ya se genera la ruta para ese término y cuando la ingresa vea automáticamente todos nodos e entidades que están asociadas de ese contenido con módulos como ser panels uno puede sobre escribir estas páginas y darle un formato más a menos o agregarle filtros cosas que lo hagan más accesibles pero si no por defecto viene un listado como si fuera un blog del último de nodos o contenidos que tengan ese término bueno, a partir de Drupal 7 los términos son de entidades por lo tanto se le pueden agregar nuevos campos además de lo que decíamos antes por lo que por ejemplo uno puede agregar una imagen o otro tipo de datos que necesita social y para poner a disposición de los usuarios de los visitantes adicionalmente los términos están anidados por lo que pueden tener profundidad e armar un árbol de términos lo que permitiría hacer más atomizada la categorización de los contenidos bueno, y también al igual que los items del menú pueden ordenarse más allá de los fabéticos uno puede darle un orden manual si quiere destacar al término sobre otro a través de la que hubo peso hay algunos ejemplos que podría utilizar como ser la categorización de productos o las categorías de un periódico lo que haría que lo que finalmente uno categoriza el contenido para que los usuarios que visiten el sitio puedan acceder más fácil de lo que están buscando y facilitarles el acceso a la información también se le puede agregar términos de contenido que puedan facilitar la distribución de contenidos por zonas en base a ubicaciones ya sea de una ciudad se le puede integrar con Google Maps y mostrarlo en un mapa la información que uno está visualizando Vistas las vistas lo que permiten hacer es personalizar la información que se muestra en este grupo tanto los listados de contenido como la visualización de un nodo son básicas y se muestran en el caso del listado del último al primero y muestra el título una pequeña escripción y el enlace en la fecha de publicación, en el autor y en el enlace y en el caso del detalle del nodo lo que se hace es mostrar todos los campos que se hayan puesto el título, fecha de publicación el cuerpo y debajo todo lo que se haya agregado mediante vistas junto con nuestro modelo que están en él se puede diagramar y mostrar la información que uno necesita en Drupal 7 todavía es un módulo, a partir de Drupal 8 ya está fueron parte del core de Drupal que lo que permite y lo que brinda es una interfaz para facilitar la creación de consultas a la base de datos para traer la información que uno necesita y mostrarla a su usuario esto hace que una persona no necesite el sabor de ese QL o de promoción de HP para poder construir y personalizar la visualización por ejemplo, adicionalmente por lo más allá de la consulta en C también tiene varias formatos de salida de esa información puede ser una tal HTML un fit RCS se puede exportar a PDF, SSB o JSON la vista de lo que provee es una forma de traer información de la base de datos sin necesidad de conocer ni de lenguaje base de datos ni de la estructura de cómo está armada la base y permite mostrar a los usuarios información ya sea un usuario, una persona o otro sistema como puede ser un lector de RSS o otro sistema que va a procesar un JSON sin que el usuario este caso de usuario el administrador que está generando que está generando la vista tenga conocimientos de todo esto simplemente elige que quiere traer nodos un tipo de contenido específico que el título una fotografía, los ambos que quiere traer puede agregarle condiciones para esa búsqueda por ejemplo que esté publicado o no entre un rango de fechas lo que facilita la administración y la generación de visitados de contenidos estas formas de mostrar la información se llaman displays hay muchos y se pueden agregar mediante modulos más puede ser una página lo que uno le asigna una red específica y con la vista misma ya diagrama la página puede ser crear un bloque como para hacer por ejemplo las últimas noticias de un lector o los últimos comentarios de una noticia un flí de RSS para suplantar por defecto que trae Drupal que muestra todos los nodos que se hayan creado se puede crear un específico para una categoría de noticias para alguna necesidad que haya de cubrir y adicionalmente tiene puede ser puede generar un pdf o una salida resta para otra aplicación con su servicio el display en si tiene varias configuraciones se le puede configurar el formato que es una tabla o que tipo de salida va a tener además se le pueden generar qué campos mostrar y que no dentro de una misma vista puede tener varios displays o sea, uno puede generar una vista de últimas noticias y distintos displays como para generar una página o un bloque sin tener que crear varias vistas y puede variar los campos que se muestran en cada uno o el formato o cualquier opción de esa vista adicionalmente se pueden agregar criterios de búsqueda o de orden de la vista y también el comportamiento que va a tener la vista en caso de no encontrar información a mostrar, se puede mostrar un mensaje o un mensaje personalizado o que no se muestre de tan de la vista por lo que no se genera 10 contenidos del usuario en algunos casos eso puede servir, en otros es mejor mostrar un mensaje por ejemplo así es una vista que se va a utilizar para generar un buscador es conveniente que se informe el usuario que no se ha montado contenidos en base al criterio de su búsqueda estos criterios que uno se tea en las vistas pueden establecerlo quien genera la búsqueda o dejarlo abierto a que sea el usuario y que establece el valor que va a tener ese filtro en ese caso el visitante de lo que va a haber es un campo en base al tipo de datos será un ímpuno o un seller en donde puede ingresar el criterio por el que quiere filtrar la información bueno, la vista en sí se compone de un título un área de cabecera, un pie y un paginador uno puede establecer que se paginen, que se muestran todos nodos que coincidan con los criterios establecidos o puede paginar según la necesidad así es para un bloque o es especificar que solo se traiga una cantidad específica de elementos por ejemplo si es un bloque de últimas noticias que solo se ven las últimas cinco noticias adicionalmente las vistas tienen también se integran al sistema de permisos de Drupal o asociéndolo permiso en particular o a un rol o sea que se puede exigir que el usuario tenga un rol específico para poder visualizar el resultado de esa vista o dejarla a cualquier tipo de usuario también tiene calle tanto de la consulta del resultado de la consulta como de la visualización o sea se para se puede establecer tiempos de calle distintos para lo que es el resultado de la consulta de lo que es por ya lo caso de un display que sea html de la código html que se genera y también volvió un segundo del paginador no es necesario refrescar la pagina el paginador se puede habilitar para que funcione mediante Ajax por lo que se mimizaría la cantidad de información que tiene que ir y venir entre el servidor y el visitante para que sea un poco más rápido la experiencia y cargue menos contenido y después está cada tipo de visualización cada display puede tener configuraciones específicas por ejemplo en el caso de ser una salida pdf se le puede agregar una plantilla de fondo que esa opción no va a estar en el caso de que se genera una salida html esto sería el resultado de una vista se está casando en los en los por ejemplo es un listado de autos en donde se ve el modelo, una imagen el color que son todos campos asociados al tipo de contenido auto y arriba se ve los filters expuestos de la vista que sería en el año el fabricante, el modelo el orden el campo por acuerdo de narices hacen el excelente todo esto se puede lograr con una sola vista necesario utilizar ningún módulo adicional antes hablábamos de los nodos y a partir del grupo al 7 por sobre los nodos están las entidades que es otro nivel de abstracción que lo que hace es generar un api centralizada para la utilización de los contenidos que se generan por ejemplo en grupo al 6 los nodos eran una cosa estaban completamente separados de los usuarios separados en el sentido de que eran cada cosa a partir del grupo al 7 ambos son entidades por lo que se les pueden se facilita el acceso esto ya es más tal vez para con uno comienza a generar código el acceso a la información de las propiedades de cada otro usuario como los nodos cualquier tipo de entidad que uno pueda crear todo lo que facilita es que cualquier tipo de contenido se accede a través de las mismas funciones en el mismo api del sistema de grupo al 7 por ejemplo una de las cosas que se ganó en grupo al 7 al hacer que los usuarios sean entidades es la posibilidad de agregar nuevos campos así como como requisito es tal el nombre de usuario, el correo y los campos que mencionamos antes uno puede ir agregando nuevos campos para solicitarle más datos al usuario o cargar datos del usuario todo esto tiene la misma lógica y se genera de la misma forma que se agregan los campos al nodo a través del api que probé al hacer toda una entidad después uno también puede generar o cargar de módulos de contribuos de módulos que uno mismo desarrolla nuevos tipos de entidades que no sean ni nodos usuarios y van a ser entidades sobre los que uno pueda desarrollar lo que necesite pero tal vez uno tuvo una necesidad que no cubría ni un nuevo usuario en general sin dejar de usar las herramientas que probé Drupal que es lo que uno gana al hacer una entidad por ejemplo Drupal 7, los nodos, los usuarios los comentarios, los archivos y mismo las vistas son entidades o los términos de taxonomía Cron es un viene de los sistemas viejos sería el para los usuarios Windows el tareas programadas es una forma de programar de distintas tareas Drupal viene ya con un Cron de hecho con uno de los instalas se supiere que en el host un adorno ponga sitios programa la ejecución del Cron de Drupal viene con algunas tareas ya por respecto como ser limpieza de calles y un montón de cosas adicionalmente los módulos que uno va agregando y le agregan sumando tareas a ejecutar en estas corridas de Cron adicionalmente cuando un usuario si se corren algunas pequeñas tareas de Cron por ejemplo se puede hacer que el sistema verifique si hay soliciciones para los módulos o que están instalados o que se limpie un calle o que se publica no se publica en cosas o esto se puede agregar o con módulos propios o a través de módulos de terceros eso es algo importante que se genera a través del Cron el buscador de Drupal que viene con el Cron necesita que el contenido esté indexado para facilitar acelerar la búsqueda lo que hace es indexar todo el contenido que se va generando mediante la ejecución del Cron para poder tener un índice y que la búsqueda sea más rápida que si tendría que poder buscar en todos los nodos al momento de ejecutar cada búsqueda necesariamente bueno otras cosas que se suelen cronear es envío de correos recordando recordando a los usuarios alguna actividad o cosas eliminar archivos temporales o ir limpiando el calle a medida que sea tanto el calle de las vistas como el mismo de las páginas o módulos como boost que lo que hace es generar versiones estáticas de las páginas todos utilizan el Cron para ir limpiando las páginas que estaban decidas para los desarrolladores para nosotros desarrolladores esto sobre eso es complicado cuando se presenta algún problema o necesidad que uno no pueda resolver fácil uno siempre tiende a tocar el código de brutal así sea un pequeño cambio no es recomendable porque al momento cuando uno desarrolla un sitio después tiene que mantenerlo y salen versiones nuevas ya sea por nada funcionalidades o misma una parte de seguridad si uno hizo cambios en el cor hace que el día de mañana cuando uno actualiza o tenga que estar replicando esos parches y viendo si todavía son válidos con el código nuevo o si uno se olvida y pierde la misma investigación que hizo y dejan de acusar las cosas con el brían o mismo uno veces toca cosas que en el momento no afectan o uno cree que no afectan y pueden llegar a afectar a otros módulos o a otras partes del sistema que utilizan esa función que uno tocó y ajustó para que haga lo que uno necesita siempre es un poco más laborioso pero es conveniente hacer un módulo que agregue la funcionalidad que uno necesita antes que tocar el el cor para estas cosas Groupal tiene hooks que lo que permite es que tanto en el cor como módulos contribui los desarrolladores de esas partes permitan a otros desarrolladores ejecutar código propio dentro de esa funcionalidad por ejemplo cuando se registra un usuario Groupal tiene un hook para que uno con su propio código pueda ejecutar alguna acción o sea signarle un grupo o enviarle un correo de bienvenida esto para que realmente ya lo trae a Groupal pero se puede hacer algo más o al guardar un nodo ejecutar algún tipo de variación particular que uno necesite por ejemplo si es un usuario de un rol en particular que aún no puede publicar más de una X cantidad de contenidos en el sitio hacer un conteo de la cantidad de contenidos que tienen publicado para evitar que se guarde o validar algún campo en particular que a través de la interfaz uno no pudo hacerlo puede utilizar los hooks para agregarvalidaciones a los campos es una pausa en la ejecución del código normal para poder agregar discusiones propias esto se está dando en el core como en los módulos con TRIP como también hay los Temps definen muchos hooks para poder cambiar la información antes de mostrar al usuario uno podría traducir algo o cambiar el código HTML en alguna parte que necesite determinar cosas para poder disponer de un hook tiene pasar las cosas por un lado que el módulo un módulo de fina que hay un hook que un usuario puede utilizar esto se hace a través de una función que se llama hook y enbajo y el nombre del hook y luego un módulo que utilice ese hook para lo cual tiene que definir dentro de su código una función en donde es el mismo nombre pero se reemplaza la palabra hook por el nombre del módulo por ejemplo si el módulo se llamara Nicaragua para definir el módulo hook node presave que es un hook que se ejecuta antes de que se almacene el nodo en la base de datos debería definir una función de lo módulo que se llame Nicaragua node presave esto hace que cuando se insta el módulo luego ante cualquier fiesta de calle de Drupal se reindexan todas las funciones de hook para que cada vez que se ejecute que se llame el nodo node presave se ejecuta en todas las funciones que implementen todos los módulos varias funciones que utilizan un mismo hook sin que se genera el problema cada módulo puede tener su propia función node presave y realizar distintas verificaciones antes de almacenar un módulo y acá estaría una pequeña muestra el código de cómo sería básicamente esas tres líneas ya hacen que se esté implementando un hook para que se ejecute y uno haya dentro puede hacer lo que necesita los parámetros que recibe la función dependen de cada hook eso ya se definen en el módulo que pone disponible el hook pero siempre buscando en el código y me encuentra la documentación del módulo tanto del core tanto de varias definiciones de distintos hooks y de los parámetros que uno recibe acá llegamos un poquito rápido me parece vamos a hacer dudas o consultas o cosas que quieran preguntar básicamente básicamente lo que se hizo fue generar el término de entidad que está por sobre el nodo para poder facilitar el uso de todos los objetos sí en términos de programación se detectan los objetos que cuenta Drupal para poder tener un app centralizada para tanto la búsqueda, la base de datos para instanciar un objeto de la base de datos en sí Drupalmente no ha cambiado nada lo que se hizo fue poner algo por sobre los nodos o por sobre los usuarios que es la entidad que a nivel de código por ejemplo lo que te facilita es que tenés funciones para instanciar o para recuperar de la base de datos una entidad sin tener una necesidad de saber qué funciona y qué ejecutar por ejemplo creo que es entity load entity load es el tipo de entidad que sería nodo o usuario o otro tipo de entidad que uno haya generado y el id de ese término de esa entidad entonces ya te instan si te devuelve la entidad con todas sus propiedades cargadas pero en sí yo probablemente lo veo más como algo una mejora para facilitar sobretodo en la parte de código posterior cuando uno hace desarrollar cosas para Drupal para poder facilitar el código veo genera código mucho más claro porque en todos lados uno utiliza una función de ese lugar utilizar en un lado de la función node load o en otro user load uno siempre utiliza una única función de cualquier tipo de datos si para un site wheel no sé si tiene tan más allá que al nivel de generar al momento que en una vista te necesitas distintos tipos de vistas pero en parte de lo que te permite por ejemplo si querás hacer una vista que te traiga datos de un node y del usuario como toda su entidad te permita hacerlo creándole la relación y poder traer datos de uno y de otro claro sí o datos de varios nodes o sea poder a través de las relaciones de la vista pues agregarle cosas pues traer varias cosas y varios tipos de datos y varios campos distintos esos tipos de datos ya sea algún contenido o un usuario o una taxonomía pero que ha ido por ahí en la pregunta te permito lo que recibí, lo que escuché en otra charla no no pues todavía te falta mucha funcionalidad o sea el core ya está maduro pero no tenés la misma cantidad de módulos que para grupo al 7 yo al menos no la haría por la cantidad de por la... recién Dries dijo está casi pero no sé realmente de contribución cuando los módulos se han migrado nosotros por ejemplo nosotros tenemos mucho de contribución o desarrollamos nosotros nuestros propios módulos para alguna funcional puntual o tratamos de integrar módulos de contribución pues después te facilitan el mantenimiento que si es código propio pero todavía me parece que falta mucha mucha funcionalidad grupo al 8 más allá que el core integró muchísimas cosas como servista bajo el calle muchas cosas más no sé si pondría en producción algo que está en meta salvo que sea un desarrollo muy largo pero alguna vez que da ya una versión establece sobre todo pues pues una para ser el sitio institucional para ser un sitio institucional de una entidad financiera digamos o para ser con banking de un banco ehh claro ehh realmente en Europa salvo uno cuando salió en la 732 que fue un narrozito un poco grave fue crítica a ese bug ehh es bastante seguro más allá de que no me gusta decir eso pues no hay nada seguro pero bueno el problema es cuando uno empieza a integrar módulos de contribución hay módulos que tienen mucha comunidad alrededor que tiene muchos ojos viendo el código entonces son más seguros que otros que capaz desarrollaron para una necesidad específica el creador lo liberó ya no tiene tanto mantenimiento no sé si ya es tan seguro agregar ese tipo de cosas particularmente yo no le he usado más que para comercio electrónico eso sí hemos hecho de sitio una agencia de turismo de Argentina que opera venta en línea de pasajes tipo similar a despegar.com en la versión y para eso se usa con cierta seguridad hay que mantener el código siempre actualizado con la última versión de Europa todos los módulos que se están utilizando pero no sé particularmente haría un poquito de cosas utilizarlo utilizarlo en tierras de encierras pero bueno es un código abierto se puede evitar con la gente que se ponga a revisar el código con seguridad además de ponerle seguridad delante fuera de lo que es el sitio si como has orientado el contenido a la generación de contenidos que atras acciones en sitio si lo que tenes que no hay que usar code siempre es conveniente usarlos de hecho hay módulos muy buenos que hoy por hoy están dentro del correo de Europa 8 usar el de views logísticamente uno cuando busca un módulo para cubrir una necesidad que tiene tiene que tratar de encontrar los millones que van pero de los miles que van a encontrar el que mejor se adapte pero también tiene que tener en cuenta la cantidad de gente que tiene cuantosillos abiertos tiene cuanta gente hay contribuyendo el código cuantas descargas mismo tiene cuanta gente hay usando el código pues lo que va a hacer es que cuando no tenga un problema que resolver algo con ese módulo y no le encuentre la forma tiene más gente alrededor para consultar que creo que de Drupal es lo mejor que tiene en la comunidad porque se presenta un problema o se abrirse un issue o consultarse en los foros siempre alguna vuelta o en el mismo encontras buscando encontras alguien que tiene un mismo problema o algo similar y lo puedes adaptar a tu necesidad por eso nosotros desarrollamos sitios en Drupal y siempre usamos los módulos de contribuyo para algunos casos puntuales donde no encontramos nada lo desarrollamos nosotros pero siempre siempre utilizamos espero que no haya sido demasiado rápido que algo se hayan venido gracias por haber venido