 Hooks, tokens, rules, elements, plugins Developing for Drupal the “right” way “I know a way” (c) Saul Berrenson.

Slides:



Advertisements
Similar presentations
White House New Media & Open Source Software Macon Phillips White House New Media.
Advertisements

WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Become a Panels Rockstar. Audience Survey Have you tried Panels? Are you a …. –Themer / Designer? –Developer / Code Junkie? –Information Architect?
Internet Applications Development Lecture 2 L. Obead Alhadreti.
DOMINATE THE THEME LAYER August 21st.. Jesper Wøldiche Rahkonen Themer / architect at Bysted. Markup Marine / Journalist / Frontend United
Internet Technologies. CMS A content management system (CMS) is a system used to manage the content of a Web site.
REQUIREMENTS Before starting, these requirements should be met: Service Body Requirements Trusted Servant Requirements Server/ISP Requirements Budget.
SmartSoft Network Solutions, Inc.  Project Presentation  21/12/2005.
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Comparing Drupal Taking a look at Drupal for your Open Source CMS platform.
Materials and Lighting in MeshShop CMPS 160 Assignment 4.
Drupal Create a website/web app quickly with this Content Management System Jiaying Xu Spring 2011 COMS E6125 Web-enHanced Information.
Why choose Drupal?
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Why choose Drupal?
Peoplesoft: Building and Consuming Web Services
Content Management Systems Why to use. And, if you’re going to use one, which one???
AgriDrupal - a “suite of solutions” for agricultural information management and dissemination, built on the Drupal CMS; - the community of practice around.
Build a CMS Website. The topics this chapter covers are: What is CMS ? What you can do with CMS The benefits and disadvantages of using a content management.
Sahil Narang What is CMS? A content management system (CMS) is a computer application that allows publishing, editing and modifying content,
Content Management Systems A content management system is software that loads on your web host’s server and manages all content on your web site dynamically.
Drupal 7 as an enterprise web application framework Why as a developer you should use Drupal to build web applications? Klaus Harris DrupalCon Munich 2012.
Web Content Management Systems. Lecture Contents Web Content Management Systems Non-technical users manage content Workflow management system Different.
Exploring OpenSource CMS Laura Huisinga. CMS = Content Management System "A system that lets you apply management principles to content.” A website that.
Introduction to content management systems BTM 395: Internet Programming.
Computer Concepts 2014 Chapter 7 The Web and .
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
CIT 256 Organizing Large Websites: Divs, DW Templates Dr. Beryl Hoffman.
Different ways to implement CSS. There are four different ways to use CSS in your web pages: – Inline CSS – Embedded CSS/Internal CSS – Linked CSS/External.
Robert Vitolo CS430.  CSS (Cascading Style Sheets)  Purpose: To provide a consistent look and feel for a set of web pages To make it easy to update.
Drupal Training Syllabus Chaitanya Lakshmi
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Intro to Dreamweaver Webmaster 1 – Mrs. Sanchez. Agenda Daily Objective Starting the Program Setting up a site in Dreamweaver Adding a page Home page.
Nonprofit? There's an App for That! Drupal Modules for Activism, Donations and other Nonprofit #NYCCamp Benjamin J. Kallos iMediaEDGE
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Intro to Dreamweaver Web Design Section 7-1 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course.
Linux Audio Mangler Project Final Presentation Yu Chong Hector Urtubia Tony Zuliani.
Content Management Systems Week 14 LBSC 671 Creating Information Infrastructures.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Nuclear Information Section FIBRE+ Latest developments Lubomir Iliev.
Drupal 6 Theme System Architecture –Theme Templates –Theme Engines –Theme Hooks What’s New –Theme registry –Theme Inheritance –Modules & Themes speak!
Drupal 7 LDAP Project Overview with Authentication and Authorization Examples
What’s New in WatchGuard XCS v9.1 Update 1. WatchGuard XCS v9.1 Update 1  Enhancements that improve ease of use New Dashboard items  Mail Summary >
Marcus Barnes, Simon Fraser University, June 2, 2012 Drupal with CONTENTdm Digital Collections.
Introduction to Module Development John Fiala and Ezra Barnett Gildesgame.
Experience in Drupal, Nginx and Varnish Project manager i20.biz company Ruslan Isay.
8th Sakai Conference4-7 December 2007 Newport Beach POCS – Content Sequencing for Sakai Mark J. Norton Nolaria Consulting.
Content Management Systems Jenny Owens & Nick Owens.
JSON and A Comparison of Scripts. JSON: JavaScript Object Notation Based on a subset of the JavaScript Programming Language provides a standardized data.
INTRODUCTION TO CSS. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features of CSS Features of CSS  Creating Style Sheet Creating Style Sheet.
WORDPRESS IS IT EASY FOR ME ?. WHY should I use WordPress ?
GLM 07/05/2002 A. Kosmicki, E.Sánchez-Corral, F. Skaar 1 ST Web Re-engineering Progress Report Organization Strategy. Objectives Status: design, development.
David Lawrence 7/8/091Intro. to PHP -- David Lawrence.
Drupal Workshop Introduction to Drupal Part 2: User/role management, Choosing/installing contributed modules, Transferring a site between servers.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
INFM 700 Project 3 (Aqua) - Akashdeep Ray - Arnaud Lawson - Neha AR - Vidisha Vedvyas.
Thinking of Drupal 8? Get started with the resources.
CSS Cascading Style Sheets Prepared By
Building Drupal sites using CCK, Views and Panels Khalid Baheyeldin Drupal Camp, Toronto May 11-12, 2007
Introduction To Simple WordPress Plugin Development
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
Basics of Drupal for Researchers, part 3
Programming by a Sample: Rapidly Creating Web Applications with d.mix
Drupal Joomla & Wordpress
Content Management Systems
Importance of logs in custom development
Drupal 8: Twig and Component Libraries
Styling Individual Tags
Presentation transcript:

 Hooks, tokens, rules, elements, plugins Developing for Drupal the “right” way “I know a way” (c) Saul Berrenson

Who am I?  Head of Web-development for Axel Springer Russia  Author of 20+ contrib modules  Maintainer of several other contrib modules  Module application reviewer  Recently a father to a cute daughter Anastasia

Plan first, code second  You should know the code flow before writing anything  Plan for flexible and light architecture  Think about exposed APIs your module would need

Utilize Drupal’s best parts  Drupal is really good in text filtering, but only server-side (PHP code)  Paste Format uses Drupal text filtering features to filter the pasted text (and you rule what actually gets filtered and what stays in your content)

Tokens  Expose your module information to other modules  Examples  HybridAuth and uLogin modules use it to expose social information

Rules  Rules are ruling  Power and flexibility  Examples  HybridAuth and uLogin  Yandex Webmaster Original Texts

Views Bulk Operations  Batch API  Queue  Very useful for content manipulations  You just need to code the actual changes

Elements  Easy to reuse in any renderable array  #properties to control your element  Study drupal_render() to understand the rendering flow  ‘#pre_render’ is really powerful

Plugins  Views, Panels use it – and you should  Flexible architecture  Eases maintenance and support (Image Editor)  Allows other developers to extend your module  Drupal 8 does the same

What a plugin is?  Array of properties utilized by another module  Properties may be function callbacks

 Most popular content Module design example

Most popular content  Always fresh statistics  By day, week, month  By content section on our site  No load on our servers  Is there a module for that?

Thank you!