This document summarizes the key differences between how data is represented in Drupal 6 vs Drupal 7, and provides an overview of entities, entity types, bundles, and fields in Drupal 7. It then discusses how to define a custom entity type using the Entity API module, including implementing hook_schema(), hook_entity_info(), and hook_entity_property_info(). Finally, it provides an example of defining a custom "Offer" entity type to store product pricing information from third party APIs.
Presentation I gave at the Berkeley Drupal Users Group on February 27, 2012 covering entities in Drupal 7 including entity types, bundles, fields, nodes, the Entity API and the Schema API. I use TextbookMadness.com as an example of how to leverage entities.
Click on my name to find a newer (better!) version of these slides.
Drupal Entities - Emerging Patterns of UsageRonald Ashri
Entities are a powerful architectural approach and tool introduced in Drupal 7 - in this presentation I explain what they are and how they can be used with references to examples of how entities are used already.
Con la versione 7 di Drupal è stato introdotto il concetto di Entity, poi evoluto con la versione 8, utilizzato come base di buona parte degli elementi core (nodi, tassonomie, utenti, ...), ma - soprattutto - è stata data la possibilità di costruire entity custom. L'utilizzo di queste apre le possibilità di personalizzazione dello strumento ad un livello superiore velocizzando notevolmente lo sviluppo.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Presentation I gave at the Berkeley Drupal Users Group on February 27, 2012 covering entities in Drupal 7 including entity types, bundles, fields, nodes, the Entity API and the Schema API. I use TextbookMadness.com as an example of how to leverage entities.
Click on my name to find a newer (better!) version of these slides.
Drupal Entities - Emerging Patterns of UsageRonald Ashri
Entities are a powerful architectural approach and tool introduced in Drupal 7 - in this presentation I explain what they are and how they can be used with references to examples of how entities are used already.
Con la versione 7 di Drupal è stato introdotto il concetto di Entity, poi evoluto con la versione 8, utilizzato come base di buona parte degli elementi core (nodi, tassonomie, utenti, ...), ma - soprattutto - è stata data la possibilità di costruire entity custom. L'utilizzo di queste apre le possibilità di personalizzazione dello strumento ad un livello superiore velocizzando notevolmente lo sviluppo.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Top Ten Reasons to Use EntityFieldQuery in DrupalFredric Mitchell
Drupal 7 introduced a great class, EntityFieldQuery (EFQ), to easily grab information from entities that was not available in Drupal 6.
This session will explore why you should be already using EFQ in your development practices. We'll also review how to use it and explore it's relationship with Drupal view modes and block entities (Beans).
This session will also explore comparisons with Views, and how EFQ should replace some of the common development practices using Views as a query tool.
EFQ Top Ten
Core
Well Documented
Simple
Consumable
Object-Oriented
Extensible
Alterable
Exception Handling
View Modes
Beans
Drupal is a content management system and a web development platform. With a small set of core modules and a large ecosystem of community contributed modules, it can be used fro a variety of use cases including corporate intranets, social web applications, online publishing, and education or government websites. In this talk, we’ll cover the benefits of using Drupal for developers, and how to use and extend Drupal as a web development framework.
Besides being open source and having an active development-driven community, Drupal has many architectural advantages. We’ll discuss these benefits including the hook system, separation of theme and module layers, the emphasis on flexible content architecture, the database integration layer, and Drupal’s coding standards. We’ll also introduce some tools to get you started on the right track, improve the performance of your Drupal projects, and avoid mistakes.
RequireJS & Handlebars
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
From CCK to Entities in Drupal: New Power ToolsRyan Price
Drupal 7 introduced a new layer of abstraction - Entities. We are familiar with Nodes and Node Types, and all the power and flexibility we got from those in past versions of Drupal. However, adding new data models was not very attractive in old versions because of the power of tools like CCK and Views - Nodes were the king of all data types. Now Entities allow us to (somewhat) easily create new entity types or add "bundles" to existing types, and all Entities may now also have "Fields", which is the new name for CCK in Drupal Core. In this session, you'll get a brief history of some old-school solutions to common problems in Drupal, and the modern Entity-based solutions based on Taxonomy Terms, Users, Comments, Media and new types as-of-yet unimagined.
Rich storytelling with Drupal, Paragraphs and Islandora DAMS (DrupalCamp Brig...Cogapp
Drupal's Paragraphs module, combined with a DAMS (Digital Asset Management System) can deliver powerful, rich stories on the web.
This session will show how, showing the inner workings of the Baseball Hall of Fame (baseballhall.org) website as a case study. This site uses Drupal with the Islandora DAMS to leverage the Baseball Hall of Fame's huge archive of images.
Topics covered:
- Building flexible content types using the Paragraphs module
- Multifaceted display of content using view modes
- DAMS & integrating Islandora assets with Drupal content
First presented at DrupalCamp Brighton in January 2015, by Alex Bridge and Tassos Koutlas.
Top Ten Reasons to Use EntityFieldQuery in DrupalFredric Mitchell
Drupal 7 introduced a great class, EntityFieldQuery (EFQ), to easily grab information from entities that was not available in Drupal 6.
This session will explore why you should be already using EFQ in your development practices. We'll also review how to use it and explore it's relationship with Drupal view modes and block entities (Beans).
This session will also explore comparisons with Views, and how EFQ should replace some of the common development practices using Views as a query tool.
EFQ Top Ten
Core
Well Documented
Simple
Consumable
Object-Oriented
Extensible
Alterable
Exception Handling
View Modes
Beans
Drupal is a content management system and a web development platform. With a small set of core modules and a large ecosystem of community contributed modules, it can be used fro a variety of use cases including corporate intranets, social web applications, online publishing, and education or government websites. In this talk, we’ll cover the benefits of using Drupal for developers, and how to use and extend Drupal as a web development framework.
Besides being open source and having an active development-driven community, Drupal has many architectural advantages. We’ll discuss these benefits including the hook system, separation of theme and module layers, the emphasis on flexible content architecture, the database integration layer, and Drupal’s coding standards. We’ll also introduce some tools to get you started on the right track, improve the performance of your Drupal projects, and avoid mistakes.
RequireJS & Handlebars
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013.
http://www.ivanomalavolta.com
From CCK to Entities in Drupal: New Power ToolsRyan Price
Drupal 7 introduced a new layer of abstraction - Entities. We are familiar with Nodes and Node Types, and all the power and flexibility we got from those in past versions of Drupal. However, adding new data models was not very attractive in old versions because of the power of tools like CCK and Views - Nodes were the king of all data types. Now Entities allow us to (somewhat) easily create new entity types or add "bundles" to existing types, and all Entities may now also have "Fields", which is the new name for CCK in Drupal Core. In this session, you'll get a brief history of some old-school solutions to common problems in Drupal, and the modern Entity-based solutions based on Taxonomy Terms, Users, Comments, Media and new types as-of-yet unimagined.
Rich storytelling with Drupal, Paragraphs and Islandora DAMS (DrupalCamp Brig...Cogapp
Drupal's Paragraphs module, combined with a DAMS (Digital Asset Management System) can deliver powerful, rich stories on the web.
This session will show how, showing the inner workings of the Baseball Hall of Fame (baseballhall.org) website as a case study. This site uses Drupal with the Islandora DAMS to leverage the Baseball Hall of Fame's huge archive of images.
Topics covered:
- Building flexible content types using the Paragraphs module
- Multifaceted display of content using view modes
- DAMS & integrating Islandora assets with Drupal content
First presented at DrupalCamp Brighton in January 2015, by Alex Bridge and Tassos Koutlas.
Con la versione 7 di Drupal è stato introdotto il concetto di Entity.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Relatore: Marco Vito Moscaritolo
Webinar: Build an Application Series - Session 2 - Getting StartedMongoDB
This session - presented by Matthew Bates, Solutions Architect & Consulting Engineer at MongoDB - will cover an outline of an application, schema design decisions, application functionality and design for scale out.
About the speaker
Matthew Bates is a Solutions Architect in the EMEA region for MongoDB and helps advise customers how to best use and make the most out of MongoDB in their organisations. He has a background in solutions for the acquisition, management and exploitation of big data in government and public sector and telco industries through his previous roles at consultancy firms and a major European telco. He's a Java and Python coder and has a BSc(Hons) in Computer Science from the University of Nottingham.
Next in the Series:
February 20th 2014
Build an Application Series - Session 3 - Interacting with the database:
This webinar will discuss queries and updates and the interaction between an application and a database
March 6th 2014
Build an Application Series - Session 4 - Indexing:
This session will focus on indexing strategies for the application, including geo spatial and full text search
March 20th 2014
Build an Application Series - Session 5 - Reporting in your application:
This session covers Reporting and Aggregation Framework and Building application usage reports
April 3th 2014
Operations for your application - Session 6 - Deploying the application:
By this stage, we will have built the application. Now we need to deploy it. We will discuss architecture for High Availability and scale out
April 17th 2014
Operations for your application - Session 7 - Backup and DR:
This webinar will discuss back up and restore options. Learn what you should do in the event of a failure and how to perform a backup and recovery of the data in your applications
May 6th 2014
Operations for your application - Session 8 - Monitoring and Performance Tuning:
The final webinar of the series will discuss what metrics are important and how to manage and monitor your application for key performance.
From August 30, 2010 presentation at ZF NYC Meetup. I gave a presentation on why to use Doctrine, the problems it can solve, how to use it, and some basics of integrating it with the Zend Framework.
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. The session will demonstrate how to create and consume these new technologies from the ground up and focus on database modeling including views and stored procedures along with coding against the model via LINQ. Dynamic data website will also be demonstrated. Lots of code! Make sure to attend Part 2.
Building nTier Applications with Entity Framework Services (Part 1)David McCarter
Learn how to build real world nTier applications with the new Entity Framework and related services. With this new technology built into .NET, you can easily wrap an object model around your database and have all the data access automatically generated or use your own stored procedures and views. The session will demonstrate how to create and consume these new technologies from the ground up and focus on database modeling including views and stored procedures along with coding against the model via LINQ. Dynamic data website will also be demonstrated.
Synapse India Reviews About:
Functional/procedural programming:
program is a list of instructions to the computer
Object-oriented programming
program is composed of a collection objects that communicate with each other
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
2. About Me
Founder & Chief Solutions Architect
@ Modern Biz Consulting in Oakland
Strong development background
Working with Drupal since 2006
Developer, architect, project manager
Focus on complex web application development
3. Agenda
Ways we represent data in D6 vs D7
Entities, entity types, & bundles
Fields (formerly CCK)
The Entity API contrib module
How (and why) to define a custom entity
Using EntityFieldQuery
Defining entity property info
Leveraging the Entity Metadata Wrapper
4. Poll
Who here is...
– Brand new to Drupal?
– A site builder?
– A module developer?
– On the business side of things?
Who here has...
– Created a custom D7 entity?
– Not created a custom D7 entity?
5. D6 Data
(Custom database table)
User
Comment
File
Taxonomy vocabulary
Taxonomy term
Node
– Page, Blog post, (custom content type)
6. D7 Data
(Custom database table)
Entity
– User
– Comment
– File
– Taxonomy vocabulary
– Taxonomy term
– Node
• Page, Blog post, (custom content type)
(Custom entity type)
7. Entity Types
Elemental building block for most important data in
Drupal 7
Represents a concept or noun
Different types store different data
– Generally in a single DB table
– Eg: Node
• Title, body, created timestamp, etc.
– Eg: User
• Username, created timestamp, last visit timestamp, etc.
Defined using hook_entity_info()
8. Entity
Instance of an entity type
Examples of entities from core:
– The user jdleonard with uid 80902
– The page “Drupal Rocks” with nid 44
Any entity can be loaded with entity_load()
– Eg: entity_load(‘node’, array(44, 65))
• Returns an array with two nodes with nids 44 and 65
– Core provides some convenience wrappers
• Eg: node_load() and user_load()
9. Entity Bundles
Subtype of an entity
Eg: Page and Blog post
– Two content types (bundles) of node entity type
Not all entity types have more than one bundle
– Eg: User
• No subtypes; concept stands on its own
10. Why We Need Entity Bundles
Each entity type stores some data in a table
– We call these pieces of data “properties”
– Eg: node
• Title, body, author (uid), created timestamp
• But not all nodes are created equal
– Page may have data beyond that captured by node
– Blog posts get tagged
– We need fields!
11. CCK: Content Construction Kit (D6)
Contrib module
Store additional data per content (node) content type
Eg: Fivestar
– Contrib module leveraging contrib CCK API
– Allows nodes to be rated (think 1-5 stars)
– Eg: let users rate pages or blog posts
12. Fields (D7)
Core concept
Store additional data per entity type
Applies power of CCK to all entity types
– Not just nodes!
Eg: Fivestar
– Contrib module leveraging core Field API
– Allows entities to be rated
– Eg: let users rate pages, blog posts, users, comments,
custom entities
13. Entities in Core vs Contrib
Entities are a Drupal 7 core concept
Core provides the “Entity API”
– Functions and hooks to define and interact with
entities, entity types, and entity bundles
Everything we've discussed so far is part of Drupal 7
core (no contrib modules necessary)
Not everything “made it into” D7 core
– Thankfully there's the “Entity API” contrib module
• (confusingly named)
14. Entity API Contrib Module
Makes dealing with entities easier
Provides full CRUD functionality
– CReate, Update, and Delete
Allows definition of metadata about entities
Optionally makes entity data
– Exportable (for configuration)
– Revisionable (eg: node revisions)
Optional administrative UI for managing entities
Object-oriented representation of entity types
15. Core or contrib Entity API?
Documentation for core's Entity API is separate
from that for the Entity API contrib module
In practice, you'll probably always use the Entity
API contrib module
– It provides so much awesome functionality!
Don't get confused
– Always install the Entity API contrib module when
defining an entity
– Make sure to read the contrib module's
documentation
16. Contrib Modules Defining Entities
Commerce
– Commerce Product, Commerce Payment Transaction
Organic Groups
– OG Membership, OG Membership Type
Rules
– Rules Configuration
Message (think activity stream)
– Message, Message Type, Message Type Category
… and many more!
17. Example Custom Entity Type
TextbookMadness.com
– Classified listings for textbooks at schools
– Online price comparison shopping (prices from
Amazon, Textbooks.com, etc.)
Online prices are
– Fetched from a third-party API and stored by Drupal
– Hereafter known as Offers
18. How Shall we Define an Offer?
We could use the UI to define an offer node with a
bunch of fields to store pricing information
But there's a lot of overhead!
– Don't need/want a page (path) per offer
– Don't need/want revisions
– Don't need/want node base table information
• Language (and translation info), Title, Author,
Published status, Created date, Commenting,
Promoting, etc.
– Don't need/want UI for adding, editing, etc.
We want an entity!
24. Entity Property Info
hook_entity_property_info()
– Defines entity metadata
– Provided for core entities
Enables all kinds of great functionality in modules
that leverage the Entity API contrib module
– Examples coming later
25. Entity Property Info
Automatically generated from hook_schema()
– Doesn't understand foreign key relationships
(references)
– Doesn't know when an integer is actually a date (eg:
unix timestamps)
We can fill in the gaps with
hook_entity_property_info_alter()