Using Drupal to Build Applications Chris Porter Acquia, Inc. August 21, 2012 1.

Slides:



Advertisements
Similar presentations
Drupal in the Enterprise
Advertisements

Drupal and the Semantic Web Bill Shaouy An Introduction.
© 2011 Delmar, Cengage Learning Chapter 1 Getting Started with Dreamweaver.
SharePoint Forms All you ever wanted to know about forms but were afraid to ask.
Business Development Suit Presented by Thomas Mathews.
Become a Panels Rockstar. Audience Survey Have you tried Panels? Are you a …. –Themer / Designer? –Developer / Code Junkie? –Information Architect?
Moving stuff around on your Drupal web pages Alex Bergin / Dept. Agriculture &
DOMINATE THE THEME LAYER August 21st.. Jesper Wøldiche Rahkonen Themer / architect at Bysted. Markup Marine / Journalist / Frontend United
ESRI Geoportal Extension 10 November 2010 Out-of-the-box capabilities and additional options.
The Definition Of Crazy Insanity Chris Porter D.O netw3rker
DESIGNING A PUBLIC KEY INFRASTRUCTURE
EXtensible Catalog XC Drupal Toolkit. XC Software Overview User Interface for searching and browsing Library Website (on Drupal) VoyagerUR Research XC.
Drupal Blocks David Manela, Mark Ritzman, Chad Campbell.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
August 29, 2002InforMax Confidential1 Vector PathBlazer Product Overview.
Using the UCI templates in Cascade Server for your site. (a first glance)
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Agenda  Why Azure Resource Manager  What has already been enabled  Questions/Feedback.
SharePoint's Role in the Future of DMS and ECM for Legal.
User Profiles: I Didn’t Know I Could Do That!! Stacy L. Deere-Strole Focal Point Solutions, LLC.
© Acquia, Inc Commons 3.0 Customer Deck Transforming Digital Business with OpenWEM Name, Date.
Section 13.1 Add a hit counter to a Web page Identify the limitations of hit counters Describe the information gathered by tracking systems Create a guest.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
TOP 20 MISTAKES YOU WILL MAKE IN YOUR 1ST DRUPAL PROJECT IZTOK SMOLIČ, ZAGREB.
OM. Brad Gall Senior Consultant
Module 10: Designing an AD RMS Infrastructure in Windows Server 2008.
Drupal Training Syllabus Chaitanya Lakshmi
Alfresco.com: Farewell AVM, Hello Alfresco DM & Drupal Ian Norton |
Module 8 Configuring and Securing SharePoint Services and Service Applications.
Drupal Jumpstart Information Systems 337 Prof. Harry Plantinga.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Overview Scale out architecture Servers, services, and topology in Central Administration.
© 2008 IBM Corporation ® IBM Cognos Business Viewpoint Miguel Garcia - Solutions Architect.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Drupal Commerce Better than Uber Andrew Root: druroot.
Using Content Types to Improve Discoverability IA260 Gary Lapointe, MOSS MVP.
Dr. Mustafa Cem Kasapbaşı Security in ASP.NET. Determining Security Requirements Restricted File Types.
Drupal Overview Prepared by : Agustin D. Gumogda Jr. Instructor.
Chapter 9 View Design and Integration. © 2001 The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin Outline Motivation for view design.
Using the Right Method to Collect Information IW233 Amanda Murphy.
Module 5: Creating and Configuring Group Policies.
Master Data Management & Microsoft Master Data Services Presented By: Jeff Prom Data Architect MCTS - Business Intelligence (2008), Admin (2008), Developer.
Administrator Training Lila Bronson Training Manager, OmniUpdate.
Intro to Datazen.
Microsoft ® Official Course Structuring and Publishing Websites for All Users Microsoft SharePoint 2013 SharePoint Practice.
Module 9 User Profiles and Social Networking. Module Overview Configuring User Profiles Implementing SharePoint 2010 Social Networking Features.
Reduce, Reuse, Recycle. Housekeeping… Download EventBoard Mobile and remember to fill out session evaluations… Phasers set to stun, mobile devices set.
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
Directory Services CS5493/7493. Directory Services Directory services represent a technological breakthrough by integrating into a single management tool:
How EPA/ORD Moved to Drupal 7 Jessica Dearie U.S. EPA, Office of Research and Development Office of Science Information Management.
LAB#8 PKI & DIGITAL CERTIFICATE CPIT 425. Public Key Infrastructure PKI 2  Public key infrastructure is the term used to describe the laws, policies,
Developer Exam Preparation Thom Robbins Bryan Soltis
DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS Microsoft Exam Study Material Sponsored By:
Drupal Basics for Content Managers: Editing my Drupal Website Drupal Basics for Content Managers: Editing my Drupal Website Cynthia Mijares,
Alfresco.com: Farewell AVM, Hello Alfresco DM & Drupal Ian Norton |
Thinking of Drupal 8? Get started with the resources.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
Views: From the Beginning John Fiala Twitter: jcfiala Vintage Digital.
Justin Scheitlin Daisey Fahringer
Progress Apama Fundamentals
Patrick Desbrow, CIO & VP of Engineering October 29, 2014
CiviCRM CMS Integration
Creating Novell Portal Services Gadgets: An Architectural Overview
Microsoft Dynamics.
Getting Started with Dreamweaver
Taxonomy Terms as Organic Groups
Superior Drupal Integration for CiviCRM with a focus on Events
07 | Workflows Chris Johnson | SharePoint Guru
INFM 603 Main Class Project
Core Platform The base of EmpFinesse™ Suite.
February 11-13, 2019 Raleigh, NC.
Presentation transcript:

Using Drupal to Build Applications Chris Porter Acquia, Inc. August 21,

Chris Porter Professional Services, Acquia, Inc. 3 Yrs of Professional Acquia 7 Yrs in the Drupal Community CTR Score: 2 (yes, thats low) Drupal.org: netw3rker 2

Application vs. website An application processes information; a website presents information Applications are purpose-built Goal of application building is often intranet building, and vice-versa Distinguishing characteristics of an application: Tightly controlled access to information Very structured workflow processes Often requires integration with other systems typically ‘behind the scenes’ 3

Overview The Data Model Regulating Access Displaying the Data Dealing with Load 4

The Data Model Overview: Entity types Content relationships Entity References Understanding views Complex Fields 5

Content Types- most of the data model will consist of these Try to resist the urge to use Webform Vocabularies- used for categorizing content/data Files- static assets there are special access rules for files related to nodes The Data Model Entities are objects in the data model 6

The Data Model 7 Relevant modules: Entity Api ( Entity References ( Entity Reference Pre-populate ( Field permissions ( Entity references allow entities to be related together

8 The Data Model

9

10 The Data Model

When building, always name relationships Understand the direction of relationships Know the difference between “-ed” and “-ing” The Data Model Entity relationships are exposed as views relationships 11

12 The Data Model

13 The Data Model

Relevant modules: Field_group_multiple Field_collections (beware of: Complex fields have combinations of attributes not supplied by core 14

15 The Data Model Field group multiple:

16 The Data Model Field collections:

Regulating Access Overview: Connecting with common user stores Controlling user access to content Organizational heirarchy Role-based heirarchy Access control in an application can be difficult because information is typically restricted to different user groups 17

Regulating Access Connecting with external user stores Most common: LDAP/ Active Directory(AD) Frequent ask: CAS Little known: Siteminder Other user stores An application can connect to different directories of users 18

Regulating Access Organizational hierarchy is the most common access regulation requirement I recommend Organic Groups for this 99.99% of the time. TAC for other.01% It’s confusing, but use 7.x-2.x-dev. You will definitely need Field Permissions If you want subgroups, use OG Subgroups (soon) 19

Organic groups: OG config Regulating Access 20

Regulating Access Taxonomy Access Control (TAC) upside: *really* good at hierarchical access because it follows taxonomy trees downside: administration screens can be somewhat difficult to follow, but its getting better. 21

Regulating Access Role-based hierarchy is the second-most common access regulation requirement Common in publishing platforms Try Workflow module (PS: workflow for D7, you guys are awesome!) Other assignment systems: User Access 22

Worst-Case Scenario Combining multiple systems together Remember: Access Granting Systems “OR” together If you need AND, write your own, or push the “module grants” project to get a D7+ branch going. Regulating Access 23

Displaying the Data Use the Views API when writing code. This will allow you to leverage existing - already integrated - display logic Views are exportable through features Watch Bevan’s presentation on views: developers-architectural-overview Views is a query machine with a great presentation layer. 24

Use panels to combine View displays Displaying the Data Panels have entity relationships, make sure to exercise these Views do not need to be blocks, enable the CTools “views content panes” module FTW Use the “content edit” template to make better input/edit screens Use the content view template to make better visualized screens 25

26 Displaying the Data

27 Displaying the Data Panels can override the node add/edit form:

Displaying the Data 28 Ingredients: 1 panel 4 content types 15 fields 4 views

Displaying the Data Views, Panels, and Context enable data to be displayed in meaningful ways Views Is key (no matter what they say) Combine elements onto a screen using Panels (no matter what they say) Use Context to supply... context 29

Displaying the Data Use views to make data accessible to other systems. Relevant modules: Views Datasource Services 30

Eat Your Own Dogfood Displaying the Data Act as your users when building displays. Do this *before* writing corrective code Use rules, views_rules, and views bulk operations to add automation to the user experience 31

Scaling It all Dealing with Load 32 Cache Everything Cache that stuff Profile, Profile, Profile

Caching Dealing with Load 33 Use APC and Memcache. Cache your views and panels displays as much as possible Use drupal page caching

34 Dealing with Load Views caching options:

Dealing with Load 35 Caching the Cache Page level caching should be used, even if 100% authenticated traffic. Just reduce per-user customizations. ESI’s are possible. ESI’s are panel context aware for rich customization. They are also mostly made of magic

Dealing with Load 36

Profile your Application Dealing with Load 37 Watch Mark Sonnabaum’s tutorials on how to use XHProf Use XHProf Use devel’s query reporting Profile Tools for profiling: XHPROF Devel New Relic

38 Dealing with Load New Relic: 50s! 15s! Real_path_cache fix Local doc root fix 300ms

39 THINK Think the application though. Fix things that are broken. Don’t write code. Drink beer. win!

Thanks! Questions? 40 Acknowledgements The Drupalcon Team Acquia, Inc. WHOI BioRAFT All of my secret clients Mark Sonnabaum