Optima

Triumph ha desarrollado "Optima", una guía que describe las mejores prácticas para la comunidad Rock RMS. Está repleta de ideas de expertos y consejos prácticos para ayudar a los usuarios nuevos y experimentados a navegar por Rock con mayor facilidad y confianza.

Trabajar con cientos de iglesias a lo largo del tiempo nos ha dado ideas sobre las mejores maneras de construir y mantener Rock para una experiencia máxima. Aunque tenemos una gran cantidad de materiales de formación y aprendizaje, nuestro objetivo es compartir las ideas más comúnmente necesarias y útiles con la comunidad de Rock. Somos conscientes de que el éxito compartido es el mejor éxito y sabemos que al compartir libremente nuestras mejores prácticas todos somos #BetterTogether.

Este manual es un documento vivo y cambiará con el tiempo a medida que nuestro equipo siga aprendiendo y creciendo. Asegúrate de consultarlo de vez en cuando y de seguir nuestra página de Recursos en nuestro sitio web para ver vídeos de formación actualizados, herramientas prácticas de Rock y mucho más.  

Los 10 mejores consejos sobre rock

Hay muchos consejos importantes para sacar el máximo partido al Rock. Antes de sumergirnos en todos los detalles, aquí tienes nuestra lista de los 10 conceptos más importantes que debes tener en cuenta.

  1. Asegúrese de que su estrategia digital alinea las expectativas de liderazgo y los objetivos de inversión. Rock es el motor de su estrategia digital. Es fundamental asegurarse de que Rock cuenta con los recursos adecuados.
  2. Utilice Rock como su almacén central de datos. Amplíelo de forma que mantenga sus datos centralizados, no fragmentados, para obtener el máximo potencial de ministerio personalizado.
  3. Documéntelo todo. Empiece por sus flujos de trabajo, informes y vistas de datos. No te olvides de los procesos complejos.
  4. Los sistemas aumentan en complejidad. Invierta en revisar periódicamente su rendimiento, seguridad y configuración para evitar que surjan problemas.
  5. No cambies el código fuente de los archivos del núcleo. Haz peticiones al núcleo si es necesario, para corregir errores, añadir funciones o compartir ideas.
  6. Limite los cambios a los directorios aprobados en el sistema de archivos de su servidor. Las únicas carpetas en las que debe hacer cambios son: Contenido y Temas (y sólo tus temas).
  7. La caché es la clave del rendimiento. Descubre en estos vídeos cómo funciona la caché en Rock:
    1. Almacenamiento en caché dentro de Rock
    2. La importancia del caché
  8. No utilices JavaScript para cambiar el DOM de los bloques principales ni CSS para ocultar o mover el contenido de los bloques principales.
  9. Evite la codificación rígida de la lógica empresarial en SQL y Lava.
  10. Los flujos de trabajo son músculos, no huesos. No los compliques en exceso.

Infraestructura

Sus servidores son la base de su experiencia en Rock. Asegurarse de que están sanos y bien dotados de recursos puede marcar la diferencia en el rendimiento de su sistema, ayudándole a estar preparado tanto para lo esperado como para lo inesperado.

Instalación inicial

Aunque hay muchas opciones para alojar tu entorno Rock, la comunidad tiende a utilizar Microsoft Azure para el alojamiento en la nube y, en algunos casos, servidores in situ. Puedes encontrar guías básicas para estos en la comunidad. Nuestro equipo ha documentado las mejores prácticas adicionales para configurar y mantener su infraestructura, que se describen aquí.

Según nuestra experiencia, las organizaciones tienden a subaprovisionar sus servidores Rock. Tenga en cuenta que este es el motor de toda la estrategia digital de su iglesia. No pondrías el motor de una cortadora de césped en tu coche deportivo, así que no prives a tu servidor Rock de los recursos que necesita para amplificar tu ministerio.  

Cuando configure sus servidores

Su configuración inicial podría marcar una gran diferencia en el rendimiento de su infraestructura cada día y durante los picos de uso.

  1. Separe los entornos de producción y de pruebas. Si bien puede parecer tentador utilizar un servidor (o máquina virtual) para ambos entornos, la compensación aumenta el riesgo a cambio de muy poca contraprestación económica. Colocarlos en servidores diferentes es una medida de seguridad para ayudar a evitar cualquier problema que pueda afectar a sus operaciones en vivo.
  2. Evite utilizar enlaces IIS para múltiples dominios. Cuando configure los enlaces IIS (Internet Information Services) para instancias Rock, es una buena idea dar a cada instancia su propia máquina virtual (VM), como se ha indicado anteriormente. Además, asegúrese de que cada instancia tenga sólo dos enlaces: uno para HTTP (puerto 80) y otro para HTTPS (puerto 443). De esta forma, si añade un nuevo sitio con un dominio diferente, no tendrá que reconfigurar IIS porque Rock gestionará el tráfico y mostrará el sitio correcto en función de su configuración. Los enlaces adicionales no son necesarios y crean un peligro de tropiezo.
  3. Proteja su sistema creando copias de seguridad periódicas tanto de su servidor web como de su servidor SQL. De este modo, si pierde datos o el sistema tiene problemas, podrá restablecer rápidamente la situación anterior. Al considerar la configuración de las copias de seguridad, asegúrese de tener en cuenta las posibles necesidades de recuperación a corto y largo plazo.
  4. Considere estas configuraciones adicionales de IIS.
    1. Habilite la compresión: Instale el módulo de compresión en el servidor y habilite la compresión en IIS. Comprimir el contenido de su servidor Rock es importante para una respuesta rápida.
    2. Habilite el protocolo WebSocket (disponible a través del servicio Microsoft Azure SignalR): El motor en tiempo real de Rock funcionará mejor con el protocolo WebSocket, lo que le permitirá recibir información en tiempo real del servidor. Si esto no está habilitado, recibirá pings repetitivos contra el servidor para recibir actualizaciones, lo que es mucho menos eficiente.

Control de los recursos

Las sorpresas son divertidas en las fiestas, pero no cuando se trata de su arquitectura crítica.

  1. No hace falta decirlo, pero asegúrese de supervisar sus registros de IIS para ver las tendencias a lo largo del tiempo y comprender si sus necesidades de recursos están aumentando o si puede haber un problema de rendimiento que deba abordarse. Recomendamos revisar los registros de IIS al menos cada dos meses. Se sorprenderá de lo que aprenderá sobre el tráfico en su servidor Rock.
  2. Además, asegúrese de actualizar periódicamente la máquina virtual y la base de datos SQL, así como el nivel de compatibilidad de SQL Server para estar al día de las últimas mejoras.
  3. Establezca una supervisión y alertas proactivas. Preferimos que una alerta nos diga que algo va mal a que lo haga nuestro pastor. Recomendamos Better Stack Uptime como una gran opción. Otros en la comunidad también han tenido éxito con Pingdom y Status Cake.
  4. Nuevo en v16, Rock añadió una nueva característica increíble llamada Observabilidad. Esto le permite enviar tiempos detallados y métricas a plataformas de observación como NewRelic. Disponer de estos datos es fundamental para operar una plataforma digital bien afinada.

Más allá de lo básico

Una vez que domine los conceptos básicos, considere cómo pueden aplicársele estas áreas.

  1. Estrategias de escalado inteligentes: A la hora de ampliar tu sistema, es mejor añadir más recursos a un servidor (ampliación) en lugar de añadir más servidores que deban trabajar juntos (ampliación). Esto puede hacer que la configuración sea menos complicada y más fácil de gestionar.
  2. Optimice las solicitudes de la API con la agrupación: si utiliza la API REST de Rock para integrar servicios, intente agrupar las solicitudes de la API(agruparlas) o utilice un punto final personalizado para evitar el uso excesivo de la API. Esto hace que su sistema sea más eficiente al combinar varias solicitudes en una, reduciendo el trabajo extra y mejorando el rendimiento general.
  3. Considere la posibilidad de utilizar una red de distribución de contenidos (CDN): En el entorno digital actual, una CDN es casi un requisito. Si su servidor gestiona mucho tráfico, piense en utilizar una red de distribución de contenidos (CDN ). Las CDN distribuyen el contenido de su sitio web por diferentes servidores de todo el mundo, haciendo que se cargue más rápido para los visitantes y reduciendo los retrasos. Una CDN es especialmente importante si ejecuta su sitio web externo y 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 suele haber más de una forma correcta de lograr lo que se desea en Rock, también suele haber muchas otras formas incorrectas.

En lugar de resolver sólo el problema actual, hay que tener en cuenta la capacidad de mantenimiento futura. Así evitarás construir un "castillo de naipes" que se vuelva inestable. Trabaja con el núcleo del producto siempre que sea posible, e incluso solicita una actualización del núcleo financiada por 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, lo cual no es recomendable.  

El estado de sus datos también puede afectar al rendimiento de su instancia de Rock. Asegúrate de utilizar la configuración y los informes de integridad de datos incluidos para mantenerlos lo más limpios y precisos posible.

Al adaptar Rock a sus necesidades, tenga en cuenta las siguientes prácticas recomendadas de configuración.

General

A grandes rasgos, hay varios temas que debes tener en cuenta al abordar la configuración de tu Rock.

Construir con las mismas herramientas

Hay infinidad de herramientas y tecnologías que puedes utilizar para ampliar y construir a partir de Rock. Intenta utilizar las mismas herramientas que la comunidad siempre que puedas. Esto te proporcionará varios beneficios útiles, incluyendo:

  1. Facilitará el apoyo de su organización a lo largo del tiempo. Otros miembros de la comunidad la conocerán y los socios estarán bien familiarizados con ella.
  2. Te permite compartir más fácilmente con los demás, lo que hace avanzar a toda la comunidad.
  3. Hay más recursos disponibles como referencia.

La clave es una instancia limpia

Y aunque en comparación pueda parecer poca cosa, mantener limpia y organizada tu instalación de Rock es como mantener ordenado tu espacio de trabajo físico, especialmente útil porque se comparte con tantos miembros del personal.

  1. Utilice iconos de forma coherente para ayudar a diferenciar rápidamente las opciones.
  2. Elimine las notificaciones de Sparklink de la página de inicio para que no resulten abrumadoras.

Las descripciones deben 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 más, proporcionar contexto y documentación sobre por qué existe algo y para qué se utiliza será de un valor incalculable en el futuro.

Consejos sobre tipos de campo específicos

  1. Al crear un tipo de campo de selección única o de selección múltiple, proporcione claves para sus valores. Esto le permitirá renombrarlos más tarde sin que parezca que pierde datos. Por ejemplo, en lugar de enumerar las opciones como Manzanas, limones, cerezasEn su lugar, enumérelos como 1^Manzanas, 2^Limones, 3^Cerezas.
  2. Evite utilizar atributos de matriz a menos que haya agotado todas las demás soluciones y sean absolutamente necesarios. Estos campos son potentes, pero son menos eficientes, no disponen de herramientas de generación de informes y cuesta mucho esfuerzo obtener valores de ellos.

Grupo

Tenga cuidado de no crear un bucle infinito de asociaciones padre-hijo-padre en los tipos de grupo (donde un tipo de grupo padre se establece como hijo del tipo de grupo hijo). Hemos visto que esto ocurre especialmente en configuraciones de facturación.

En general, deben evitarse los cambios de tipo de grupo. Cuando sea inevitable, deberá prestarse especial atención a lo siguiente:

  1. Compruebe que el grupo en cuestión no utiliza una sincronización de grupo. La sincronización de grupo debe eliminarse, si está presente, antes de realizar el cambio y añadirse de nuevo después de cambiar el tipo de grupo, para evitar excepciones de no coincidencia de miembros de grupo.
  2. Asegúrese de que los Id. de función de los miembros del grupo se actualizan en las tablas Miembros del grupo e Histórico de miembros del grupo.
  3. Tiene en cuenta los atributos que se añaden a los tipos de grupo. Estos atributos no existirán en el nuevo tipo de grupo. Así que tendrás que migrar sus valores a nuevos atributos o quizás eliminarlos primero si ya no son necesarios.

Seguridad

  1. Los tipos de archivos pueden tener seguridad. Asegúrese de que los tipos de archivos sensibles tienen la seguridad correcta Y no tienen URLs que permitan el acceso a los archivos sin pasar por Rock (por ejemplo, no almacene archivos seguros en el FileSystem).
  2. Las personas pueden pertenecer a muchos roles de seguridad. Por lo tanto, intenta mantener tus roles de seguridad personalizados muy centrados: sólo permitiendo o denegando el acceso a un pequeño número de páginas, bloques o procesos relacionados. Si alguien necesita varios roles, sólo tiene que añadirlos a ambos roles de seguridad. Documenta y mantén bien tus roles de seguridad para que sean comprensibles en el futuro cuando incorpores o retires personal y voluntarios.
  3. Al crear un nuevo rol de seguridad, comience por elegir un rol de seguridad que se acerque más a su caso de uso previsto. Su nuevo rol de seguridad debe permitir o denegar roles adicionales a partir de la base del rol de seguridad existente. A continuación, añada las personas a AMBOS roles de seguridad, de modo que el nuevo rol se "apile" sobre el rol existente.
  4. Cuando edite la seguridad a nivel de página o bloque, utilice roles de seguridad en lugar de añadir individuos específicos siempre que sea posible.

Empleo

  1. No ignores los trabajos que tarden en ejecutarse más de lo debido. Como mínimo, asegúrese de que un trabajo no tarde tanto en completarse que no esté terminado para cuando se supone que debe empezar de nuevo (aunque Rock no permita que se ejecuten varias instancias del mismo trabajo a la vez). Los trabajos no deben tardar horas en completarse.
  2. Revisa tu historial laboral al menos una vez a la semana para buscar trabajos que tengan problemas.

Finanzas

  1. Los lotes de Rock deben estar vinculados a los lotes de su sistema de contabilidad. Cada mes, a medida que se concilian y cierran los libros, deben cerrarse los lotes Rock correspondientes. Los únicos lotes abiertos en Rock deben estar asociados a las transacciones de un mes que aún no ha sido conciliado.

Vistas de datos e informes

  1. Considera la persistencia para tus vistas de datos. Aunque no todas las vistas de datos deben persistir, asegúrese de abordar este tema con inteligencia y de establecer la frecuencia de persistencia con detenimiento. La persistencia permite que las vistas de datos se carguen más rápidamente y tengan un mayor rendimiento. No olvide, sin embargo, que si está visualizando un informe o una vista de datos apilados, la persistencia de cada vista de datos afectará a la frecuencia de actualización de los datos mostrados. La persistencia es preferible y debe adaptarse a cada caso de uso.
  2. Aunque se recomienda reutilizar las vistas de datos básicas, evite en la medida de lo posible múltiples niveles de vistas de datos anidadas que utilicen filtros similares. Esto puede causar problemas de rendimiento. La estrategia de elaboración de informes debe revisarse de vez en cuando y deben eliminarse las vistas de datos duplicadas o solapadas, sobre todo si las vistas de datos y los informes son elaborados por muchos miembros del personal.
  3. Cuando elabore informes, evite crear columnas Lava personalizadas que utilicen comandos de entidad u obtengan propiedades de otros tipos de entidad relacionados. Esto puede afectar rápidamente al rendimiento, especialmente en el caso de informes con grandes conjuntos de datos.

Flujos de trabajo

Piense en los flujos de trabajo como en los músculos dinámicos que dan flexibilidad a los procesos. Ayudan a conectar diferentes funciones y a hacer que las cosas sucedan, en lugar de ser los bloques de construcción fundamentales como los huesos. Esto significa que se utilizan mejor para la acción y para mover datos a las ubicaciones correctas en Rock. No están pensados para almacenar datos. También significa que generalmente es mejor tener muchos pequeños flujos de trabajo que funcionen juntos en lugar de uno grande y complicado. Esto hace que las cosas sean más fáciles de gestionar y arreglar si algo va mal. 

Los flujos de trabajo pueden afectar al rendimiento

Los flujos de trabajo son muy potentes, pero pueden tener fácilmente un impacto desmesurado en su servidor si no se configuran correctamente. Estos son algunos de nuestros principales consejos para gestionar los flujos de trabajo de forma eficiente. 

  1. Cuando se trate de flujos de trabajo, intenta no persistir en ellos si no es necesario. Hay formas más rápidas de anotar cuando ocurre algo. Si debe persistir en un flujo de trabajo, piense en la poca frecuencia con la que puede procesarlo para reducir el impacto en su servidor. Por ejemplo, los flujos de trabajo que esperan a que alguien rellene un formulario no necesitan procesarse cada diez minutos. Ajustar los tiempos ayuda a que su sistema funcione mejor.
  2. Y marca siempre los flujos de trabajo como completos cuando terminen sus tareas. Tenga cuidado con las acciones omitidas, ya que pueden mantener los procesos en ejecución y ralentizar el sistema. Cuando configures un flujo de trabajo, toma una decisión meditada sobre el mejor plazo (en días) para completarlo, conservando los flujos de trabajo y los registros. Esto ayuda a mantener su sistema limpio al deshacerse de flujos de trabajo antiguos o terminados.
  3. El registro del flujo de trabajo es una herramienta útil para identificar problemas en su flujo de trabajo, sin embargo, es mejor utilizarlo como un apoyo temporal. Mantenga el registro del flujo de trabajo activado sólo mientras lo necesite para solucionar problemas. Desactivarlo cuando no esté solucionando problemas de forma activa puede ahorrar recursos.
  4. Asegúrese de establecer un "Intervalo de procesamiento" bien meditado para cada uno de sus flujos de trabajo. Este ajuste le indica a Rock con qué frecuencia debe despertar un flujo de trabajo para asegurarse de que no hay actualizaciones necesarias. En la mayoría de los casos, su flujo de trabajo sólo cambiará por la interacción con una persona. Cuando este es el caso, el intervalo de procesamiento se puede establecer en un número muy alto (como una vez al día o incluso más).
  5. El ajuste "Antigüedad máxima del flujo de trabajo" también puede ser un ajuste crítico para garantizar que su instancia de Rock no esté procesando repetidamente flujos de trabajo que ya no son necesarios. Si un flujo de trabajo sigue activo después de este período de tiempo configurado, Rock lo desactivará automáticamente.

Consejos generales de configuración

Los flujos de trabajo tienen muchos ajustes y opciones. Estas son algunas consideraciones que pueden ser útiles.

  1. Ten cuidado con los desencadenantes del flujo de trabajo. Pueden ser difíciles de encontrar más tarde y accidentalmente pueden hacer que las cosas se repitan para siempre, causando problemas a su sistema. También pueden ser un problema de rendimiento para su servidor si no se configuran correctamente o si se colocan en entidades que cambian a menudo. Cuando necesite hacer un disparador asegúrese de usar un disparador "Post-Guardar" ya que no ralentizan la interfaz de usuario.
  2. Al enviar un mensaje de texto a través de un flujo de trabajo, evite utilizar un Respuesta SMS en combinación con la acción de flujo de trabajo Enviar SMS. Si lo hace, el destinatario recibiría el mensaje dos veces.
  3. No utilice por defecto acciones de flujo de trabajo SQL. Intente no utilizar flujos de trabajo que impliquen SQL a menos que sea realmente necesario. Si no hay otra solución, piense detenidamente si en su lugar puede ser necesaria una mejora del núcleo .
  4. Recuerde, los flujos de trabajo no tienen seguridad incorporada cuando usted los crea. Especialmente cuando se utilizan formularios públicos externos, asegúrese de configurar los primeros pasos de su flujo de trabajo cuidadosamente para permitir sólo un tipo de flujo de trabajo, añadiendo seguridad adicional.

Piense en su futuro yo

Sería difícil documentar en exceso un proceso. Anote todos los detalles sobre sus flujos de trabajo en la descripción y el registro de cambios. Esto no sólo ayuda a su organización a entender lo que está pasando, sino que también le da una guía útil para futuras mejoras. A esto lo llamamos una carta de amor a nuestro yo futuro.

Facturación

La facturación es una de las partes más complejas del Peñón. Aquí tienes algunos consejos para que el Check-in funcione lo mejor posible para ti y tus familias.

Códigos de seguridad

  1. El grupo de códigos de seguridad es compartido por todos los registros de un día (incluso los que no imprimen un código en la etiqueta). Debido a la forma en que Rock genera los códigos, es mejor para el rendimiento de la facturación utilizar cuatro caracteres (en lugar de tres) si factura a más de unos pocos miles de personas al día.

Etiquetas

  1. No modifique las etiquetas principales de Rock. En su lugar, haga copias de las etiquetas principales que se envían con Rock y modifique esas copias, ya que las etiquetas principales pueden sobrescribirse en las actualizaciones de Rock.
  2. Tenga en cuenta que unas etiquetas atractivas y bien diseñadas dan una buena imagen de su iglesia y le hacen destacar. Las etiquetas están formateadas en ZPL. Puede encontrar todo lo que necesita para empezar en la documentación de etiquetas de Rock.
  3. A la hora de probar las etiquetas, no olvide utilizar el número de caracteres más corto y más largo posible en los campos de texto para saber cómo se gestionarán los casos extremos.

Configuración

  1. No duplique configuraciones, grupos u horarios innecesariamente. Siempre que sea posible, utilice la misma configuración de registro, grupos y horarios para diferentes campus. Lo más sencillo es lo mejor.
  2. La experiencia de facturación de los padres debe ser una consideración primordial a la hora de configurar la facturación. Evite pedirles que tomen decisiones que no entenderán ("¿Cómo voy a saber si debo elegir el grupo A en vez del B, cuando ambos son opciones?", por ejemplo).
  3. No edite el flujo de trabajo de registro de existencias.
  4. Cuidado con las referencias circulares de tipo grupo. Pueden hacer que Check-in Manager bloquee Rock. Consulte esta Receta de la comunidad para obtener más información.

Hardware

  1. Para un check-in "a prueba de balas", lo ideal es una red cableada, seguida de Wi-Fi y luego Bluetooth por orden de robustez.
  2. Rock requiere impresoras compatibles con ZPL (consulte nuestras recomendaciones en la sección Impresoras de nuestro manual de Check Out Check-In). Un consejo: las impresoras con cortador le harán la vida más fácil. Son prácticamente a prueba de atascos si no necesita que la gente arranque las etiquetas.
  3. Tenga cuidado al pedir impresoras: las etiquetas están diseñadas para una resolución específica (las etiquetas básicas están diseñadas para impresoras de 203 puntos por pulgada). A veces, los pedidos de impresoras tardan un poco en realizarse. Asegúrese de hacer el pedido con la mayor antelación posible.
  4. Le recomendamos encarecidamente que encargue sus impresoras y etiquetas a iT1 Source. No solo obtendrá el mejor precio, sino también el mejor servicio.
  5. Para evitar atascos y agilizar las líneas, le recomendamos encarecidamente que adquiera cortadores para sus impresoras Zebra.

SQL

SQL es una potente opción para su kit de herramientas de Rock. Aquí tienes algunas pautas que te ayudarán a entender cuándo y cómo utilizar SQL para obtener los mejores resultados.

Normas de formato

  1. El uso de convenciones estándar es importante para escribir SQL de calidad. El equipo central ha proporcionado una Guía de Estilo SQL básica para la Comunidad de la Roca. Asegúrate de que el formato de tu SQL sigue estos estándares. Puedes encontrar ayuda para formatear tu SQL con esta herramienta online gratuita.
  2. Además, nuestro equipo ha elaborado un vídeo sobre las mejores prácticas de SQL, que ofrece información valiosa sobre directrices de formato y consejos para mejorar la construcción de sus consultas.

Cuándo utilizar SQL

  1. En el reino de la Roca, piense en SQL como fuera de los muros del castillo - una herramienta poderosa pero externa. Aunque SQL puede ser la respuesta correcta al final, debe evitar que sea su elección inicial. Explore primero las opciones de configuración interna de Rock, ya que ofrecen soluciones más sólidas y dinámicamente vinculadas a la estructura subyacente de Rock.

Advertencia

Modificación de la estructura de datos con Inserte, Actualizacióny Borrar conlleva varios problemas potenciales, como la falta de validación, la omisión de la lógica de negocio de Rock y el descuido de las actualizaciones de caché.

Cómo utilizar SQL

  1. Si, después de todo, SQL es la respuesta adecuada a su problema, asegúrese de construir sus sentencias pensando en el futuro. En lugar de incrustar la configuración o la lógica de negocio en su SQL (como WHERE [Id] IN (23,24,25) ), evite hacer referencia a identificadores específicos que deban mantenerse a lo largo del tiempo. Opte por un enfoque más preparado para el futuro. Para más información sobre cómo escribir SQL dinámico, vea este vídeo.
  2. Los vídeos enlazados anteriormente proporcionan una comprensión más profunda de cómo funciona SQL más allá de las barreras protectoras de Rock, ofreciendo valiosos consejos para esos momentos en los que SQL es la opción ideal para su proyecto.
  3. ¿Quieres profundizar en SQL? Le recomendamos encarecidamente que tome la clase Rock SQL.
  4. ¿Quiere profundizar aún más? Le recomendamos encarecidamente este libro: Fundamentos de T-SQL.

Y más

A medida que nuestro equipo profundiza en SQL, compartimos continuamente nuestros conocimientos en nuestro sitio web, desde temas introductorios hasta avanzados. Aquí tiene una muestra de lo que encontrará. Vuelve periódicamente para explorar nuevos contenidos, incluyendo:

  1. Trucos con dátiles
  2. Orden de ejecución de SQL
  3. Patrón de pivote

Lava

¡Lava es una herramienta increíble en los cinturones de los administradores de Rock! Te da la posibilidad de obtener fácilmente información de tu base de datos y mostrarla en una página sin tener que hacer ningún tipo de programación. Con muy pocas excepciones (como el {% sql %} y el comando {% interactionwrite %} ), Lava también es de sólo lectura, por lo que no tienes que preocuparte por la posibilidad de que los datos se borren o editen incorrectamente.

Sin embargo, te recomendamos que seas intencionado con tu aproximación a Lava - puede causar ralentizaciones en el 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.

Normas de formato

  1. Al igual que con SQL, las normas de formato y documentación son importantes para la legibilidad y para futuras actualizaciones y resolución de problemas. Por favor, siga las directrices proporcionadas en la Guía de Estilo de Lava. Y aquí están las diferencias de sintaxis a tener en cuenta entre DotLiquid y Fluid.
  2. Además, mantenga la configuración y las declaraciones de variables en la parte superior de sus secciones lava / scripts en lugar de incrustarlos en línea. Esto ayuda con las actualizaciones y mantiene los scripts más mantenibles.
  3. No utilice el {% comment %} pero prefiere la etiqueta //- y /- -/ sintaxis.
  4. Para facilitar la lectura, no añada guiones a las etiquetas (p. ej. {%- assign ... -%} a menos que la existencia de espacios en blanco rompa lo que estás haciendo. En la mayoría de los casos, los espacios en blanco adicionales no importan.

Consideraciones sobre el rendimiento

  1. Un solo comando de entidad puede desencadenar varios miles de llamadas a la base de datos si no se tiene cuidado. Considera el uso de filtros avanzados como expresiones, select y atributos prefetch cuando utilices comandos de entidad para limitar la cantidad de datos que se traen de la base de datos. También puede establecer 'securityenabled' en false cuando sea aplicable para mejorar el rendimiento.
  2. Utilizando estrategias de almacenamiento en caché como Conjuntos de datos persistentes también ayuda a mejorar el rendimiento en tiempo real. Puede utilizar {[benchmark]} del shortcode gratuito Plugin de herramientas Lava para obtener mucha información sobre el rendimiento de una plantilla de lava, al tiempo que se crean plantillas para ayudar a tomar decisiones entre el uso de diferentes estrategias.
  3. Utiliza el Motor de Lava Fluida lo antes posible.

Consideraciones sobre el diseño

Como cualquier otra herramienta, hay que tener en cuenta algunas consideraciones para sacar el máximo partido a la lava. Aquí hemos enumerado algunas de las más importantes.

  1. Sea consciente del tipo de campo de los datos que maneja y tenga en cuenta la existencia de datos en Lava con null y vacío.
  2. Abstenerse de utilizar {% unless %}, excepto como comprobación de la última ejecución de un {% for %} bucle.
  3. Utilice shortcodes para ampliar la funcionalidad de las etiquetas lava y etiquetas {% include %} para reutilizar plantillas en varias páginas.
  4. Evita anidar shortcodes e includes. Controlar el alcance de las variables puede complicarse rápidamente.
  5. El plug-in gratuito Lava Tester puede ahorrarle mucho tiempo a la hora de probar rápidamente su Lava con sus entidades del mundo real.

Web

En su esencia, Rock es un sitio web - o en realidad, es probablemente una serie de sitios web. Hay un montón de cosas poderosas que puedes hacer con sitios web, páginas y bloques en Rock, pero aquí hay algunas pautas para asegurarte de que no estás tendiendo trampas para ti mismo, y para mantener tu sitio web tan sensible como sea posible.

Magnus

Triumph ha invertido mucho en el desarrollo de Magnus, un plugin que se integra profundamente en VS Code y Azure Data Studio. El uso de Magnus te permite editar fácilmente contenido y datos en Rock directamente desde estas increíbles herramientas. Busca Magnus en Rock Shop dentro de tu instancia de Rock.

Sitio web externo

  1. Cuando usted instala Rock, hay un sitio externo por defecto disponible para mostrarle algunas de las capacidades de Rock. Pero este sitio está diseñado para ser una demostración, no el punto de partida de su propio sitio web.
  2. Durante las actualizaciones de versión, ocasionalmente añadiremos o editaremos páginas y funcionalidades en este sitio, para permitirle mantenerse al día en algunas funcionalidades recomendadas para su sitio externo. No querrás que hagamos estos cambios en tu sitio web externo, especialmente si se trata de una nueva funcionalidad que aún no estás listo para utilizar. Por lo tanto, cuando esté listo para empezar a utilizar Rock como su sitio web externo (o un sitio web parcial con funciones como el registro de eventos, el buscador de grupos y las donaciones en línea), le recomendamos que cree un sitio completamente nuevo para que lo vean sus visitantes, en lugar de utilizar las páginas del sitio web externo predeterminado.
  3. Y por supuesto, querrás usar un tema diferente al tema por defecto de Stark para tu nuevo sitio externo- lo diseñamos para ser básico intencionalmente, para que no te sientas tentado a usarlo. No queremos que todas las iglesias acaben utilizando el mismo tema y tengan el mismo aspecto.

Plantillas centralizadas

  1. Rock tiene varias formas de almacenar plantillas en un lugar y usarlas en múltiples bloques. Las más comunes utilizan Lava; se trata de archivos Include y Lava Shortcodes.
  2. Los archivos de inclusión son útiles si utiliza el control de código fuente para desplegar o realizar un seguimiento de los cambios a medida que los realiza. Sin embargo, son más difíciles de cargar y examinar rápidamente cuando se está solucionando un problema o editando algo en Rock, y es importante tener en cuenta que las variables no se pueden pasar a y desde archivos de inclusión cuando se utiliza el motor Fluid Lava recomendado.
  3. En general, recomendamos centralizar las plantillas en Lava Shortcodes. Estos tienen campos incorporados que te permiten proporcionar documentación sobre cómo y dónde están destinados a ser utilizados, pueden ser dinámicos en función de los parámetros que les pasas, y son fáciles de cargar en la interfaz de usuario de Rock y examinar o editar cuando sea necesario.

Carga rápida de páginas

Todos los datos de tu sistema Rock deben almacenarse en algún sitio. La mayoría de los datos se almacenan en la base de datos. Pero los datos también pueden almacenarse en caché en la memoria RAM, que es mucho más rápida de recuperar para el servidor. Y la recuperación rápida de datos significa algo más que páginas rápidas: también significa más capacidad para más personas que utilicen tu sistema al mismo tiempo. Esto es lo que necesitas saber sobre el almacenamiento en caché. 

  1. Generalmente, 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 enviar al servidor de vuelta a la base de datos una y otra vez para obtener la misma información cada vez.
  2. Algunos bloques, como los bloques Elemento/Vista del canal de contenidos o el bloque Contenido HTML, tienen opciones que permiten controlar durante cuánto tiempo se almacenan en caché los datos mostrados por el bloque. En general, a menos que haya Lava que personalice el contenido dinámicamente (por ejemplo, según quién esté cargando la página), siempre debes almacenar en caché el contenido de estos bloques.
  3. Pero en cualquier lugar donde pueda utilizar Lava, también puede especificar que determinados contenidos se almacenen en caché utilizando la propiedad {% cache %} etiqueta. Y estas etiquetas son muy potentes porque se almacenan y se vuelven a buscar más tarde mediante una clave específica, una clave que tú puedes especificar. Así, cuando utilizas una etiqueta de caché, incluso si tienes contenido que se personaliza, puedes incluir una indicación de lo que personaliza el contenido en la clave. Por ejemplo, si personalizas el contenido en función de la hora del día, podrías tener una clave de caché que incluyera dinámicamente la hora del día, como por ejemplo portada-saludos-mañana frente a portada-saludos-tarde. De esta forma, mientras el factor que personaliza el contenido no cambie, Rock podrá seguir utilizando el contenido almacenado en caché. Pero tan pronto como el factor cambie, Rock obtendrá el contenido más reciente y lo almacenará en caché con la nueva etiqueta. También puede utilizar este concepto con otros factores, como el valor del parámetro proporcionado en la URL de la página.

HTML accesible y fácil de mantener

Cuando añadas HTML a cualquiera de tus plantillas o bloques, es bueno tener en cuenta (y utilizar) el marcado semántico siempre que sea posible. 

  1. Esto es importante por razones de accesibilidad; por ejemplo, utilizar un <article> es HTML semántico y hace que sea muy fácil para una tecnología como un lector de pantalla identificar el contenido principal que una página está diseñada para mostrar. Es mucho más difícil para un lector de pantalla averiguar esto si utilizamos marcado no semántico como <div class="article">.
  2. También hace que el marcado sea más fácil de mantener y leer para otros miembros de su equipo (¡o incluso para usted mismo dentro de seis meses!). Y aplicar la tematización al marcado semántico también tiene más sentido. <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 bold aplicado a estos elementos, por lo que resulta confuso. Por otra parte, la semántica <strong> no tiene ninguna idea preconcebida, salvo que el texto de esta etiqueta destacará mucho en la página. Tiene mucho más sentido aplicar especificaciones de color y peso (y quizá también otros estilos) a estas etiquetas semánticas.

CSS

Rock dispone de un potente conjunto de clases de utilidad CSS. Utilízalas siempre que puedas para simplificar y reducir la cantidad de CSS personalizado que escribes.  

JavaScript

Dado que el Rock se visualiza como una serie de páginas web a través de un navegador, por supuesto éste es capaz de ejecutar cualquier JavaScript que usted pueda incluir en la página. Sin embargo, le recomendamos que nunca utilice JavaScript para modificar el aspecto, el diseño o la funcionalidad de los bloques principales. Esto se debe a que los bloques principales cambian y se mejoran constantemente, y es probable que las personalizaciones que intente hacer de este modo se rompan en el futuro. Si necesita que un bloque funcione de forma diferente a la actual, le recomendamos que trabaje con un socio de Rock para conseguir actualizaciones en el núcleo - esto también beneficia a otras iglesias que ahora tienen acceso a la funcionalidad que usted solicitó. 

Elección de integraciones y extensiones

Ahora que ya ha leído las mejores prácticas más populares de nuestro equipo de Rock, asegúrese de aplicar la misma reflexión a las formas en que amplía su plataforma principal y a las organizaciones con las que se asocia.

Al igual que no todas las aplicaciones de la tienda de aplicaciones de tu teléfono son de la misma calidad (piensa en la arquitectura, el diseño, el mantenimiento y la capacidad de respuesta), no todas las extensiones e integraciones de Rock son iguales. Asegúrate de hacer los deberes y elegir con cuidado.

  1. Le recomendamos que sólo instale plugins que hayan sido probados en un servidor sandbox y que se haya confirmado que son necesarios para sus ministerios. Además, asegúrese de actualizarlos a las últimas versiones a medida que estén disponibles y las haya probado.
  2. Aplique los consejos de las personas en las que confía y manténgase al día de los comentarios de la comunidad sobre las integraciones disponibles leyendo esta encuesta de la comunidad sobre integraciones.
  3. Considere los pros y los contras de desarrollar su experiencia en Rock frente a añadir una integración que extraiga datos de Rock para manipularlos o comunicarse con sus miembros. Cuando se utilizan integraciones que "fragmentan" los datos en diferentes bases de datos se pierden datos valiosos en interacciones y perspectivas, en lugar de mantener Rock como almacén de datos, lo que permite una personalización profunda y rica.
  4. Por último, a la hora de elegir un socio para la consultoría y el desarrollo de su instancia de Rock, asegúrese de formular las preguntas recomendadas por el equipo de Spark. Y no olvide revisar los resultados de cada socio como una indicación de su experiencia, formación y procesos, para asegurarse de que está haciendo la mejor selección para su experiencia Rock a largo plazo.