TOP 20 MISTAKES YOU WILL MAKE IN YOUR 1ST DRUPAL PROJECT IZTOK SMOLIČ, 8. 12. ZAGREB.

Slides:



Advertisements
Similar presentations
Become a Panels Rockstar. Audience Survey Have you tried Panels? Are you a …. –Themer / Designer? –Developer / Code Junkie? –Information Architect?
Advertisements

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
July 2010 D2.1 Upgrading strategy Javier Soto Catalog Release 3. Communities.
Ruby on Rails Model of MVC. Model-View-Controller Paradigm A way of organizing a software system Benefits: Isolation of business logic from the user interface.
Seattle Drupal Clinic Introduction to Drupal and Web Content Management.
Customizing your Theme Information Systems 337 Prof. Harry Plantinga.
By Alex Loescher Robert Partch and Robert Pimentel 1.
Drupal Blocks David Manela, Mark Ritzman, Chad Campbell.
1 Chapter 12 Working With Access 2000 on the Internet.
Web Tailor Basics.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Making Accessible Drupal Sites Rick Ells UW Technology.
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
Web Client/Server Communication A290/A590, Fall /09/2014.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
The Dr ü G Book: An Intro to Drupal The Dr ü G Book: An Intro to Drupal (Dr ü G: Drupal User ’ s Group - users, not developers) This is an introduction.
Justin Klein Keane Drupal Training Session 1 Introduction to Drupal.
Drupal Workshop Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology, Drupal technology, directories.
Drupal and the CMS Project. Lesson Learned #1 Keep your modules updated, especially when there are security concerns in the update notes 2010 | The Sky’s.
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.
Hook, Drush, and Alters Oh Mai! Bryan Ollendyke.
Installing CiviCRM onto Wordpress. How does it work?
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Drupal in Use at Duke Duke Web Services Office of Information Technology.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
Using Dreamweaver. Slide 1 Dreamweaver has 2 screens that do different things The Document window where you create your WebPages The Site window where.
Drupal Training Syllabus Chaitanya Lakshmi
Administration Tab CiviCRM. Data Organization in CiviCRM: "Building Blocks" Contacts Reports Mail Tags Activities Contribe Member Events and Event Attendences.
Server-side Scripting Powering the webs favourite services.
Creating Effective School and PTA Websites Sam Farnsworth Utah PTA Technology Specialist
Feeds Module for Drupal 7 Use Cases, Overview, and Walktroughs.
PHP meets MySQL.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
_______________________________________________________________________________________________________________ PHP Bible, 2 nd Edition1  Wiley and the.
Drupal Commerce Better than Uber Andrew Root: druroot.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
Oracle Data Integrator Procedures, Advanced Workflows.
What you don’t know you don’t know about Drupal 6 Dan Harris daneesia on drupal.org.
Drupal Overview Prepared by : Agustin D. Gumogda Jr. Instructor.
Forensic Drupal Debugging Dan Harris daneesia on drupal.org.
Seattle Drupal Clinic Introduction to Drupal Part 1: Web Content Management, Advantages/Disadvantages of Drupal, Drupal terminology.
Entities in Drupal 7 & the Entity API #sfdug March 11, 2013 JD Leonard ModernBizConsulting.com.
What is Web Site Administration Tool ? WAT Allow you to Configure Web Site With Simple Interface –Manage Users –Manage Roles –Manage Access Rules.
How does Drupal Work? Information Systems 337 Prof. Harry Plantinga.
Core Publisher: Station Administrator Tools. Training 1: Site Administration Training 2: Programs Training 3: Content Tagging Training 4: Creating Posts.
Introduction to Views Stanford Drupal Camp April 6, 2013.
Table of Contents TopicSlide Administrator Login 2 Administrator Navigations 3 Managing AlternativeDr.com Blogs 4 Managing Dr. Lloyd May Blogs 5 Managing.
Chapter 1 Getting Started With Dreamweaver. Exploring the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
Drupal Theming Chris Neglia and Lisa Forgan Copyright 2009, Page 1 Solutions.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
Developer Exam Preparation Thom Robbins Bryan Soltis
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
COMP 143 Web Development with Adobe Dreamweaver CC.
CMS Showdown What Is A Content Management System (CMS)? CMS Website Content Outside Content Social Media Connections with CRM Programs Statistics and.
CiviCRM Entity - Superior Drupal Integration A parallel, inclusive vision for the future. A working use case of headless CiviCRM.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
How to Apply PDF in Flipbook on Website. Description If you are finding solution for applying PDF in flipbook mode on website, and adding multimedia items.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Content Management System
Customizing your Theme
Content Management System
Superior Drupal Integration for CiviCRM with a focus on Events
How to debug a website using IE F12 tools
Framework Anil
Presentation transcript:

TOP 20 MISTAKES YOU WILL MAKE IN YOUR 1ST DRUPAL PROJECT IZTOK SMOLIČ, ZAGREB

WHO IS THIS Drupal site builder, themer and developer Passion about UX and design Drupal consultant Manager at Agile Drop Drupal Slovenia Association organizing meetups in Ljubljana

THE COMMON WRONG DISPOSITIONS I know MySQL/PHP, I know Drupal There is a module for anything like in Joomla/Wordpress Drupal has a long and steep learning curve After 5 years I am here.

PLANING Fail to plan, plan to fail

1. NOT KNOWING THE FURNITURE Designer must be aware of the common elements. Check this blog post from Chapter Three

2. OVER-DESIGNING FORMS HTML markup is predefined for form altering markup requires development skills Solution Style forms: Group fields: Add element (and wrappers) with hook_form_alterhook_form_alter

3. BAD CONTENT ARCHITECTURE DECISIONS using too much content types (e.g. is Article really so different from Public release? Maybe we can use category to separate them) not using node types (e.g. instead of listing staff as a table in the Page body, maybe build the page with Views and content type Staff member) No real formula, just practice and experiences.

SITE BUILDING Installation and configuration

4. WRONG FOLDER STRUCTURE If using single site installation (one Drupal core, one website) put: themes in /sites/default/themes modules from drupal.org in /sites/default/modules/contrib custom modules in /sites/default/modules/custom Do not put themes and modules in the folder on the root level. Never. You can use all folder instead of default – your call. More about this:

5. CHOOSING UNSUPPORTED MODULE Check the usage/download counter, last update, open issues counter, all that can give a idea about the module status. Read the description, in many cases authors let the people know that module will be deprecated in favor of some other more comprehensive module.

6. ORPHANED MODULES Clean your environment, or even better, test modules on other installations! Leaving old, unused modules can confuse you latter on, not to mention other developers.

7. USING DEFAULT BLOCKS SYSTEM Use default blocks system only if project is very very simple. A couple of attempts were made to improve block system, I bet on the following two: Context, which is block system on steroids Context Panels, introduces new block- like concept Panels

8. PUTTING CONTENT/CODE IN BLOCKS Default blocks allow user generated content, but you can't set permissions for editing different blocks Bean, you can add fields to different blocks types, which have separate permissions (like content types do) Boxes, blocks with a unique machine names

THEMING Implementing your design into Drupal

9. HACKING CORE/CONTRIB THEME if you decided to use a theme from core or from drupal.org, there is no need to go and edit its code. Make a sub-theme more about creating sub-theme:

10. USING PAGE TEMPLATES FOR EACH SUB PAGE Try to omit page--xxx-tpl.php templates. It duplicates the code, and makes maintenance difficult. Try using Context Layout or Panels if variations are really needed. Panels have dragable user interface system and a layout generator tool. No code needed!

11. LOGIC IN TEMPLATES SQL queries and calculations don't belong to the template layer. If logic is not so advance it can be placed in the preprocess function in template.php file. About process & preprocess:

12. USING TOO COMMON CSS TARGETING Drupal outputs a LOT of markup with specific HTML classes and ids. Knowing which class is appropriate to target is the key. Ids are usually unique identifiers for blocks/nodes/views views have classes with view name and display name seperated. Don’t target displays (e.g..views-display-id-block).items-list,.content,.view-content etc. are used all over your Drupal site, don’t use for specific targeting.

13. NOT USING THE BASIC DRUPAL FUNCTIONS Drupal comes with some very handy functions, we should use them - l() and url() - in contrast of hardcoded relative URL address can outputs aliased URL path - base_path(), returns base URL of the Drupal installationbase_path(), returns base URL of the Drupal installation - theme() functions like theme('image_style',array()) to out put styled imagetheme('image_style',array()) to out put styled image

CODING Developing custom modules

14. CODING There is a 80% possibility that what you want to build can be build with a combination of modules. Usual suspects: Views (your UI for SQL queries) views_field_view, views_bulk_operations Rules (executing commands on events) Panels (overriding default paths like node/%nid) Filed collection (join fields into one field)

15. HACKING CORE AND CONTRIB MODULES Fixing code directly in the module files makes the website impossible to update. Instead Drupal provides hooks and preprocess functions. More about hooks: ks/7 ks/7

16. NOT USING API FUNCTIONS Database API, dynamic queries: Entity query API: Bets to learn from examples:

17. NOT KNOWING HOW TO DEBUG When you would usually use print_r() to get the content of a array or object to your browser, Drupal has Devel ( dpm($variable) – prints content of variable in human friendly way You can also store info to a log: Can’t find the right template? Use Devel Themer (

18. NOT RESPECTING THE CODING STANDARDS Different approaches and coding styles make code less organized and makes the job for other developers mode difficult. two spaces indentation $var = foo($bar, $baz, $quux); $some_array = array('hello', 'world', 'foo' => 'bar');

FINISHING & MAINTANING When you think its over…

19. FORGETTING ABOUT BACK-END UX Drupal is criticized for having a bad user experience for end users. I argue that with the argument that since Drupal is a framework, back end should be part of out efforts when building a website.

20. FORGETTING ABOUT YOU DRUPAL WEBSITE Drupal needs love even after you have finished your website. Keeping core and modules updates makes it easier to upgrade at some time and keeps the system safe.

HOW TO AVOID FAILING ON YOUR FIRST PROJECT? Read booksbooks Get a mentor Fail & learn from it