SlideShare a Scribd company logo
Building a Bibliography
Via Entity References and Views
Thursday, June 27, 13
Bio
Eric Aitala
Earth and Space Science
Partnership - College of
Earth & Mineral Science
ema13@psu.edu
@aitala
Drupal dev since 2006
Thursday, June 27, 13
Entities
Introduced in D7
An entity is a collection of information which is fieldable.
Examples
Node
Comments
Users
Taxonomy vocabulary & taxonomy term
File
Thursday, June 27, 13
Entities
Entity Type - Node, User, File
Bundle - Article, Basic Page
Field(s) - Body, text field, date field
Entity - A specific instance of an entity type or bundle
i.e. example.com/node/27
Stores data (properties) in the database.
Fields provide additional properties to extend the default
bundle(s).
Thursday, June 27, 13
Entities
More information at:
https://drupal.org/node/1261744
http://www.slideshare.net/jdleonard/entities-in-drupal-7-
the-entity-api
Thursday, June 27, 13
Citation Example
A publication
Contains a title,
author(s), an abstract,
a publication date, etc.
Why not use Biblio
module? Its wonky...
Create a content type
for it....
Thursday, June 27, 13
Author Field
The author field can be
quite complicated...
Thursday, June 27, 13
Author Field
If I was in a hurry...
Plain text field
Infinite instances
Thursday, June 27, 13
But.....
... you may not get
what you expect.
I’ve done this once....
... bad idea.
Thursday, June 27, 13
There is a better way...
Thursday, June 27, 13
Entity Reference
Entity reference module
https://drupal.org/project/entityreference
It provides a field which allows one entity to refer to
another... aka, a specific node can point, via a link for
example, to another node.
Integrates with Views, Feeds, and Migrate module
Thursday, June 27, 13
Citation Example, v2
Instead of having a plain text field, create two content
types
Citation
Title, abstract, etc.
Citation Author
Name, degrees, affiliation, etc.
Then have the Citation do an Entity Reference to the
Citation Author(s)
Thursday, June 27, 13
Citation Example, v2
Thursday, June 27, 13
Citation Example, v2
Add a field to the Citation type to the Citation Author
type.
Thursday, June 27, 13
Citation Example, v2
Thursday, June 27, 13
Citation Example, v2
In my real world case, I have the Citation type refer to
Citation Author type which in turn may refer to a User
entity!
Thursday, June 27, 13
Demo time....
Thursday, June 27, 13
Modules
Entity API
Functionality not included in D7 core
CRUD functionality, etc. (You really need this module!)
https://drupal.org/project/entity
Entity Reference
https://drupal.org/project/entityreference
Entity Reference Dynamic Select Widget
https://drupal.org/project/entityreference_dynamicselect_widget
References dialog - adds the create & edit inline links
https://drupal.org/project/references_dialog
Thursday, June 27, 13
Now... Views....?
How do we handle
things like entity
references in Views?
Under the Views
‘Advanced’ tab...
Contextual Filter
Relationships
Thursday, June 27, 13
Now... Views....?
Contextual Filter
“Contextual Filters (known in previous versions of
Views as "Arguments") are input. While they often
come from the URL, they don't always. Don't be
shocked when they don't. Each display type may
have its own source for contextual filters.”
Thursday, June 27, 13
Now... Views....?
Relationships
“Relationships allow you to expand the query to
include objects other than the base query.”
“The main example of the relationship that is there by
default is the node --> user relationship; every node
has an author, and if a node is in the query, the user
who wrote that node is automatically made
available.”
Thursday, June 27, 13
Now... Views....?
Relationships
“A similar relationship that is not automatically made
available is for node revisions. Each revision has its
own author, which is the user who made the revision.
By adding the "Node revision: User" relationship, all
of the 'user' fields, sorts, filters and arguments
available to a user will now be available for the
revision author.”
Thursday, June 27, 13
What does that mean?
Contextual Filter
Has query/filter terms in the URL (usually)
http://example.com/events/2013/6/25
Relationships
Exploit a default relationship - node and node author
Create a relationship between entities - a file and the
node it is attached to, or vice versa
Thursday, June 27, 13
Demo time....
Thursday, June 27, 13

More Related Content

Viewers also liked

State Report Ashley
State Report AshleyState Report Ashley
State Report Ashleyjabernethy
 
Online Presence
Online PresenceOnline Presence
Online Presence
cccowman
 
Directori català de l’economia col·laborativa
Directori català de l’economia col·laborativaDirectori català de l’economia col·laborativa
Directori català de l’economia col·laborativa
David Rozas
 
Wolves
WolvesWolves
Wolves
jabernethy
 
Yt 39
Yt 39Yt 39
Yamada 105
Yamada 105Yamada 105
Yamada 105
Carlos Flores
 
Drupal para bibliotecas, archivos y lo que sea menester
Drupal para bibliotecas, archivos y lo que sea menesterDrupal para bibliotecas, archivos y lo que sea menester
Drupal para bibliotecas, archivos y lo que sea menester
SocialBiblio
 

Viewers also liked (7)

State Report Ashley
State Report AshleyState Report Ashley
State Report Ashley
 
Online Presence
Online PresenceOnline Presence
Online Presence
 
Directori català de l’economia col·laborativa
Directori català de l’economia col·laborativaDirectori català de l’economia col·laborativa
Directori català de l’economia col·laborativa
 
Wolves
WolvesWolves
Wolves
 
Yt 39
Yt 39Yt 39
Yt 39
 
Yamada 105
Yamada 105Yamada 105
Yamada 105
 
Drupal para bibliotecas, archivos y lo que sea menester
Drupal para bibliotecas, archivos y lo que sea menesterDrupal para bibliotecas, archivos y lo que sea menester
Drupal para bibliotecas, archivos y lo que sea menester
 

Similar to Building a Bibliography

The Eprints Application Profile: a FRBR approach to modelling repository meta...
The Eprints Application Profile: a FRBR approach to modelling repository meta...The Eprints Application Profile: a FRBR approach to modelling repository meta...
The Eprints Application Profile: a FRBR approach to modelling repository meta...
Julie Allinson
 
Drupal 7 entities & TextbookMadness.com
Drupal 7 entities & TextbookMadness.comDrupal 7 entities & TextbookMadness.com
Drupal 7 entities & TextbookMadness.com
JD Leonard
 
Intro to Angular.JS Directives
Intro to Angular.JS DirectivesIntro to Angular.JS Directives
Intro to Angular.JS Directives
Christian Lilley
 
Eprints Special Session - DC-2006, Mexico
Eprints Special Session - DC-2006, MexicoEprints Special Session - DC-2006, Mexico
Eprints Special Session - DC-2006, Mexico
Eduserv Foundation
 
Dublin Core Application Profile for Scholarly Works (ePrints)
Dublin Core Application Profile for Scholarly Works (ePrints)Dublin Core Application Profile for Scholarly Works (ePrints)
Dublin Core Application Profile for Scholarly Works (ePrints)Julie Allinson
 
Dublin Core Application Profile for Scholarly Works Slainte
Dublin Core Application Profile for Scholarly Works SlainteDublin Core Application Profile for Scholarly Works Slainte
Dublin Core Application Profile for Scholarly Works SlainteJulie Allinson
 
Resource discovery and information sharing: reaching the 2.0 turn
Resource discovery and information sharing: reaching the 2.0 turnResource discovery and information sharing: reaching the 2.0 turn
Resource discovery and information sharing: reaching the 2.0 turn
Bonaria Biancu
 
Repositories and the wider context
Repositories and the wider contextRepositories and the wider context
Repositories and the wider contextJulie Allinson
 
Eprints Application Profile
Eprints Application ProfileEprints Application Profile
Eprints Application Profile
Eduserv Foundation
 
Repositories thru the looking glass
Repositories thru the looking glassRepositories thru the looking glass
Repositories thru the looking glass
Eduserv Foundation
 
OOP programming for engineering students
OOP programming for engineering studentsOOP programming for engineering students
OOP programming for engineering students
iaeronlineexm
 
A Dublin Core Application Profile for Scholarly Works (eprints)
A Dublin Core Application Profile for Scholarly Works (eprints)A Dublin Core Application Profile for Scholarly Works (eprints)
A Dublin Core Application Profile for Scholarly Works (eprints)Julie Allinson
 
Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!tedbow
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1Asad Khan
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
Robert J. Stein
 
Dcap Ja Progmeet 2007 07 05
Dcap Ja Progmeet 2007 07 05Dcap Ja Progmeet 2007 07 05
Dcap Ja Progmeet 2007 07 05
Julie Allinson
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Julie Allinson
 
SWAP : A Dublin Core Application Profile for desribing scholarly works
SWAP : A Dublin Core Application Profile for desribing scholarly worksSWAP : A Dublin Core Application Profile for desribing scholarly works
SWAP : A Dublin Core Application Profile for desribing scholarly worksJulie Allinson
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
Greg Sohl
 
Happy Content Creators
Happy Content CreatorsHappy Content Creators
Happy Content Creators
Eric Aitala
 

Similar to Building a Bibliography (20)

The Eprints Application Profile: a FRBR approach to modelling repository meta...
The Eprints Application Profile: a FRBR approach to modelling repository meta...The Eprints Application Profile: a FRBR approach to modelling repository meta...
The Eprints Application Profile: a FRBR approach to modelling repository meta...
 
Drupal 7 entities & TextbookMadness.com
Drupal 7 entities & TextbookMadness.comDrupal 7 entities & TextbookMadness.com
Drupal 7 entities & TextbookMadness.com
 
Intro to Angular.JS Directives
Intro to Angular.JS DirectivesIntro to Angular.JS Directives
Intro to Angular.JS Directives
 
Eprints Special Session - DC-2006, Mexico
Eprints Special Session - DC-2006, MexicoEprints Special Session - DC-2006, Mexico
Eprints Special Session - DC-2006, Mexico
 
Dublin Core Application Profile for Scholarly Works (ePrints)
Dublin Core Application Profile for Scholarly Works (ePrints)Dublin Core Application Profile for Scholarly Works (ePrints)
Dublin Core Application Profile for Scholarly Works (ePrints)
 
Dublin Core Application Profile for Scholarly Works Slainte
Dublin Core Application Profile for Scholarly Works SlainteDublin Core Application Profile for Scholarly Works Slainte
Dublin Core Application Profile for Scholarly Works Slainte
 
Resource discovery and information sharing: reaching the 2.0 turn
Resource discovery and information sharing: reaching the 2.0 turnResource discovery and information sharing: reaching the 2.0 turn
Resource discovery and information sharing: reaching the 2.0 turn
 
Repositories and the wider context
Repositories and the wider contextRepositories and the wider context
Repositories and the wider context
 
Eprints Application Profile
Eprints Application ProfileEprints Application Profile
Eprints Application Profile
 
Repositories thru the looking glass
Repositories thru the looking glassRepositories thru the looking glass
Repositories thru the looking glass
 
OOP programming for engineering students
OOP programming for engineering studentsOOP programming for engineering students
OOP programming for engineering students
 
A Dublin Core Application Profile for Scholarly Works (eprints)
A Dublin Core Application Profile for Scholarly Works (eprints)A Dublin Core Application Profile for Scholarly Works (eprints)
A Dublin Core Application Profile for Scholarly Works (eprints)
 
Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!Entities, Bundles, and Fields: You need to understand this!
Entities, Bundles, and Fields: You need to understand this!
 
Hibernate Training Session1
Hibernate Training Session1Hibernate Training Session1
Hibernate Training Session1
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Dcap Ja Progmeet 2007 07 05
Dcap Ja Progmeet 2007 07 05Dcap Ja Progmeet 2007 07 05
Dcap Ja Progmeet 2007 07 05
 
Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29Swap For Dummies Rsp 2007 11 29
Swap For Dummies Rsp 2007 11 29
 
SWAP : A Dublin Core Application Profile for desribing scholarly works
SWAP : A Dublin Core Application Profile for desribing scholarly worksSWAP : A Dublin Core Application Profile for desribing scholarly works
SWAP : A Dublin Core Application Profile for desribing scholarly works
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 
Happy Content Creators
Happy Content CreatorsHappy Content Creators
Happy Content Creators
 

Recently uploaded

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

Building a Bibliography

  • 1. Building a Bibliography Via Entity References and Views Thursday, June 27, 13
  • 2. Bio Eric Aitala Earth and Space Science Partnership - College of Earth & Mineral Science ema13@psu.edu @aitala Drupal dev since 2006 Thursday, June 27, 13
  • 3. Entities Introduced in D7 An entity is a collection of information which is fieldable. Examples Node Comments Users Taxonomy vocabulary & taxonomy term File Thursday, June 27, 13
  • 4. Entities Entity Type - Node, User, File Bundle - Article, Basic Page Field(s) - Body, text field, date field Entity - A specific instance of an entity type or bundle i.e. example.com/node/27 Stores data (properties) in the database. Fields provide additional properties to extend the default bundle(s). Thursday, June 27, 13
  • 6. Citation Example A publication Contains a title, author(s), an abstract, a publication date, etc. Why not use Biblio module? Its wonky... Create a content type for it.... Thursday, June 27, 13
  • 7. Author Field The author field can be quite complicated... Thursday, June 27, 13
  • 8. Author Field If I was in a hurry... Plain text field Infinite instances Thursday, June 27, 13
  • 9. But..... ... you may not get what you expect. I’ve done this once.... ... bad idea. Thursday, June 27, 13
  • 10. There is a better way... Thursday, June 27, 13
  • 11. Entity Reference Entity reference module https://drupal.org/project/entityreference It provides a field which allows one entity to refer to another... aka, a specific node can point, via a link for example, to another node. Integrates with Views, Feeds, and Migrate module Thursday, June 27, 13
  • 12. Citation Example, v2 Instead of having a plain text field, create two content types Citation Title, abstract, etc. Citation Author Name, degrees, affiliation, etc. Then have the Citation do an Entity Reference to the Citation Author(s) Thursday, June 27, 13
  • 14. Citation Example, v2 Add a field to the Citation type to the Citation Author type. Thursday, June 27, 13
  • 16. Citation Example, v2 In my real world case, I have the Citation type refer to Citation Author type which in turn may refer to a User entity! Thursday, June 27, 13
  • 18. Modules Entity API Functionality not included in D7 core CRUD functionality, etc. (You really need this module!) https://drupal.org/project/entity Entity Reference https://drupal.org/project/entityreference Entity Reference Dynamic Select Widget https://drupal.org/project/entityreference_dynamicselect_widget References dialog - adds the create & edit inline links https://drupal.org/project/references_dialog Thursday, June 27, 13
  • 19. Now... Views....? How do we handle things like entity references in Views? Under the Views ‘Advanced’ tab... Contextual Filter Relationships Thursday, June 27, 13
  • 20. Now... Views....? Contextual Filter “Contextual Filters (known in previous versions of Views as "Arguments") are input. While they often come from the URL, they don't always. Don't be shocked when they don't. Each display type may have its own source for contextual filters.” Thursday, June 27, 13
  • 21. Now... Views....? Relationships “Relationships allow you to expand the query to include objects other than the base query.” “The main example of the relationship that is there by default is the node --> user relationship; every node has an author, and if a node is in the query, the user who wrote that node is automatically made available.” Thursday, June 27, 13
  • 22. Now... Views....? Relationships “A similar relationship that is not automatically made available is for node revisions. Each revision has its own author, which is the user who made the revision. By adding the "Node revision: User" relationship, all of the 'user' fields, sorts, filters and arguments available to a user will now be available for the revision author.” Thursday, June 27, 13
  • 23. What does that mean? Contextual Filter Has query/filter terms in the URL (usually) http://example.com/events/2013/6/25 Relationships Exploit a default relationship - node and node author Create a relationship between entities - a file and the node it is attached to, or vice versa Thursday, June 27, 13