Types y Views 0.9.5 | relacionar entradas, mejor rendimiento e interfaz con streamline

   Amir

May 28, 2012

Nos complace anunciar una nueva edición de Types y Views 0.9.5. Esta versión es el resultado de dos meses de intenso desarrollo por parte del equipo completo, trayendo una cantidad de nuevas características, mejoras y algunas reparaciones.

Como siempre, nuestra meta es hacer que usted construya sitios más ricos con Types y Views, además de hacerlo con mayor facilidad.

Al consultarles acerca de campos repeater, recibimos una gran cantidad de respuestas que nos ayudaron a implementar las nuevas funcionalidades para esta edición. Tras una revisión cuidadosa, concluimos que las matrices de campo para la entrada ‘parent’ no armonizaban con la forma de funcionamiento de Types y Views. Profundizamos el análisis y logramos nuestra propia arquitectura para implementar matrices de información relacionada.

Muchas de las muestras usan ejemplos de los que hemos hablado, tales como artistas que tienen shows, productos que tienen beneficios y otras cosas que se asemejan fuertemente a la relación parent /child entre distintas entradas.

esquema de un sitio web de alquiler de automóviles
Contratos, que conectan gente personas con vehículos

Luego, para construir precisamente una estructura más sólida decidimos añadir un framework completo para interrelacionar parent/child tanto para Types como para Views. Al igual que antes, Types define la relación, mientras que Views se ocupa de lo visual.

Para obtener la misma funcionalidad que con campos repeater que pertenecen a un tipo de entrada, hemos añadido una forma de hacer que un tipo de entrada se convierta en parent de otro, ADEM?S de editar las entradas child directamente desde el editor de la entrada parent. Esto proporciona una forma ventajosa de editar información repetitiva sin sacrificar la integridad de la base de datos.

Relación entre entradas

Con Types 0.9.5, cuando edite una definición de tipo de entrada personalizado verá una nueva sección ‘relación entre entradas’.

Panel para relaciones entre entradas

Una vez que haya convertido una entrada en child de la otra, habrá inaugurado todo un juego de posibilidades.

  • Usted puede editar entradas child desde adentro del editor del parent (ver Tablas de campos, más abajo).
  • Cuando usted edita una entrada child puede indicar a dónde pertenece tal entrada, utilizando para ello un box desplegable parent.
  • Cuando usted visualiza entradas parent con una View, puede mostrar los campos de las entradas child.

Ya existe una página instructiva acerca de cómo relacionar entradas. Muestra un simple ejemplo de una casa que posee habitaciones (pero estas también pueden incluir mobiliario) y otro ejemplo más complejo, pero muy realista, de un sitio de autos de alquiler.

Cuando Ud. define relaciones entre entradas, permite que una entrada apunte hacia otra. Usted puede usar esta relación para visualizar campos que pertenecen a los parents.

Tablas de campos

Ahora que ha definido relaciones entre entradas, es hora de darles buen uso.

En primera instancia, usted podría desear añadir ciertos campos personalizados a las entradas child. Luego, estará en condiciones de editar las entradas child y sus campos personalizados en una tabla prolija directamente a partir de la entrada parent.

una tabla de campos con 5 filas de contenido: cada ítem de contenido es un tipo de entrada de habitación individual
Edición de elementos child desde la entrada parent

Pero espere, ¿es esto exactamente lo mismo que campos repeater?

No realmente. Hay toda una cantidad más que editar en las entradas child en una tabla.

Una entrada child puede pertenecer a distintos parents. En nuestro ejemplo de alquiler de automóviles, los contratos pertenecen a una persona y a un vehículo. Al editar una persona, podrá ver todos los contratos de alquiler que posee. Al editar un automóvil, usted vería todos los clientes que han alquilado esta unidad o el cronograma en que lo harán.

El tipo «rental agreement» (contrato de alquiler) puede tener numerosos campos. No todos ellos son relevantes para todos los parents, de modo que Types le permite escoger qué campos visualizar a la hora de editar cada parent.

Le sugerimos leer más acerca de edición en conjunto con Tablas de campos, para ver cómo trabaja el sistema y qué se puede obtener.

Visualización de contenidos child (Tablas de campos)

Así, hemos incorporado una manera de definir relaciones entre entradas y editar entradas child desde los parents. Ahora, lo que necesitamos es una manera de mostrar esta información.

Views 0.9.5 puede consultar y filtrar entradas en función de sus parents. Al crear una nueva View, y el tipo de entrada consultado posee parents, puede elegir filtrar por sus parents.

Al igual que en el caso de páginas WordPress comunes, puede filtrar por el parent actual o por el parent establecido por la View. Espero que esta última frase no resulte confusa. Significa, que Ud. puede tener fácilmente Views anidadas, mostrando campos child. Por ejemplo, si se muestran casas, cada casa puede tener una View child para las habitaciones.

Esta página instructiva sobre visualización de elementos child explica cómo mostrarlos fácilmente usando una View o con la nueva API de PHP en Types 0.9.5.

Rendimiento

Siempre es divertido optimizar nuestro código y hacer que corra más rápido. Es especialmente divertido cuando nosotros mismos nos ocupamos de ellos en nuestro servidor de producción en wp-types.com y wpml.org.

Esta edición gana enormemente en rendimiento en dos puntos:

  • En el administrador de WordPress, donde realizamos escasas consultas SQL en las páginas de edición de entrada y de configuración de Types.
  • Las cargas de páginas AJAX se ejecutan ahora sin llamar al wp-admin y admiten cache. En cifras: en nuestro servidor 8 core dedicado, esto reduce 2.5 segundos a menos de 0.1 segundo. Si está usando actualizaciones AJAX en sus Views, va a notar la mejora de inmediato.

Interfaz con streamline

Entre todas las nuevas y brillantes funcionalidades, mejoras de rendimiento y solución de bugs, este es realmente mi nuevo elemento favorito en Types y Views 0.9.5.

Supongamos que soy su webmaster. Esto significa que creo nuevas Views y Content Templates. Tengo otras pocas tareas diarias, de tal modo que mi rol de webmaster me insume el menor tiempo posible (y puedo llevar adelante el negocio).

Hasta esta edición, el diálogo emergente para insertar campos (que se obtiene haciendo clic en los íconos ‘insertar campo’ o V) estaba un poco abarrotado. Puede congestionarse bastante si se tiene gran cantidad de campos personalizados en el sitio (tal como ocurre).

Para mí, esto representaba un problema. Yo sabía lo que quería insertar, pero me llevaba 3 minutos encontrarlo en la pantalla.

Mostrar sólo campos relevantes en popup

Views hace todo lo que puede por eliminar opciones y mostrarle los campos relevantes. Al crear una View, sabe exactamente qué tipos de contenido está usando. En Content Templates, muestra todo, pero más ordenadamente.

Hay un pequeño bloque de búsqueda. Pruebe escribir algo. Verá, que la lista de campos se ajusta inmediatamente eliminando campos irrelevantes. Tras introducir unos caracteres, se le mostrará inmediatamente el campo que desea insertar.

Estabilidad

Debido a que tuvimos un tiempo cómodo para desarrollar y revisar esta edición, sentimos que es la edición más estable hasta la fecha. Es la primera vez que hemos pasado Types y Views por todo nuestro ciclo completo de garantía de calidad. Esto reveló numerosos bugs, desde errores de escritura hasta problemas en el PHP.

Types y Views 0.9.5 ya constituyen la plataforma de nuestros sitios propios y nos encanta cómo funcionan para nosotros.

Reparación de errores

La mayoría de los bugs fueron difíciles de encontrar, y son aún más difíciles de explicar. No obstante, destacamos algunas cosas:

  • Integración con WPML: ahora que wp-types.com se vuelve multilingüe, notamos unos pocos puntos donde Views colocaba elementos de la base de datos en el idioma equivocado.
  • Campos sin renderizado: esto se sitúa en algún punto intermedio entre Types y el núcleo de WordPress. Dado que no podemos controlar WordPress, solucionamos todo lo posible de nuestro lado. Ahora, Types insertará campos que son 100% compatibles con el parseo que hace WordPress de los shortcodes, asegurando que todos los campos se muestren.

Obtener Types y Views 0.9.5

Puede descargar Types 0.9.5 de su cuenta de wp-types. Views 0.9.5 sólo está disponible para clientes de Views. Inicie sesión en su cuenta de toolset.com y haga clic en Downloads.

Hemos realizado una inmensa cantidad de pruebas sobre estas versiones, las cuales ya hacen funcionar nuestros sitios. Sin embargo, se trata de una actualización importante; por lo tanto, antes de actualizar sus sitios en línea se le sugiere realizar un backup de la base de datos.