El hecho de haber colaborado con cientos de iglesias a lo largo de los años nos ha permitido conocer cuáles son las mejores formas de desarrollar y mantener Rock para ofrecer una experiencia inigualable. Aunque contamos con una amplia variedad de materiales de formación y recursos de aprendizaje, nuestro objetivo es compartir con la comunidad de Rock los conocimientos más útiles y demandados. Somos conscientes de que el éxito compartido es el mejor éxito y sabemos que, al compartir libremente nuestras mejores prácticas, todos estamos #BetterTogether.
Este manual es un documento en constante evolución y irá cambiando con el tiempo a medida que nuestro equipo siga aprendiendo y creciendo. No dejes de consultarlo de vez en cuando y sigue nuestra página de Recursos en nuestra web para acceder a vídeos de formación actualizados, herramientas útiles de Rock y mucho más.
Los 10 mejores consejos sobre el rock
Hay muchos consejos importantes para sacar el máximo partido a Rock. Antes de entrar en detalles, aquí tienes nuestra lista con los 10 conceptos principales que debes tener en cuenta.
- Asegúrate de que tu estrategia digital se ajuste a las expectativas de la dirección y a los objetivos de inversión. Rock es el motor de tu estrategia digital. Es fundamental asegurarse de que Rock cuente con los recursos adecuados.
- Utiliza Rock como tu almacén central de datos. Amplíalo de forma que tus datos permanezcan centralizados, y no dispersos, para aprovechar al máximo el potencial de un ministerio personalizado.
- Documenta todo. Empieza por tus flujos de trabajo, informes y vistas de datos. No te olvides de los procesos más complejos.
- Los sistemas son cada vez más complejos. Invierte en revisar periódicamente tu rendimiento, seguridad y configuración para evitar que surjan problemas.
- No modifiques el código fuente de los archivos principales. Si es necesario, envía solicitudes al equipo de desarrollo para corregir errores, añadir funciones o compartir ideas.
- Limita los cambios a los directorios autorizados del sistema de archivos de tu servidor. Las únicas carpetas en las que debes realizar cambios son: «Content» y «Themes» (y solo tus propios temas).
- La caché es la clave del rendimiento. Utiliza estos vídeos para conocer mejor cómo funciona la caché en Rock:
- Almacenamiento en caché en Rock
- La importancia del almacenamiento en caché
- No utilices JavaScript para modificar el DOM de los bloques y funciones principales, ni CSS para ocultar o mover el contenido de los bloques principales.
- Evita codificar directamente la lógica de negocio en SQL y Lava.
- Los flujos de trabajo son como los músculos, no como los huesos. No los compliques en exceso.
Infraestructura
Tus servidores son la base de tu experiencia con Rock. Asegurarte de que estén en buen estado y cuenten con los recursos adecuados puede marcar la diferencia en el rendimiento de tu sistema, lo que te ayudará a estar preparado tanto para lo previsto como para lo imprevisto.
Instalación inicial
Aunque existen muchas opciones para alojar tu entorno Rock, la comunidad suele utilizar Microsoft Azure para el alojamiento en la nube y, en algunos casos, servidores locales. En la comunidad puedes encontrar guías básicas al respecto. Nuestro equipo ha documentado otras prácticas recomendadas para configurar y mantener tu infraestructura, que se describen aquí.
Según nuestra experiencia, las organizaciones suelen dotar a sus servidores Rock de recursos insuficientes. Ten en cuenta que este es el motor de toda la estrategia digital de tu iglesia. No le pondrías el motor de un cortacésped a tu coche deportivo, así que no prives a tu servidor Rock de los recursos que necesita para potenciar tu ministerio.
Al configurar tus servidores
La configuración inicial puede marcar una gran diferencia en el rendimiento de tu infraestructura, tanto en el día a día como en los momentos de mayor uso.
- Separa tus entornos de producción y de pruebas. Aunque pueda resultar tentador utilizar un mismo servidor (o máquina virtual) para ambos entornos, esta decisión aumenta el riesgo a cambio de un beneficio económico muy escaso. Alojarlos en servidores diferentes es una medida de seguridad que ayuda a evitar cualquier problema que pudiera afectar a tus operaciones en producción.
- Evita utilizar enlaces de IIS para varios dominios. Al configurar los enlaces de IIS (Internet Information Services) para las instancias de Rock, es recomendable asignar a cada instancia su propia máquina virtual (VM), tal y como se ha indicado anteriormente. Además, asegúrate de que cada instancia tenga solo dos enlaces: uno para HTTP (puerto 80) y otro para HTTPS (puerto 443). De esta forma, si añades un nuevo sitio con un dominio diferente, no tendrás que reconfigurar IIS, ya que Rock se encargará del tráfico y mostrará el sitio correcto según tu configuración. No es necesario añadir enlaces adicionales, ya que pueden suponer un riesgo de error.
- Protege tu sistema configurando copias de seguridad periódicas tanto para tu servidor web como para tu servidor SQL. De este modo, si pierdes datos o tu sistema sufre algún problema, podrás restablecer rápidamente todo tal y como estaba antes. A la hora de configurar tus copias de seguridad, ten en cuenta las posibles necesidades de recuperación a corto y largo plazo.
- Ten en cuenta estos ajustes adicionales de IIS.
- Activar la compresión: Instala el módulo de compresión en el servidor y activa la compresión en IIS. Comprimir el contenido de tu servidor Rock es importante para obtener una respuesta rápida.
- Activa el protocolo WebSocket (disponible a través del servicio SignalR de Microsoft Azure): el motor en tiempo real de Rock funcionará mejor con el protocolo WebSocket, lo que te permitirá recibir información en tiempo real desde el servidor. Si no lo activas, se enviarán pings repetitivos al servidor para recibir actualizaciones, lo cual es mucho menos eficiente.
Supervisión de tus recursos
Las sorpresas son divertidas en las fiestas, pero no cuando se trata de tu infraestructura crítica.
- Aunque debería ser obvio, asegúrate de supervisar los registros de IIS para observar las tendencias a lo largo del tiempo y determinar si tus necesidades de recursos están aumentando o si puede haber algún problema de rendimiento que haya que resolver. Te recomendamos que revises los registros de IIS al menos cada dos meses. Te sorprenderá lo que descubras sobre el tráfico de tu servidor Rock.
- Además, asegúrate de actualizar periódicamente tu máquina virtual y tu base de datos SQL, y de elevar el nivel de compatibilidad de SQL Server para estar al día de las últimas mejoras.
- Configura un sistema de supervisión proactiva y alertas. Preferimos que sea una alerta la que nos avise de que algo va mal, en lugar de que sea nuestro pastor quien nos lo comunique. Recomendamos Better Stack Uptime como una excelente opción. Otros miembros de la comunidad también han obtenido buenos resultados con Pingdom y Status Cake.
- Como novedad en la versión 16, Rock ha incorporado una nueva e increíble función llamada «Observability». Esta función te permite enviar tiempos y métricas detallados a plataformas de monitorización como NewRelic. Disponer de estos datos es fundamental para gestionar una plataforma digital bien optimizada.
Más allá de lo básico
Una vez que domines los conceptos básicos, piensa en cómo se pueden aplicar estas áreas a tu caso.
- Estrategias de escalabilidad inteligentes: A la hora de ampliar tu sistema, es mejor añadir más recursos a un único servidor (escalabilidad vertical) en lugar de añadir más servidores que deban funcionar conjuntamente (escalabilidad horizontal). Esto puede hacer que tu configuración sea menos complicada y más fácil de gestionar.
- Optimiza las solicitudes a la API mediante el procesamiento por lotes: si utilizas la API REST de Rock para integrar servicios, intenta agrupar las solicitudes a la API (procesarlas por lotes) o utiliza un punto final personalizado para evitar un uso excesivo de la API. Esto hace que tu sistema sea más eficiente, ya que combina varias solicitudes en una sola, lo que reduce el trabajo adicional y mejora el rendimiento general.
- Plantéate utilizar una red de distribución de contenidos (CDN): En el entorno digital actual, una CDN es prácticamente imprescindible. Si tu servidor gestiona mucho tráfico, plantéate utilizar una red de distribución de contenidos (CDN). Las CDN distribuyen el contenido de tu sitio web entre diferentes servidores de todo el mundo, lo que acelera la carga para los visitantes y reduce los retrasos. Una CDN es especialmente importante si alojas tu sitio web externo y tus aplicaciones móviles en Rock.
Configuración
Rock es extremadamente extensible, lo que significa que hay una amplia gama de opciones de configuración y combinaciones disponibles. Aunque en Rock suele haber más de una forma correcta de lograr lo que se desea, también suele haber muchas otras formas incorrectas.
En lugar de limitarte a resolver el problema concreto que tienes entre manos, ten en cuenta la facilidad de mantenimiento a largo plazo. Esto te ayudará a evitar construir un «castillo de naipes» que acabe volviéndose inestable. Trabaja con el núcleo del producto siempre que sea posible e, incluso, solicita una actualización financiada del núcleo de Rock, si es necesario, o añade una idea al tablón de ideas para que la comunidad la vote. Esta es una alternativa mucho más segura a largo plazo que copiar bloques del núcleo y realizar cambios en ellos, algo que no se recomienda.
El estado de tus datos también puede afectar al rendimiento de tu instancia de Rock. Asegúrate de utilizar los ajustes y los informes de integridad de datos incluidos para mantenerlos lo más limpios y precisos posible.
Mientras personalizas Rock según tus necesidades, ten en cuenta las siguientes prácticas recomendadas de configuración.
General
A grandes rasgos, hay varios aspectos que debes tener en cuenta a la hora de abordar la configuración de Rock.
Existe un sinfín de herramientas y tecnologías que puedes utilizar para ampliar y desarrollar Rock. Intenta utilizar las mismas herramientas que la comunidad siempre que puedas. Esto te aportará varias ventajas útiles, entre las que se incluyen:
- Esto facilitará que tu organización lo mantenga a lo largo del tiempo. Los demás miembros de la comunidad lo conocerán y los socios estarán bien familiarizados con él.
- Te permite compartir más fácilmente con los demás, lo que hace avanzar a toda la comunidad.
- Hay más recursos disponibles a modo de referencia.
Es fundamental contar con una instancia limpia
Y aunque pueda parecer algo sin importancia en comparación, mantener tu instalación de Rock limpia y organizada es como mantener ordenado tu espacio de trabajo físico, lo cual resulta especialmente útil dado que se comparte con tantos compañeros de trabajo.
- Utiliza los iconos de forma coherente para poder distinguir rápidamente entre las distintas opciones.
- Elimina las notificaciones de Sparklink de la página de inicio para que no resulten abrumadoras.
Las descripciones deberían ser obligatorias
Cuando veas un campo de descripción, considéralo un campo obligatorio. Ya se trate de flujos de trabajo, vistas de datos, texto de ayuda o cualquier otro elemento, proporcionar contexto y documentación sobre por qué existe algo y para qué sirve resultará de gran utilidad en el futuro.
Consejos sobre tipos de campos específicos
- Al crear un campo de selección única o múltiple, asigna claves a los valores. Esto te permitirá renombrarlos más adelante sin que parezca que se pierden datos. Por ejemplo, en lugar de enumerar las opciones como
Manzanas, limones, cerezas, en su lugar, enuméralas como 1^Manzanas, 2^Limones, 3^Cerezas. - Evita utilizar los atributos de matriz a menos que hayas agotado todas las demás soluciones y sean absolutamente necesarios. Estos campos son muy potentes, pero son menos eficientes, no disponen de herramientas de generación de informes y requiere mucho esfuerzo extraer valores de ellos.
Grupo
Ten cuidado de no crear un bucle infinito de asociaciones «padre-hijo-padre» en los tipos de grupo (en los que un tipo de grupo padre se establece como hijo de un tipo de grupo hijo). Hemos observado que esto ocurre especialmente en las configuraciones de registro.
En general, se deben evitar los cambios en el tipo de grupo. Cuando sean inevitables, se debe prestar especial atención a lo siguiente:
- Comprueba que el grupo en cuestión no esté utilizando una sincronización de grupo. Si existe, la sincronización de grupo debe eliminarse antes de realizar el cambio y volver a añadirse una vez modificado el tipo de grupo, para evitar excepciones por discrepancias entre los miembros del grupo.
- Asegúrate de que los identificadores de los roles de los miembros del grupo estén actualizados tanto en la tabla «Miembros del grupo» como en la tabla «Historial de miembros del grupo».
- Ten en cuenta los atributos que se añaden a los tipos de grupo. Estos atributos no existirán en el nuevo tipo de grupo. Por lo tanto, tendrás que migrar sus valores a nuevos atributos o, tal vez, eliminarlos primero si ya no son necesarios.
Seguridad
- Los tipos de archivo pueden estar protegidos. Asegúrate de que los tipos de archivo confidenciales cuenten con la protección adecuada Y de que no contengan direcciones URL que permitan acceder a ellos sin pasar por Rock (por ejemplo, no almacenes archivos protegidos en el sistema de archivos).
- Las personas pueden pertenecer a muchos roles de seguridad. Por eso, intenta que tus roles de seguridad personalizados sean muy específicos: que solo permitan o denieguen el acceso a un pequeño número de páginas, bloques o procesos relacionados. Si alguien necesita varios roles, simplemente añádelo a ambos roles de seguridad. Documenta y mantén bien tus roles de seguridad para que resulten comprensibles en el futuro, a la hora de incorporar o dar de baja a personal y voluntarios.
- Al crear un nuevo rol de seguridad, empieza por elegir el rol de seguridad que más se acerque al caso de uso que tengas previsto. Tu nuevo rol de seguridad debe permitir o denegar roles adicionales a partir de la base del rol de seguridad existente. A continuación, añade a los usuarios a AMBOS roles de seguridad, de modo que el nuevo rol se «superponga» al rol existente.
- Al editar la configuración de seguridad a nivel de página o de bloque, utiliza roles de seguridad en lugar de añadir usuarios concretos siempre que sea posible.
Empleos
- No pases por alto los trabajos que tardan más de lo que deberían en ejecutarse. Como mínimo, asegúrate de que un trabajo no tarde tanto en completarse que no haya terminado para cuando se supone que debe volver a iniciarse (aunque Rock no permita que se ejecuten varias instancias del mismo trabajo a la vez). Los trabajos no deberían tardar horas en completarse.
- Revisa tu historial laboral al menos una vez a la semana para detectar los trabajos que están dando problemas.
Finanzas
- Los lotes de Rock están pensados para vincularse a los lotes de tu sistema contable oficial. Cada mes, a medida que se concilian y cierran tus libros, deben cerrarse los lotes correspondientes de Rock. Los únicos lotes abiertos en Rock deben estar asociados a transacciones de un mes que aún no se haya conciliado.
Vistas de datos e informes
- Ten en cuenta la persistencia de tus vistas de datos. Aunque no todas las vistas de datos deben ser persistentes, asegúrate de abordar este tema con sensatez y de establecer la frecuencia de persistencia tras una cuidadosa reflexión. La persistencia permite que tus vistas de datos se carguen más rápidamente y ofrezcan un mejor rendimiento. No olvides, sin embargo, que si estás visualizando un informe o una vista de datos apilada, la persistencia de cada vista de datos afectará a la frecuencia de actualización de los datos mostrados. Se recomienda la persistencia, que debe adaptarse a cada caso de uso.
- Aunque se recomienda reutilizar las vistas de datos básicas, evita, en la medida de lo posible, los múltiples niveles de vistas de datos anidadas que utilicen filtros similares. Esto puede provocar problemas de rendimiento. Es conveniente revisar periódicamente tu estrategia de elaboración de informes y eliminar las vistas de datos duplicadas o que se solapen, especialmente si las vistas de datos y los informes los elaboran muchos miembros de tu plantilla.
- Al crear informes, evita crear columnas personalizadas de Lava que utilicen comandos de entidad u obtengan propiedades de otros tipos de entidad relacionados. Esto puede afectar rápidamente al rendimiento, sobre todo en el caso de informes con conjuntos de datos de gran tamaño.
Almacenamiento de imágenes y archivos
A medida que utilices Rock, subirás archivos con frecuencia: imágenes, documentos y mucho más. Si configuras el almacenamiento de los archivos en ubicaciones poco adecuadas, esto puede afectar considerablemente al rendimiento de Rock, al espacio de almacenamiento y a la seguridad de tus archivos. Merece la pena decidir desde el principio qué opción se adapta mejor a cada situación.
En cualquier caso, debes asegurarte siempre de formar a tu personal y de tomar medidas para mantener un tamaño reducido de las imágenes. Las imágenes de 20 000 píxeles de ancho son ideales para los medios impresos, pero innecesarias y ralentizan la carga de la web. Recomendamos limitar o eliminar los archivos de más de 2,5 MB.
Archivos binarios
La mayoría de los archivos de Rock se almacenan como archivos binarios y se recuperan mediante los gestores de archivos de Rock, como GetImage.ashx y GetFile.ashx.
Cuando veas esas URL, ten en cuenta lo siguiente:
- Rock aplica controles de seguridad antes de servir el archivo, pero solo cuando se utilizan gestores de archivos como estos.
GetImage.ashx admite transformaciones como cambiar el tamaño o girar.GetFile.ashx reproduce el archivo directamente (es más rápido con archivos grandes).
Consejo adicional: cuando utilices GetImage.ashx, recuerda que, aunque tu equipo haya subido imágenes de gran tamaño, siempre puedes configurar la URL desde la que las recuperas para reducir y almacenar en caché una versión más pequeña antes de enviarla al navegador. Consulta la documentación de Rock sobre el cambio de tamaño de archivos para obtener más información.
El comportamiento de los archivos binarios depende del tipo de archivo, que define dónde se almacenan físicamente dichos archivos.
Hay tres opciones principales de almacenamiento que puedes configurar en los ajustes de «Tipo de archivo»
Sistema de archivos
Por lo general, no se recomienda
- Esta opción viene incluida y configurada de serie porque Rock no puede configurar automáticamente el almacenamiento en la nube por ti. No obstante, en general recomendamos evitar utilizar esta opción siempre que sea posible.
- Con esta opción, los archivos se almacenan en el servidor web (por ejemplo, c:/inetpub/wwwroot/App_Data/Communications/nombre_archivo.jpg).
- Siguen serviéndose a través de GetImage.ashx o GetFile.ashx, pero a menudo también se puede acceder a ellas directamente si alguien descubre la URL (por ejemplo, https://mychurch.org/App_Data/Communications/filename.jpg).
- Por eso, no utilices el almacenamiento del sistema de archivos para archivos confidenciales o de acceso restringido.
- Esta configuración NO es viable en absoluto en entornos con varios servidores web (IIS); los archivos solo existirían en el servidor que se utilizara para almacenarlos.
Base de datos
Ideal para configurar fácilmente archivos protegidos
- Los archivos se almacenan en la propia base de datos de Rock.
- Solo se puede acceder a ellos a través de los gestores de archivos de Rock, por lo que la seguridad siempre está garantizada (aunque los archivos con la seguridad activada suponen una merma en el rendimiento, así que solo debes activarla en los tipos de archivo en los que realmente la necesites).
- Inconvenientes:
- Cada solicitud pasa por tu servidor Rock y tu base de datos.
- Esta opción aumenta considerablemente el tamaño de la base de datos si se almacenan muchos archivos o archivos de gran tamaño.
Almacenamiento en la nube
La mejor opción para la mayoría de los usos
- Los archivos se almacenan fuera de las instalaciones mediante complementos para Azure, Amazon S3, Google Cloud o servicios más especializados como Cloudinary.
- Permite mantener un uso reducido tanto de la base de datos como del espacio de almacenamiento del servidor.
- Que los archivos estén protegidos depende de la configuración de la nube; debes asegurarte de que solo Rock pueda solicitarlos en el caso de los archivos en los que la seguridad pueda ser importante.
Los archivos binarios se pueden trasladar fácilmente de un almacenamiento a otro más adelante, utilizando el complementoTriumph Storage Mover.
Activos
«Assets» es otra forma que ofrece Rock para subir archivos; además, con «Assets» puedes incluso explorar y reutilizar archivos subidos anteriormente. Esta opción debe considerarse una opción avanzada para usos específicos.
No utilizan «File Types» ni el modelo de seguridad de Rock; Rock simplemente proporciona una URL directa al archivo (normalmente en un proveedor de servicios en la nube como Azure, AWS o Google).
Eso significa que:
- No hay controles de seguridad: cualquier persona que tenga la URL puede acceder al archivo.
- No se genera carga alguna en la base de datos ni en el servidor de Rock: los archivos los proporciona directamente el proveedor de almacenamiento.
- Ideal para archivos públicos o de bajo riesgo, como imágenes o contenidos multimedia que se muestran en páginas públicas.
Los recursos son muy difíciles de trasladar posteriormente, ya que, por ejemplo, pueden estar incrustados como una URL en un bloque HTML; por lo tanto, no es fácil localizar y modificar todas estas referencias si necesitas cambiar la ubicación en la que se almacenan los archivos.
Flujos de trabajo
Piensa en los flujos de trabajo como los músculos dinámicos que aportan flexibilidad a los procesos. Ayudan a conectar diferentes funciones y a poner las cosas en marcha, en lugar de ser los pilares fundamentales, como los huesos. Esto significa que su mejor uso es para la acción y para trasladar los datos a las ubicaciones adecuadas en Rock. No están pensados para almacenar datos. También significa que, por lo general, es mejor contar con muchos flujos de trabajo pequeños que funcionen conjuntamente, en lugar de uno grande y complicado. Esto facilita la gestión y la resolución de problemas si algo sale mal.
Los flujos de trabajo son muy potentes, pero pueden tener fácilmente un impacto desmesurado en tu servidor si no se configuran correctamente. A continuación te ofrecemos algunos de nuestros mejores consejos para gestionar tus flujos de trabajo de forma eficiente.
- Cuando trabajes con flujos de trabajo, intenta no guardarlos de forma permanente si no es necesario. Hay formas más rápidas de registrar cuándo ocurre algo. Si tienes que guardarlos de forma permanente, piensa en la menor frecuencia con la que puedes procesarlos para reducir el impacto en tu servidor. Por ejemplo, los flujos de trabajo que esperan a que alguien rellene un formulario no tienen por qué procesarse cada diez minutos. Ajustar la frecuencia ayuda a que tu sistema funcione mejor.
- Y marca siempre los flujos de trabajo como completados cuando terminen sus tareas. Ten cuidado con las acciones omitidas, ya que pueden mantener los procesos en ejecución y ralentizar tu sistema. Al configurar un flujo de trabajo, decide con cuidado cuál es el mejor plazo (en días) para su finalización, su conservación y el mantenimiento de los registros. Esto ayuda a mantener tu sistema limpio, eliminando los flujos de trabajo más antiguos o finalizados.
- El registro del flujo de trabajo es una herramienta útil para identificar problemas en tu flujo de trabajo; sin embargo, es recomendable utilizarlo solo como medida temporal. Mantén activado el registro del flujo de trabajo únicamente durante el tiempo que lo necesites para solucionar problemas. Desactivarlo cuando no estés realizando una resolución de problemas de forma activa puede suponer un ahorro de recursos.
- Asegúrate de establecer un «intervalo de procesamiento» bien meditado para cada uno de tus flujos de trabajo. Este ajuste indica a Rock con qué frecuencia debe activar un flujo de trabajo para comprobar si hay actualizaciones necesarias. En la mayoría de los casos, tu flujo de trabajo solo se modificará mediante la interacción con una persona. Cuando esto ocurra, el intervalo de procesamiento puede fijarse en un valor muy alto (como una vez al día o incluso con mayor frecuencia).
- El parámetro «Antigüedad máxima del flujo de trabajo» también puede resultar fundamental para garantizar que tu instancia de Rock no procese repetidamente flujos de trabajo que ya no son necesarios. Si un flujo de trabajo sigue activo tras el periodo de tiempo configurado, Rock lo desactivará automáticamente.
Consejos generales de configuración
Los flujos de trabajo cuentan con numerosos ajustes y opciones. A continuación se indican algunas consideraciones que pueden resultar útiles.
- Ten cuidado con los desencadenantes de flujos de trabajo. Pueden resultar difíciles de localizar más adelante y podrían provocar, sin querer, que el proceso se repita indefinidamente, lo que causaría problemas en tu sistema. También pueden suponer un problema de rendimiento para tu servidor si no se configuran correctamente o si se aplican a entidades que cambian con frecuencia. Cuando necesites crear un desencadenante, asegúrate de utilizar uno de tipo «Post-Save», ya que estos no ralentizan la interfaz de usuario.
- Al enviar un mensaje de texto a través de un flujo de trabajo, evita utilizar un
SMSResponse atributo junto con la acción de flujo de trabajo «Enviar SMS». Si lo haces, el destinatario recibiría el mensaje dos veces. - No recurras por defecto a las acciones de flujo de trabajo de SQL. Intenta no utilizar flujos de trabajo que impliquen SQL a menos que sea realmente necesario. Si no hay otra solución, plantéate detenidamente si no sería mejor , en su lugar, una mejora del núcleo .
- Recuerda que los flujos de trabajo no cuentan con seguridad integrada al crearlos. Especialmente cuando utilices formularios externos y públicos, asegúrate de configurar cuidadosamente los primeros pasos de tu flujo de trabajo para permitir únicamente un tipo de flujo de trabajo, lo que añade un nivel adicional de seguridad.
Piensa en cómo serás en el futuro
Nunca está de más documentar un proceso con todo detalle. Anota todos los detalles sobre tus flujos de trabajo en la descripción y en el registro de cambios. Esto no solo ayuda a tu organización a comprender lo que está sucediendo, sino que también te proporciona una guía útil para futuras mejoras. A esto lo llamamos «una carta de amor a nuestro yo futuro».
Registro de entrada
El registro es una de las partes más complejas de Rock. A continuación te ofrecemos algunos consejos para que el registro resulte lo más sencillo posible para ti y tu familia.
Códigos de seguridad
- El conjunto de códigos de seguridad es compartido por todos los registros de entrada de un mismo día (incluso aquellos en los que no se imprime un código en la etiqueta). Debido a la forma en que Rock genera los códigos, es mejor para el rendimiento del proceso de registro utilizar cuatro caracteres (en lugar de tres) si se registran más de unos pocos miles de personas al día.
Etiquetas
- No modifiques las etiquetas principales de Rock. En su lugar, haz copias de las etiquetas principales que vienen con Rock y modifica esas copias, ya que las etiquetas principales pueden sobrescribirse con las actualizaciones de Rock.
- ¡Ten en cuenta que unas etiquetas atractivas y bien diseñadas dan una buena imagen de tu iglesia y te hacen destacar! Las etiquetas están en formato ZPL. En la documentación sobre etiquetas de Rock encontrarás todo lo que necesitas para empezar.
- Mientras compruebas tus etiquetas, no olvides realizar pruebas con el número mínimo y máximo de caracteres posibles en los campos de texto para ver cómo se comportan en casos extremos.
Configuración
- No dupliques configuraciones, grupos ni horarios sin necesidad. Siempre que sea posible, utiliza la misma configuración de registro, los mismos grupos y los mismos horarios para los distintos campus. ¡Cuanto más sencillo, mejor!
- La experiencia de los padres a la hora de realizar el registro debe ser una consideración prioritaria a la hora de configurar el proceso. Evita pedirles que tomen decisiones que no vayan a entender (por ejemplo: «¿Cómo voy a saber si debo elegir el grupo A en lugar del grupo B, si ambas son opciones?»).
- No modifiques el flujo de trabajo de entrada de existencias.
- Ten cuidado con las referencias de tipo «grupo circular». Pueden provocar que Check-in Manager se cuelgue. Consulta esta «receta» de la comunidad para obtener más información.
Hardware
- Para un proceso de registro «a toda prueba», lo ideal es una red por cable, seguida del wifi y, a continuación, el Bluetooth, por orden de fiabilidad.
- Rock requiere impresoras compatibles con ZPL (consulta nuestras recomendaciones en la sección «Impresoras» de nuestro manual «Checking Out Check-In»). Un consejo: ¡las impresoras con cortador te facilitarán mucho la vida! Prácticamente no se atascan si no tienes que pedir a los usuarios que arranquen las etiquetas.
- Ten cuidado al encargar impresoras: las etiquetas están diseñadas para una resolución específica (las etiquetas para el núcleo están diseñadas para impresoras de 203 puntos por pulgada). A veces, los pedidos de impresoras pueden tardar un tiempo en tramitarse. Asegúrate de encargarlas con la mayor antelación posible.
- Te recomendamos encarecidamente que compres tus impresoras y etiquetas en iT1 Source. No solo obtendrás el mejor precio, sino que también disfrutarás del mejor servicio.
- Para evitar atascos y agilizar el funcionamiento de las líneas, recomendamos encarecidamente que adquieras cortadores para tus impresoras Zebra.
SQL
SQL es una potente herramienta para tu kit de herramientas de Rock. A continuación te ofrecemos algunas pautas que te ayudarán a comprender cuándo y cómo utilizar SQL para obtener los mejores resultados.
- Es importante seguir las convenciones estándar para escribir código SQL de calidad. El equipo central ha elaborado una guía básica de estilo SQL para la comunidad de Rock. Asegúrate de que el formato de tu código SQL se ajuste a estas normas. Puedes encontrar ayuda para dar formato a tu código SQL con esta herramienta online gratuita.
- Además, nuestro equipo ha elaborado un vídeo sobre las mejores prácticas de SQL, en el que se ofrecen información valiosa sobre las directrices de formato y consejos para mejorar la construcción de tus consultas.
Cuándo utilizar SQL
- En el ámbito de Rock, piensa en SQL como algo que se encuentra fuera de los muros del castillo: una herramienta potente, pero externa. Aunque SQL pueda ser la respuesta correcta al final, debes evitar que sea tu primera opción. Explora primero las opciones de configuración internas de Rock, ya que ofrecen soluciones más sólidas que están vinculadas dinámicamente a la estructura subyacente de Rock.
- Al insertar o actualizar registros de «AttributeValue» mediante SQL, establece siempre «IsDirty = 1». Rock mantiene versiones persistidas de los valores de los atributos por separado de la columna «Value» sin procesar de la tabla «AttributeValue». Cuando escribes directamente en esta tabla mediante SQL, Rock no tiene constancia de que el valor persistido ya no está actualizado, a menos que lo marques explícitamente. Establecer IsDirty = 1 en cualquier fila afectada garantiza que la tarea «Actualizar valores de atributos persistidos» (que se ejecuta cada noche a las 2:15 de la madrugada por defecto) detecte y concilie tus cambios. Si tu caso de uso requiere que el valor persistido se actualice inmediatamente, en lugar de esperar a la próxima ejecución de la tarea, tendrás que activarla manualmente una vez que se haya ejecutado tu consulta SQL.
Advertencia
Modificar tu estructura de datos con Insertar, Actualización, y Eliminar Las sentencias de este tipo plantean varios problemas potenciales, como la falta de validación, el hecho de eludir la lógica de negocio de Rock y el descuido de las actualizaciones de la caché.
Preferir modificar entidad en lugar de SQL directo siempre que sea posible. Cuando esté disponible, utilizando Rock's modificar entidad El uso de comandos es el método más recomendable, ya que gestiona automáticamente las actualizaciones de la caché y la lógica de negocio.
Cómo utilizar SQL
- Si, al fin y al cabo, SQL resulta ser la solución adecuada para tu problema, asegúrate de redactar tus sentencias pensando en el futuro. En lugar de incluir la configuración o la lógica de negocio en tu código SQL (como, por ejemplo,
WHERE [Id] IN (23, 24, 25) ), evita hacer referencia a identificadores específicos que haya que actualizar con el tiempo. Opta por un enfoque más preparado para el futuro. Para obtener información sobre cómo escribir SQL dinámico, Echa un vistazo a este vídeo. - Los vídeos enlazados más arriba permiten comprender mejor cómo funciona SQL más allá de las barreras protectoras de Rock y ofrecen consejos valiosos para aquellas ocasiones en las que SQL es la opción ideal para tu proyecto.
- ¿Quieres profundizar en SQL? Te recomendamos encarecidamente que te apuntes al curso Rock SQL.
- ¿Quieres profundizar aún más? Te recomendamos encarecidamente este libro: «T-SQL Fundamentals».
Y mucho más
A medida que nuestro equipo profundiza en SQL, compartimos continuamente nuestros conocimientos en nuestra página web, desde temas introductorios hasta otros más avanzados. Aquí tienes una muestra de lo que encontrarás. Vuelve de vez en cuando para descubrir nuevos contenidos, entre los que se incluyen:
- Trucos con las fechas
- Orden de ejecución de SQL
- Patrón de pivote
Lava
¡Lava es una herramienta increíble en el arsenal de los administradores de Rock! Te permite extraer fácilmente información de tu base de datos y mostrarla en una página sin tener que programar nada. Con muy pocas excepciones (como la {% sql %} comando y el {% interactionwrite %} (comando), además, Lava es de solo lectura, por lo que no tienes que preocuparte por la posibilidad de que los datos se borren o se modifiquen de forma incorrecta.
Sin embargo, te recomendamos que adoptes un enfoque deliberado al utilizar Lava: puede provocar una disminución del rendimiento si no diseñas tus plantillas con cuidado, y tu yo futuro te lo agradecerá si mantienes tu trabajo lo más claro y legible posible.
- Al igual que con SQL, las normas de formato y documentación son importantes para facilitar la legibilidad, así como para futuras actualizaciones y la resolución de problemas. Por favor, sigue las directrices que se indican en la Guía de estilo de Lava. A continuación, te indicamos las diferencias sintácticas que debes tener en cuenta entre DotLiquid y Fluid.
- Además, coloca las declaraciones de configuración y de variables al principio de tus secciones o scripts de Lava, en lugar de incluirlas en el propio código. Esto facilita las actualizaciones y hace que los scripts sean más fáciles de mantener.
- No utilices el
{% comentario %} etiqueta, pero prefiero la //- y /- -/ sintaxis. - Para facilitar la lectura, no añadas guiones a tus etiquetas (p. ej.,
{%- asignar ... -%} a menos que la presencia de espacios en blanco afecte a lo que estás haciendo. En la mayoría de los casos, los espacios en blanco adicionales no tienen importancia.
- Un solo comando de entidad puede generar varios miles de consultas a la base de datos si no se tiene cuidado. Se recomienda utilizar filtros avanzados, como expresiones y los atributos «select» y «prefetch», al emplear comandos de entidad para limitar la cantidad de datos que se recuperan de la base de datos. También puedes establecer «securityenabled» en «false» cuando sea aplicable para mejorar el rendimiento.
- El uso de estrategias de almacenamiento en caché como Conjuntos de datos persistentes además, ayuda a mejorar el rendimiento en tiempo real. Puedes utilizar
{[prueba de rendimiento]} código abreviado de la versión gratuita Complemento Lava Tools para obtener mucha información sobre el rendimiento de una plantilla de Lava, al tiempo que se crean plantillas que ayuden a decidir entre el uso de diferentes estrategias. - Utiliza el motor Fluid Lava lo antes posible.
Consideraciones de diseño
Al igual que con cualquier otra herramienta, hay que tener en cuenta algunas consideraciones para sacar el máximo partido a Lava. A continuación enumeramos algunas de las más importantes.
- Ten en cuenta el tipo de campo de los datos con los que estás trabajando y ten en cuenta la existencia de datos en Lava con
null y vacío. - Evita utilizar
{% a menos que %}, salvo como comprobación de la última ejecución de un {% for %} bucle.
- Utiliza códigos cortos para ampliar la funcionalidad de las etiquetas «lava» y las etiquetas {% include %} para reutilizar plantillas en varias páginas.
- Evita anidar códigos cortos e inclusiones. Llevar la cuenta del ámbito de las variables puede complicarse muy rápidamente.
- El complemento gratuito Lava Tester te puede ahorrar mucho tiempo a la hora de probar rápidamente tu Lava con tus entidades del mundo real.
Web
En esencia, Rock es una página web —o, mejor dicho, probablemente sea una serie de páginas web—. Hay muchas cosas interesantes que puedes hacer con las páginas web, las páginas y los bloques en Rock, pero aquí tienes algunas pautas para asegurarte de que no te estás poniendo trampas a ti mismo y para que tu página web sea lo más ágil posible.
Magnus
Triumph ha realizado una importante inversión en el desarrollo de Magnus, un complemento que se integra a fondo con VS Code y Azure Data Studio. El uso de Magnus te permite editar fácilmente contenidos y datos en Rock directamente desde estas fantásticas herramientas. Busca Magnus en la Rock Shop dentro de tu instancia de Rock.
Página web externa
- Al instalar Rock, hay un sitio web externo predeterminado disponible para mostrarte algunas de las funciones de Rock. Sin embargo, este sitio está pensado como una demostración, no como el punto de partida de tu propio sitio web.
- Durante las actualizaciones de versión, en ocasiones añadiremos o modificaremos páginas y funcionalidades en este sitio web, para que puedas mantenerte al día sobre algunas funcionalidades recomendadas para tu sitio web externo. Seguramente no querrás que realicemos estos cambios en tu sitio web externo real, ¡sobre todo si se trata de una nueva función que aún no estás preparado para empezar a utilizar! Por eso, cuando estés listo para empezar a utilizar Rock como tu sitio web externo (o como parte de un sitio web con funciones como la inscripción a eventos, el buscador de grupos y las donaciones en línea), te recomendamos que crees un sitio web completamente nuevo para que lo vean tus visitantes, en lugar de utilizar las páginas del sitio web externo predeterminado.
- Y, por supuesto, querrás utilizar un tema distinto al tema predeterminado «Stark» para tu nueva página web externa; lo diseñamos así a propósito, para que no te sientas tentado a utilizarlo. No queremos que todas las iglesias acaben utilizando el mismo tema y tengan el mismo aspecto unas que otras.
Plantillas centralizadas
- Rock te ofrece varias formas de guardar plantillas en un solo lugar y utilizarlas en varios bloques. Las más habituales utilizan Lava; se trata de los archivos «Include» y los códigos cortos de Lava.
- Los archivos de inclusión son útiles si utilizas un sistema de control de versiones para implementar o realizar un seguimiento de los cambios a medida que los vas realizando. Sin embargo, resultan más difíciles de cargar y examinar rápidamente cuando estás solucionando problemas o editando algo en Rock, y es importante tener en cuenta que no se pueden pasar variables desde y hacia los archivos de inclusión cuando se utiliza el motor Fluid Lava recomendado.
- En general, recomendamos centralizar las plantillas en Lava Shortcodes. Estas cuentan con campos integrados que te permiten incluir documentación sobre cómo y dónde deben utilizarse; pueden ser dinámicas en función de los parámetros que se les pasen, y son fáciles de cargar en la interfaz de usuario de Rock para revisarlas o editarlas cuando sea necesario.
Carga rápida de las páginas
Todos los datos que se encuentran en tu sistema Rock deben almacenarse en algún lugar. En su mayor parte, tus datos se encuentran en la base de datos. Sin embargo, los datos también pueden almacenarse en caché en la memoria RAM, lo que permite al servidor recuperarlos mucho más rápido. Y una recuperación rápida de los datos no solo se traduce en páginas que se cargan más rápido, sino que también implica una mayor capacidad para que más personas utilicen tu sistema al mismo tiempo. Esto es lo que necesitas saber sobre el almacenamiento en caché.
- Por lo general, todo lo que se almacena en caché tiene que recuperarse una vez de la base de datos, pero el objetivo del almacenamiento en caché es que, una vez que hemos obtenido esos datos de la base de datos, no queremos que el servidor tenga que volver a la base de datos una y otra vez para obtener la misma información cada vez.
- Algunos bloques, como los bloques «Elemento/Vista del canal de contenido» o el bloque «Contenido HTML», cuentan con ajustes que permiten controlar durante cuánto tiempo se almacenan en la caché los datos que muestra el bloque. En términos generales, a menos que haya un componente Lava que personalice el contenido de forma dinámica (por ejemplo, en función de quién esté cargando la página), siempre debes almacenar en caché el contenido de estos bloques.
- Pero en cualquier lugar donde se pueda utilizar Lava, también se puede especificar que determinados contenidos se almacenen en caché mediante el Etiqueta {% cache %}. Y estas etiquetas son muy potentes porque se almacenan y se recuperan más tarde mediante una clave específica, una clave que tú mismo puedes especificar. Así pues, cuando utilizas una etiqueta de caché, aunque el contenido se personalice, puedes incluir en la clave una indicación de qué es lo que personaliza dicho contenido. Por ejemplo, si personalizas el contenido en función de la hora del día, podrías tener una clave de caché que incluya dinámicamente la hora del día, como
saludo-de-portada-matutino frente a saludo-de-portada-tarde. De este modo, siempre que el factor que personaliza el contenido no cambie, Rock podrá seguir utilizando el contenido almacenado en caché. Pero en cuanto el factor cambie, Rock recuperará el contenido más reciente y lo almacenará en caché con la nueva etiqueta. También puedes aplicar este concepto a otros factores, como el valor del parámetro que se proporciona en la URL de la página.
HTML fácil de mantener y accesible
Cuando añadas código HTML a cualquiera de tus plantillas o bloques, es recomendable tener en cuenta (y utilizar) el marcado semántico siempre que sea posible.
- Esto es importante por motivos de accesibilidad; por ejemplo, el uso de un
<article> El elemento es HTML semántico y facilita enormemente que tecnologías como los lectores de pantalla identifiquen el contenido principal que una página está diseñada para mostrar. A un lector de pantalla le resulta mucho más difícil determinarlo si utilizamos un marcado no semántico como <div class="article">. - Además, hace que el marcado sea más fácil de mantener y más legible para el resto de tu equipo (¡o incluso para ti mismo dentro de seis meses!). Y aplicar estilos al marcado semántico también tiene más sentido; un
<b> tag (which is not considered semantic) is just supposed to make text bold. And even though you can specify that all <b> tags should also be colored red for emphasis, it's not likely that anybody reading your markup would assume that there's any styles excepto Se ha aplicado negrita a estos elementos, por lo que resulta confuso. Por otro lado, el significado <strong> La etiqueta no conlleva ninguna idea preconcebida, salvo que el texto que contenga destacará claramente en la página. Tiene mucho más sentido aplicar especificaciones de color, así como de grosor (¡y quizá también otros estilos!), a estas etiquetas semánticas.
CSS
Rock cuenta con un potente conjunto de clases de utilidad CSS. Utilízalas siempre que sea posible para simplificar y reducir la cantidad de CSS personalizado que escribes.
JavaScript
Dado que Rock se visualiza como una serie de páginas web a través de un navegador, es lógico que este pueda ejecutar cualquier código JavaScript que incluyas en la página. Sin embargo, te recomendamos que nunca utilices JavaScript para modificar el aspecto, el diseño o la funcionalidad de los bloques del núcleo. Esto se debe a que los bloques del núcleo cambian y se mejoran constantemente, y es probable que las personalizaciones que intentes realizar de esta forma dejen de funcionar en el futuro. Si necesitas que un bloque funcione de forma diferente a como lo hace actualmente, te recomendamos que colabores con un socio de Rock para que se incorporen las actualizaciones en el núcleo; esto también beneficia a otras iglesias, que ahora tendrán acceso a la funcionalidad que has solicitado.
Elegir tus integraciones y extensiones
Ahora que ya has leído las recomendaciones más populares de nuestro equipo sobre Rock, asegúrate de aplicar el mismo enfoque reflexivo a la forma en que amplías tu plataforma principal y a las organizaciones con las que colaboras.
Del mismo modo que no todas las aplicaciones de la tienda de aplicaciones de tu móvil son de la misma calidad (piensa en la arquitectura, el diseño, el mantenimiento y la capacidad de respuesta), tampoco todas las extensiones e integraciones de Rock están igual de bien diseñadas. Asegúrate de informarte bien y elige con cuidado.
- Recomendamos instalar únicamente aquellos complementos que se hayan probado en un servidor de pruebas y cuya necesidad para vuestras actividades pastorales se haya confirmado. Además, aseguraos de actualizarlos a las últimas versiones a medida que estén disponibles y una vez que los hayáis probado.
- Sigue los consejos de las personas en las que confías y mantente al día de las opiniones de la comunidad sobre las integraciones disponibles leyendo esta encuesta de la comunidad sobre integraciones.
- Evita las integraciones de API que instalen automáticamente permisos de administrador de Rock directamente en tu base de datos. Esto supone un riesgo de seguridad similar a dejar la puerta principal abierta. En su lugar, cada integración debería utilizar puntos de conexión personalizados o específicamente configurados para permitir el acceso únicamente a los datos concretos que se necesiten. De este modo se minimiza el riesgo en caso de que se produzca una brecha de seguridad en su plataforma.
- Valora las ventajas y los inconvenientes de ampliar tu experiencia en Rock frente a añadir una integración que extraiga datos de Rock para manipularlos o comunicarte con tus miembros. Se produce una pérdida de datos valiosos, interacciones y análisis cuando utilizas integraciones que «fragmentan» tus datos en diferentes bases de datos, en lugar de mantener Rock como tu almacén de datos, lo que permite una personalización profunda y rica.
- Por último, a la hora de elegir un socio para la consultoría y el desarrollo de tu instancia de Rock, asegúrate de plantearle las preguntas recomendadas por el equipo de Spark. Y no olvides analizar los resultados de cada socio como indicador de su experiencia, formación y procesos, para asegurarte de que estás tomando la mejor decisión de cara a tu experiencia con Rock a largo plazo.