Types et Views 0.9.5 – relations entre publications, performances accrues et interface rationnelle

   Amir

April 13, 2012

Nous sommes heureux d’annoncer le lancement du candidat Types et Views 0.9.5. Cette version est le résultat de deux mois de développement intense par l’équipe tout entière et offre de nombreuses nouvelles fonctions, des améliorations et quelques réparations.

Comme toujours, notre but est de vous permettre de créer des sites de plus en plus riches avec Types et Views et que ce soit de plus en plus facile.

Quand nous vous avons soumis l’idée des champs de répétition, nous avons été submergés de commentaires. Cela nous aidé à développer les nouvelles fonctions de cette version. Après une étude détaillée, nous avons conclu que le champ de matrices pour la publication "parente" ne convenait pas au fonctionnement de Types et Views. Nous avons fait une recherche poussée et avons adopté notre propre architecture pour la mise en œuvre des matrices d’informations associées.

De nombreux échantillons utilisés comportaient des exemples d’artistes ayant des spectacles, de produits offrant des avantages et de bien d’autres choses qui ressemblaient fort à une relation parent/enfant entre différentes publications.

schéma d'un site web de location de voiture
Accords, relier les voitures aux gens

En conséquence et pour créer une infrastructure encore plus solide, nous avons décidé d’ajouter un cadre complet de relation parent/enfant à Types et Views. Comme par le passé, Types définit la relation et Views se charge de l’affichage.

Pour obtenir les mêmes fonctionnalités que les champs de répétition, qui relèvent d’un type de publications, nous avons ajouté la possibilité de faire d’un type de publications le parent d’un autre ET de modifier les publications enfants au sein d’un éditeur de publications. Cela permet de modifier facilement les informations répétées, sans pour autant compromettre l’intégrité de la base de données au cours du processus.

Relations entre publications

Avec Types 0.9.5, quand vous modifiez la définition d’un type de publications personnalisées, vous verrez une nouvelle section "relations entre publications".

Encadré des relations entre publications

Une fois que vous faites d’une publication l’enfant d’une autre, vous ouvrez un large éventail de possibilités.

  • Vous pouvez modifier les publications enfants en modifiant la publication parente (voir les tableaux de champs ci-dessous).
  • Quand vous modifiez une publication enfant, vous pouvez indiquer à qui elle appartient à l’aide du menu déroulant parent.
  • Quand vous affichez des publications parentes avec une view, vous pouvez afficher les champs des publications enfants.

Il existe déjà une page de manuel au sujet des relations entre publications. Elle présente un exemple simple d’une maison avec des pièces (mais ces pièces peuvent aussi avoir des meubles), ainsi qu’un exemple plus complexe, mais très réaliste, d’un site de location de voiture.

Quand vous définissez les relations entre publications, vous permettez à l’une d’elles de pointer vers une autre. Vous pouvez utiliser cette relation pour afficher les champs qui appartiennent aux publications parentes.

Tableaux de champs

Maintenant que vous avez défini les relations entre publications, il est temps de les mettre à contribution.

Vous souhaiterez probablement commencer par ajouter des champs personnalisés aux publications enfants. Puis, vous serez en mesure de modifier les publications enfants et leurs champs personnalisés, directement depuis la publication parente.

un tableau de champs avec 5 lignes de contenu - chaque entrée du contenu représente un type de publications pour une chambre unique
Modifier les éléments des publications enfants depuis la publication parente.

Mais un instant, est-ce vraiment comme les champs de répétition ?

Pas exactement. La modification des publications enfants dans un tableau offre bien d’autres avantages.

Une publication enfant peut appartenir à différentes publications parentes. Dans notre exemple de location de voiture, les contrats appartiennent tous deux à la personne et à la voiture. Quand vous modifiez les informations sur une personne, vous souhaiteriez voir tous les contrats de location qu’elle a passés. Quand vous modifiez les informations sur une voiture, vous devriez pouvoir consulter toutes les personnes ayant loué cette voiture ou qui le feront à l’avenir.

Le type de "contrat de location" peut posséder de nombreux champs. Ils ne sont pas tous importants pour différentes publications parentes, alors Types vous laisse choisir les champs que vous souhaitez afficher quand vous modifiez différentes publications parents.

Vous devriez consulter la section des modifications en masse des tableaux de champs afin de voir comment cela fonctionne et ce à quoi vous pouvez parvenir.

Afficher les contenus enfants (tableaux de champs)

Nous avons donc ajouté un moyen de définir les relations entre publications et de modifier les publications enfants depuis les parents. Maintenant, nous avons juste besoin d’un moyen judicieux d’afficher toutes ces informations.

Views 0.9.5 peut faire des requêtes et filtrer les publications en fonction des parents. Quand vous créez une nouvelle view et le type de publications sur lesquels vous faites des requêtes possède des parents, vous pouvez choisir de filtrer par les publications parentes.

Comme avec les pages ordinaires de WordPress, vous pouvez filtrer par la publication parente ou celle définie par la view. Nous espérons que cette dernière phrase ne vous laisse pas trop confus(e). Cela veut dire que vous pouvez facilement avoir des views imbriquées, affichant les champs enfants. Par exemple, si vous montrez des maisons, chaque maison peut avoir une view enfant pour les pièces.

Cette page de manuel sur l’affichage des éléments enfants explique comment les afficher facilement soit avec une view, ou avec la nouvelle API PHP de Types 0.9.5.

Performances

C’est toujours agréable d’optimiser notre code et de le rendre plus rapide. C’est particulièrement le cas quand nous en dépendons nous-mêmes pour notre serveur de production sur les deux sites wp-types.com et wpml.org.

Cette version voit ses performances s’améliorer sur deux fronts :

  • Dans la section admin de WordPress, nous effectuons infiniment moins de requêtes SQL dans la modification des publications et dans la définition des pages de Types.
  • Les chargements de pages AJAX fonctionnent maintenant sans faire appel à wp-admin et peuvent être mis en cache. Juste quelques chiffres, sur notre propre serveur dédié comportant 8 accélérateurs, cela réduit le temps de 2,5 à 0,1 seconde. Si vous utilisez des mises à jour AJAX dans vos views, vous constaterez immédiatement les bienfaits.

Interface rationnelle

Parmi toutes les nouvelles fonctions intéressantes, l’amélioration des performances et les réparations de bogues, c’est en fait notre point fort préféré dans Types et Views 0.9.5.

Ainsi parlerait notre administrateur web. Cela signifie que nous pouvons créer de nouvelles views et templates view. Nous avons de nombreuses tâches quotidiennes et nous apprécions vraiment le fait que notre administrateur web puisse aller vite dans son travail (et nous pouvons nous occuper des affaires).

Jusqu’à cette version, la fenêtre de dialogue contextuelle d’insertion de champ (qui apparaît quand vous cliquez sur "Insérer un champ" ou l’icône V) était un peu encombrée. Cela pouvait devenir la pagaille si vous aviez de nombreux champs personnalisés dans votre site (comme c’est le cas pour nous).

Cela représentait un gros problème pour nous. Nous savions ce que nous souhaitions insérer, mais cela nous prenait 3 minutes pour le trouver à l’écran.

Seuls les champs pertinents apparaissent dans les fenêtres contextuelles

Views fait maintenant de son mieux pour éliminer les options et ne vous montrer que les champs pertinents. Quand vous créez une view, elle sait exactement quels types de contenus vous utilisez. Pour les templates view, ils affichent tout, mais de façon bien plus ordonnée.

Il existe ensuite une zone de recherche. Essayez-la en tapant n’importe quoi. Vous verrez immédiatement la liste des champs s’ajuster en éliminant tout ceux qui sont impertinents. Après avoir entré quelques caractères, vous verrez immédiatement le champ que vous souhaitez insérer.

Stabilité

Comme nous avons eu tout le temps de développer et analyser cette version, nous pensons qu’elle est la plus stable à ce jour. C’est la première fois que nous parvenons à faire passer Types et Views au travers de notre cycle complet de tests qualitatifs. Cela nous a permis de mettre à jour de nombreux bogues, allant de petits soucis d’orthographes aux bogues PHP.

Types et Views 0.9.5 sont déjà en place sur nos sites et nous sommes satisfaits de leur fonctionnement.

Réparations de bogues

La plupart des bogues étaient difficiles à identifier et sont encore plus difficiles à expliquer. Toutefois, voici quelques traits saillants :

  • Intégration WPML – maintenant que wp-types.com est multilingue, nous avons remarqué quelques endroits où Views tiraient les informations de la base de données dans une langue erronée.
  • Champs n’étant pas affichés – tout se passe quelque part entre Types et le coeur de WordPress. Comme nous n’avons pas le contrôle de WordPress, nous y avons remédié de notre côté. Types n’insérera maintenant que des champs qui seront 100 % compatibles avec la façon dont WordPress analyse les codes courts, éliminant ainsi la possibilité que des champs ne soient pas affichés.

Obtenir Types et Views 0.9.5

Vous pouvez télécharger Types 0.9.5 depuis la page de votre compte Toolset. Views 0.9.5 n’est disponible que pour ses clients. Veuillez vous connecter à votre compte toolset.com et cliquer sur Téléchargements.

Nous avons effectué des dizaines de tests sur ces versions et elles sont déjà en place sur nos sites. Toutefois, il s’agit d’une mise à jour principale, veuillez donc sauvegarder votre base de données avant de mettre à jour les sites déjà en ligne.