SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Entities – c’est quoi cebordel?
Qui suis-je? Mytailorisrich,  but my French is not as rich. Hashtag #gregsays IANAD – I am not a developer Je voulais comprendre, donc j’avais demandé à m’expliquer. Et maintenant j’essaie d’expliquer.
Pour faire bref Drupal6 : Noeuds et CCK Drupal7 : Entités et Champs
Euh… Non, pas vraiment…
La pre-histoire (Drupal 6) Nodes Customiser/ étendre avec CCK IntegreravecViews
MAIS… Problème pour type de contenu autre que Nodes : User Comments TaxonomyTerms Autres types de contenus (images, pièces jointes, URLs)
MAIS… (2) Galère pour intégration dans CCK et Views (entre autre) - ils doivent être transformés en Node : soit par un modules contrib soit par des développements customisés.
DRUPAL 7  Le Next Generation
Fields & Entities Deux grands nouveautés Ajout d’une couche supérieure au « Node », « Commentaire », etc (Entity) Intégration du concept CCK (Fields) dans Core
Entité Un élément particulier de contenu  Tout les éléments de contenus sont maintenant des Entités User, Node, Commentaire, etc.
Entité = contenustandardisé Gestion normalisée Fonctions standards de manipulation Simplification des références entre contenus
Entity Types Le type d’information que l’on manipule Plusieurs type d'entités : Nodes Comments User Files Vocabulary Term (Type d'Entités par défaut en D7)
Fields bah, c'est un champ…. qui peut être ajouté à un Entité Comme dans CCK, les Champs peuvent être utilisé sur plusieurs Bundles Champ « Image »  -> Node « Article »  -> Node  « Gallery »
Bundles Bundle = un Sous-Type d’Entité personnalisé Type d'entité = « Node » Bundle =«  Article », « Blog » En effet Node avec quelques champs extra (image, URL, etc…)
 HEIN? « Rien compris… »
On reprend? Attention : Discours un peu plus technique
Definition d’uneEntité Propriétés de l'entité (la partie "business") Versioné ou pas Fieldable ou pas Définition de table dans base de données Comment sont mappés les concepts / champs
Definition des tables BDD Exemple Node:  nodeID (1,2,3) titre actuel  (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
Mapping de concepts Les concepts:  l'entitéID revisionID bundle Le mapping : comment s’appelle ces champs pour les differents Entités?
Mapping Entité -> Node entitéID -> nid revisionID-> vid bundle-> type  (qui va stockés plusieurs "types" de Nodes)
Mapping Entité -> User entitéID -> uid revisionID-> 0 (pas de versioning) bundle-> 0  (qui veux dire qu'il y aura qu'un bundle par défaut)
Mapping Entité -> Terme entitéID -> tid revisionID->0 (pas de versioning) bundle-> vid(vocabularies du terme)
Alors.. Bundle encore unefois? « Vaux mieux…. »
Bundles Bundle = un Type d’Entité personnalisé Un entité avec plusieurs champs, qui est définit comme un type de contenu Type d'entité = “Terme” > “Bundle” = Tags Alors, par exemple, le vocabulaire “Tags” ont le champs “Images” ajouté
Bundles (2) User, Vocabulaire, File - pas de type d’Entités Bundle = Entity par défaut Entity : User -> Bundle : User Il sont toujours personnalisables (ajout de champs)
Entités / Bundles par défaut Entité			Bundle Node			Story, Page, Blog, …. Comment		Story, Page, Blog, …. User			0 (User par défaut) Vocabulaire		0 (Vocab par défaut) Terme			[les vocabulaires] File			0 (File par défaut)
Exemple Entity : NODE Definition ,[object Object]
Fieldable / pas
Définition BDD
MappingTables BDD nodeID(1,2,3) titre actuel  (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
Exempe Entity : NODE « Node » Corps de Text Image Ville Ne « News » « BUNDLE »
Exempe Entity : TERM « Term » Drapeau « Langue » « BUNDLE » Les Bundles des Termes sont forcement les Vocabulaires
Foire au Questions Bordel Bon, c’estclair?

Weitere ähnliche Inhalte

Andere mochten auch

Libros en un Paraíso
Libros en un ParaísoLibros en un Paraíso
Libros en un ParaísoCeleste Box
 
Pour une histoire de l’imaginaire
Pour une histoire de l’imaginairePour une histoire de l’imaginaire
Pour une histoire de l’imaginaireAndre Gunthert
 
La Importancia De La EDFI
La Importancia De La EDFILa Importancia De La EDFI
La Importancia De La EDFILuis
 
blog,redessocialesywiki
blog,redessocialesywikiblog,redessocialesywiki
blog,redessocialesywikidieguito1988
 
Adjectives Presentation & Blockbusters Game
Adjectives Presentation & Blockbusters GameAdjectives Presentation & Blockbusters Game
Adjectives Presentation & Blockbusters GamePGCEMaster
 
Quelles perspectives pour la péréquation en France après la suppression de la...
Quelles perspectives pour la péréquation en France après la suppression de la...Quelles perspectives pour la péréquation en France après la suppression de la...
Quelles perspectives pour la péréquation en France après la suppression de la...Public Evaluation System
 
Natalia TR Provence-Alpes-Coted'Azur
Natalia TR Provence-Alpes-Coted'AzurNatalia TR Provence-Alpes-Coted'Azur
Natalia TR Provence-Alpes-Coted'AzurHercules' city
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Eva Morales
 
Tesf2
Tesf2Tesf2
Tesf2CHRIS
 

Andere mochten auch (20)

Imperatives
ImperativesImperatives
Imperatives
 
Libros en un Paraíso
Libros en un ParaísoLibros en un Paraíso
Libros en un Paraíso
 
Ancala 7 A
Ancala 7 AAncala 7 A
Ancala 7 A
 
Pour une histoire de l’imaginaire
Pour une histoire de l’imaginairePour une histoire de l’imaginaire
Pour une histoire de l’imaginaire
 
Correspondencia
CorrespondenciaCorrespondencia
Correspondencia
 
La Importancia De La EDFI
La Importancia De La EDFILa Importancia De La EDFI
La Importancia De La EDFI
 
blog,redessocialesywiki
blog,redessocialesywikiblog,redessocialesywiki
blog,redessocialesywiki
 
Adjectives Presentation & Blockbusters Game
Adjectives Presentation & Blockbusters GameAdjectives Presentation & Blockbusters Game
Adjectives Presentation & Blockbusters Game
 
Quelles perspectives pour la péréquation en France après la suppression de la...
Quelles perspectives pour la péréquation en France après la suppression de la...Quelles perspectives pour la péréquation en France après la suppression de la...
Quelles perspectives pour la péréquation en France après la suppression de la...
 
Ballenas
BallenasBallenas
Ballenas
 
Tequila Y Sal
Tequila Y SalTequila Y Sal
Tequila Y Sal
 
Natalia TR Provence-Alpes-Coted'Azur
Natalia TR Provence-Alpes-Coted'AzurNatalia TR Provence-Alpes-Coted'Azur
Natalia TR Provence-Alpes-Coted'Azur
 
Nia
NiaNia
Nia
 
Un Poquito De Abono.. .
Un Poquito De Abono.. .Un Poquito De Abono.. .
Un Poquito De Abono.. .
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*Blanca Berlín, Marzo 2010*
Blanca Berlín, Marzo 2010*
 
Tesf2
Tesf2Tesf2
Tesf2
 
Art Life Design
Art Life DesignArt Life Design
Art Life Design
 
Contrepoint Slide
Contrepoint SlideContrepoint Slide
Contrepoint Slide
 
Neo Technology
Neo TechnologyNeo Technology
Neo Technology
 

Ähnlich wie Drupalcamp Nantes - Présentation entités

2014 03-12-fr schema design and app architecture-2
2014 03-12-fr schema design and app architecture-22014 03-12-fr schema design and app architecture-2
2014 03-12-fr schema design and app architecture-2MongoDB
 
Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7slybud
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Laurent Guérin
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.MongoDB
 
2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexingMongoDB
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersFrédéric Simonet
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Olivier Eeckhoutte
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Nicolas Morin
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013bellesmanieres
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Microsoft Technet France
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !davrous
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuBertrand Dunogier
 
Looker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsLooker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsMadeline Pinthon
 
Introduction à l'informatique documentaire
Introduction à l'informatique documentaireIntroduction à l'informatique documentaire
Introduction à l'informatique documentaireSylvain Machefert
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet webguest6d3f53
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projetlaureno
 

Ähnlich wie Drupalcamp Nantes - Présentation entités (20)

2014 03-12-fr schema design and app architecture-2
2014 03-12-fr schema design and app architecture-22014 03-12-fr schema design and app architecture-2
2014 03-12-fr schema design and app architecture-2
 
Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7Architecture des types de contenu : ce qui a changé en Drupal 7
Architecture des types de contenu : ce qui a changé en Drupal 7
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01-rev.
 
2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliers
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)
 
Les dessous de html+ccs+js
Les dessous de html+ccs+jsLes dessous de html+ccs+js
Les dessous de html+ccs+js
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !
 
Cours Ynov JS B1_1
Cours Ynov JS B1_1Cours Ynov JS B1_1
Cours Ynov JS B1_1
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenu
 
Looker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsLooker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboards
 
Introduction à l'informatique documentaire
Introduction à l'informatique documentaireIntroduction à l'informatique documentaire
Introduction à l'informatique documentaire
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet web
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projet
 

Mehr von Artusamak

On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017Artusamak
 
Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Artusamak
 
Agilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreAgilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreArtusamak
 
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Artusamak
 
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Artusamak
 
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Artusamak
 
Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Artusamak
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Artusamak
 
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Artusamak
 
Comment contribuer à Drupal
Comment contribuer à DrupalComment contribuer à Drupal
Comment contribuer à DrupalArtusamak
 
Contribuer à drupal
Contribuer à drupalContribuer à drupal
Contribuer à drupalArtusamak
 
Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuerArtusamak
 
Drupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseDrupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseArtusamak
 
Drupal commerce nuts and bolts seville
Drupal commerce nuts and bolts   sevilleDrupal commerce nuts and bolts   seville
Drupal commerce nuts and bolts sevilleArtusamak
 
Drupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushDrupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushArtusamak
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITArtusamak
 
Drupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalDrupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalArtusamak
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersArtusamak
 
Drupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationDrupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationArtusamak
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersArtusamak
 

Mehr von Artusamak (20)

On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
 
Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014Care for your backoffice - Drupal Dev Days Szeged 2014
Care for your backoffice - Drupal Dev Days Szeged 2014
 
Agilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendreAgilité - Drupal et Scrum sont faits pour s'entendre
Agilité - Drupal et Scrum sont faits pour s'entendre
 
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013Drupal 8: Mobile initiative - Drupalcamp Paris 2013
Drupal 8: Mobile initiative - Drupalcamp Paris 2013
 
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
Il n'y a pas que Drupal dans la vie - Drupalcamp Paris 2013
 
Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013Drupal un projet comme les autres ? Drupalcamp Paris 2013
Drupal un projet comme les autres ? Drupalcamp Paris 2013
 
Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013Openlayers - Drupalcamp Paris 2013
Openlayers - Drupalcamp Paris 2013
 
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
Retour d'expérience : France Télévisions - Drupalcamp Paris 2013
 
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013Drupal, scrum et l'agilité - Drupalcamp Paris 2013
Drupal, scrum et l'agilité - Drupalcamp Paris 2013
 
Comment contribuer à Drupal
Comment contribuer à DrupalComment contribuer à Drupal
Comment contribuer à Drupal
 
Contribuer à drupal
Contribuer à drupalContribuer à drupal
Contribuer à drupal
 
Drupal comment contribuer
Drupal comment contribuerDrupal comment contribuer
Drupal comment contribuer
 
Drupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp ToulouseDrupal commerce - Drupalcamp Toulouse
Drupal commerce - Drupalcamp Toulouse
 
Drupal commerce nuts and bolts seville
Drupal commerce nuts and bolts   sevilleDrupal commerce nuts and bolts   seville
Drupal commerce nuts and bolts seville
 
Drupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation DrushDrupalcamp Nantes - Présentation Drush
Drupalcamp Nantes - Présentation Drush
 
Drupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GITDrupalcamp Nantes - Présentation GIT
Drupalcamp Nantes - Présentation GIT
 
Drupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupalDrupalcamp Nantes - Optimisations drupal
Drupalcamp Nantes - Optimisations drupal
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 
Drupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translationDrupalcamp Nantes - Lost in translation
Drupalcamp Nantes - Lost in translation
 
Drupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layersDrupalcamp Nantes - Open layers
Drupalcamp Nantes - Open layers
 

Drupalcamp Nantes - Présentation entités

  • 1. Entities – c’est quoi cebordel?
  • 2. Qui suis-je? Mytailorisrich, but my French is not as rich. Hashtag #gregsays IANAD – I am not a developer Je voulais comprendre, donc j’avais demandé à m’expliquer. Et maintenant j’essaie d’expliquer.
  • 3. Pour faire bref Drupal6 : Noeuds et CCK Drupal7 : Entités et Champs
  • 4. Euh… Non, pas vraiment…
  • 5. La pre-histoire (Drupal 6) Nodes Customiser/ étendre avec CCK IntegreravecViews
  • 6. MAIS… Problème pour type de contenu autre que Nodes : User Comments TaxonomyTerms Autres types de contenus (images, pièces jointes, URLs)
  • 7. MAIS… (2) Galère pour intégration dans CCK et Views (entre autre) - ils doivent être transformés en Node : soit par un modules contrib soit par des développements customisés.
  • 8. DRUPAL 7 Le Next Generation
  • 9. Fields & Entities Deux grands nouveautés Ajout d’une couche supérieure au « Node », « Commentaire », etc (Entity) Intégration du concept CCK (Fields) dans Core
  • 10. Entité Un élément particulier de contenu Tout les éléments de contenus sont maintenant des Entités User, Node, Commentaire, etc.
  • 11. Entité = contenustandardisé Gestion normalisée Fonctions standards de manipulation Simplification des références entre contenus
  • 12. Entity Types Le type d’information que l’on manipule Plusieurs type d'entités : Nodes Comments User Files Vocabulary Term (Type d'Entités par défaut en D7)
  • 13. Fields bah, c'est un champ…. qui peut être ajouté à un Entité Comme dans CCK, les Champs peuvent être utilisé sur plusieurs Bundles Champ « Image » -> Node « Article » -> Node « Gallery »
  • 14. Bundles Bundle = un Sous-Type d’Entité personnalisé Type d'entité = « Node » Bundle =«  Article », « Blog » En effet Node avec quelques champs extra (image, URL, etc…)
  • 15. HEIN? « Rien compris… »
  • 16. On reprend? Attention : Discours un peu plus technique
  • 17. Definition d’uneEntité Propriétés de l'entité (la partie "business") Versioné ou pas Fieldable ou pas Définition de table dans base de données Comment sont mappés les concepts / champs
  • 18. Definition des tables BDD Exemple Node: nodeID (1,2,3) titre actuel (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
  • 19. Mapping de concepts Les concepts: l'entitéID revisionID bundle Le mapping : comment s’appelle ces champs pour les differents Entités?
  • 20. Mapping Entité -> Node entitéID -> nid revisionID-> vid bundle-> type (qui va stockés plusieurs "types" de Nodes)
  • 21. Mapping Entité -> User entitéID -> uid revisionID-> 0 (pas de versioning) bundle-> 0 (qui veux dire qu'il y aura qu'un bundle par défaut)
  • 22. Mapping Entité -> Terme entitéID -> tid revisionID->0 (pas de versioning) bundle-> vid(vocabularies du terme)
  • 23. Alors.. Bundle encore unefois? « Vaux mieux…. »
  • 24. Bundles Bundle = un Type d’Entité personnalisé Un entité avec plusieurs champs, qui est définit comme un type de contenu Type d'entité = “Terme” > “Bundle” = Tags Alors, par exemple, le vocabulaire “Tags” ont le champs “Images” ajouté
  • 25. Bundles (2) User, Vocabulaire, File - pas de type d’Entités Bundle = Entity par défaut Entity : User -> Bundle : User Il sont toujours personnalisables (ajout de champs)
  • 26. Entités / Bundles par défaut Entité Bundle Node Story, Page, Blog, …. Comment Story, Page, Blog, …. User 0 (User par défaut) Vocabulaire 0 (Vocab par défaut) Terme [les vocabulaires] File 0 (File par défaut)
  • 27.
  • 30. MappingTables BDD nodeID(1,2,3) titre actuel (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
  • 31. Exempe Entity : NODE « Node » Corps de Text Image Ville Ne « News » « BUNDLE »
  • 32. Exempe Entity : TERM « Term » Drapeau « Langue » « BUNDLE » Les Bundles des Termes sont forcement les Vocabulaires
  • 33. Foire au Questions Bordel Bon, c’estclair?
  • 34. MERCI Laurent Ajdnik- DrupalLyon Damien Tournoud - Commerce Guys Ronald Ashri - Istos.it
  • 35. Ah, oui – aussi
  • 36. Et merci…. …..EPITECH ….et ARTUSAMAK!!!!

Hinweis der Redaktion

  1. Exemples:Champs profilsutilisateurs -> Views, faututiliserContentProfile (lien entre User et Node)Champs images / vidéos -> commentairesfaut code customisé
  2. Comment est-cequ’ondefiniuneEntité – soitexistant, soitsoi meme dans le code….
  3. NOTE: Des fois, les bundles ne sont pas disponibles….
  4. Explication Commentaire de type Story peutavoir un Flag, mais pas commentaire de type Blog….