SlideShare a Scribd company logo
1 of 64
Bending Open Atrium to
your will!
Jeff Miccolis, Development Seed
Bending Open Atrium to
your will!
Twitter: @miccolis, @developmentseed
Open Atrium Co-maintainer
Twitter: @open_atrium
Give you want you need to
write your own feature.
My goal.
There is a lot to know!
My worry.
Expose you to the hard
problems
My approach.
Pretend you‟re all *nix
users
My approach.
...that you know Drupal
My approach.
...and that you‟ve used
features and context before
My approach.
1. Quick overview of OA
2. Configuration
3. Groups & access control
4. Building a new feature
5. Pitfalls & resources.
Agenda.
Quick overview
Part 1.
What Open Atrium does
already.
quick demo.
French
                Hebrew
 Hungarian
                       Portuguese / Portugal
             Swedish
Spanish                       Russian
             30+ languages
  Catalan                           Arabic
             Danish    Brazilian Portuguese

   Italian       Japanese
                             German
Time tracking!
A “real” wiki!
Maps!
Gantt Charts!
Solr powered search!
Alfresco powered DM!
News Aggregation!
The kinds of features you can add.
News Aggregation!
The feature we‟ll add today.
RSS+ATOM
Feeds per-group
Three categories
Atrium Reader
http://code.developmentseed.org/atrium_reade
r
quick demo.
People organized into
groups.
How Open Atrium expects to be used.
Is your feature useful to
people organized into
groups?
Question.
Yes, we‟re twitter junkies.
Answer.
Configuration
Part 2.
What modules will we use?
Getting technical.
Where does module X
store its configuration?
Features module compatiblity.
I warned you about this
What is the features module?
Your configuration needs to
be automatic.
Why exportables?
You cannot trust a
sequential id!
Exportables are crucial.
The `term_data.tid`
problem
You cannot use taxonomy for architecture.
Alex: sets up Open Atrium
Alex: makes a “Important” tag
Alex: builds a View with a term filter
Alex: bundles it into a feature

Tom: sets up Open Atrium
Tom: posts a blog with a tag, “drupal”
Tom: downloads Alex‟s feature
Tom: has issues...
“Alex! Your feature hides
anything I tag as
IMPORTANT! WTF!?!”
A term‟s creation order determines its
sequential id. You‟ve got not control.
No.
Is there a good work around?
Exportables will guide what
modules you use and how
you build.
The short.
Any thing that uses the
core `variables` system is
supported (via strongarm)
The good.
Context module does that
What about block visibility?
I warned you about this too
What is the context module?
What needs to be
customized per group?
Spaces module compatiblity.
Our aggregator doesn‟t
need anything of this.
Spaces has a great readme.txt
Context and Strongarm are
covered.
Spaces controllers.
Groups & Access Control
Part 3.
OG powers OA‟s groups
Open Atrium uses Organic Groups.
OG controls access
Open Atrium uses Organic Groups to control
who can see what.
This is where people get
confused.
Organic Groups implements Drupal‟s
node_access hooks.
node_access is not
permissions
The node access system let‟s you control who
can view and edit an individual node.
db_rewrite_sql()
The node access system is inforced at the SQL
level.
Don‟t worry
Views does this for you and it wrote the book
on exportable configuration.
Build it already!
Part 4.
Aggregation        feeds (contrib)
Feeds              node (core)
Feed items         data (contrib)
Displays           views (contrib)
Block visibility   context (contrib)
No surprises
You knew this already.
Exportable and modular
What they have in common.
1. Tighten scope
2. Build in order
3. Use features
Three steps to a successful feature.
Limited functionality that is
useful to people in groups
Tighten scope
Start with the content
types, then fields, then
displays.
Build in order.
At every stoping point
export your changes into
code and commit
Use features.
atrium_reader.info,
atrium_reader.module,
access plugins
Hightlights
Pitfalls & Resources
Part 5.
You‟ll get burned
Surely I can work around this „exportables‟
requirement.
It‟s not obvious the first
time you see it.
I didn‟t quite get the node access stuff.
Don‟t forget about View
access plugin in Spaces
Why does the menu icon show up when the
feature isn‟t enabled?
Localization always comes
back to bite
30+ languages, eh?
Yea, you should be using
l() anyhow
I didn‟t use l() and my links don‟t work.
community.openatrium.co
m
#open_atrium
Resources
Thanks.

More Related Content

Viewers also liked

What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouJohn Pape
 
Bio Andorgal
Bio AndorgalBio Andorgal
Bio AndorgalAndor
 
Apex Apparel Power Point
Apex Apparel Power PointApex Apparel Power Point
Apex Apparel Power Pointbrittbenditz
 
Инструменты предпринимателя. Илья Королев
Инструменты предпринимателя. Илья КоролевИнструменты предпринимателя. Илья Королев
Инструменты предпринимателя. Илья КоролевMargarita Zobnina
 
Interdisciplinary Science Biosphere Student Document
Interdisciplinary Science Biosphere Student DocumentInterdisciplinary Science Biosphere Student Document
Interdisciplinary Science Biosphere Student DocumentSkills for Scientists
 
Lion Example
Lion ExampleLion Example
Lion Examplebabes0919
 
My Favorite Things
My Favorite ThingsMy Favorite Things
My Favorite Thingsguestcd284b
 
PreventDirect
PreventDirectPreventDirect
PreventDirectRob White
 
Tax Efficient Investing For Life
Tax  Efficient  Investing For LifeTax  Efficient  Investing For Life
Tax Efficient Investing For Lifeguesta5e2f9
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)John Pape
 
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5คุณครูพี่อั๋น
 
العجلة 5
العجلة 5العجلة 5
العجلة 5raniarafat
 
Blewis Session 1 Fy10 Q3 Azure
Blewis  Session 1 Fy10 Q3 AzureBlewis  Session 1 Fy10 Q3 Azure
Blewis Session 1 Fy10 Q3 AzureBrian Lewis
 
Elektronikus médiumok és tananyagok - Óravázlat
Elektronikus médiumok és tananyagok - ÓravázlatElektronikus médiumok és tananyagok - Óravázlat
Elektronikus médiumok és tananyagok - ÓravázlatJeszmás Károly
 
Apex Final Powerpoint
Apex Final PowerpointApex Final Powerpoint
Apex Final Powerpointbrittbenditz
 
DevOps <3 node.js
DevOps <3 node.jsDevOps <3 node.js
DevOps <3 node.jsJeff Miccolis
 

Viewers also liked (19)

What Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell YouWhat Your Jvm Has Been Trying To Tell You
What Your Jvm Has Been Trying To Tell You
 
Bio Andorgal
Bio AndorgalBio Andorgal
Bio Andorgal
 
Apex Apparel Power Point
Apex Apparel Power PointApex Apparel Power Point
Apex Apparel Power Point
 
Инструменты предпринимателя. Илья Королев
Инструменты предпринимателя. Илья КоролевИнструменты предпринимателя. Илья Королев
Инструменты предпринимателя. Илья Королев
 
Interdisciplinary Science Biosphere Student Document
Interdisciplinary Science Biosphere Student DocumentInterdisciplinary Science Biosphere Student Document
Interdisciplinary Science Biosphere Student Document
 
Indian Wells
Indian WellsIndian Wells
Indian Wells
 
Lion Example
Lion ExampleLion Example
Lion Example
 
My Favorite Things
My Favorite ThingsMy Favorite Things
My Favorite Things
 
PreventDirect
PreventDirectPreventDirect
PreventDirect
 
Tax Efficient Investing For Life
Tax  Efficient  Investing For LifeTax  Efficient  Investing For Life
Tax Efficient Investing For Life
 
Gov features
Gov featuresGov features
Gov features
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5
ปลายภาค คณิต ม.5 เทอม 1 ชุดที่ 5
 
العجلة 5
العجلة 5العجلة 5
العجلة 5
 
Blewis Session 1 Fy10 Q3 Azure
Blewis  Session 1 Fy10 Q3 AzureBlewis  Session 1 Fy10 Q3 Azure
Blewis Session 1 Fy10 Q3 Azure
 
The Sign - Broj 1
The Sign - Broj 1The Sign - Broj 1
The Sign - Broj 1
 
Elektronikus médiumok és tananyagok - Óravázlat
Elektronikus médiumok és tananyagok - ÓravázlatElektronikus médiumok és tananyagok - Óravázlat
Elektronikus médiumok és tananyagok - Óravázlat
 
Apex Final Powerpoint
Apex Final PowerpointApex Final Powerpoint
Apex Final Powerpoint
 
DevOps <3 node.js
DevOps <3 node.jsDevOps <3 node.js
DevOps <3 node.js
 

Similar to Bending Open Atrium to your will!

Oa2 10 tips and tricks
Oa2 10 tips and tricksOa2 10 tips and tricks
Oa2 10 tips and tricksPhase2
 
Vipul divyanshu mahout_documentation
Vipul divyanshu mahout_documentationVipul divyanshu mahout_documentation
Vipul divyanshu mahout_documentationVipul Divyanshu
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)Jorge López-Lago
 
DevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdfDevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdfVishwas N
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1benDesigning
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart JfokusLars Vogel
 
Experiences with backend user rights in TYPO3
Experiences with backend user rights in TYPO3Experiences with backend user rights in TYPO3
Experiences with backend user rights in TYPO3punkt.de GmbH
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web ApplicationMichael Choi
 
The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...Arnaud Joly
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Andrei KUCHARAVY
 
520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdf520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdfAniruddhNain1
 
Google Hacking Lab ClassNameDate This is an introducti.docx
Google Hacking Lab ClassNameDate This is an introducti.docxGoogle Hacking Lab ClassNameDate This is an introducti.docx
Google Hacking Lab ClassNameDate This is an introducti.docxwhittemorelucilla
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 

Similar to Bending Open Atrium to your will! (20)

C++ & VISUAL C++
C++ & VISUAL C++ C++ & VISUAL C++
C++ & VISUAL C++
 
Oa2 10 tips and tricks
Oa2 10 tips and tricksOa2 10 tips and tricks
Oa2 10 tips and tricks
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Vipul divyanshu mahout_documentation
Vipul divyanshu mahout_documentationVipul divyanshu mahout_documentation
Vipul divyanshu mahout_documentation
 
Open event (show&tell april 2016)
Open event (show&tell april 2016)Open event (show&tell april 2016)
Open event (show&tell april 2016)
 
DevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdfDevOps - A Purpose for an Institution.pdf
DevOps - A Purpose for an Institution.pdf
 
Raptor 2
Raptor 2Raptor 2
Raptor 2
 
Is Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic GascIs Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic Gasc
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Debugging
DebuggingDebugging
Debugging
 
Ad507
Ad507Ad507
Ad507
 
Django
DjangoDjango
Django
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
Experiences with backend user rights in TYPO3
Experiences with backend user rights in TYPO3Experiences with backend user rights in TYPO3
Experiences with backend user rights in TYPO3
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...The genesis of clusterlib - An open source library to tame your favourite sup...
The genesis of clusterlib - An open source library to tame your favourite sup...
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
 
520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdf520_DevOps Engineer Master Program Curriculum.pdf
520_DevOps Engineer Master Program Curriculum.pdf
 
Google Hacking Lab ClassNameDate This is an introducti.docx
Google Hacking Lab ClassNameDate This is an introducti.docxGoogle Hacking Lab ClassNameDate This is an introducti.docx
Google Hacking Lab ClassNameDate This is an introducti.docx
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Bending Open Atrium to your will!