Leveraging Contributed ModulesStanding on the Shoulders of Giants- Assess the project page- Read the README file-Views, admin_menu, ctools, webform,wysiwyg, panels, context.
Where does Contributed code live?Put all contrib modules in ../sites/all/modules/OR../sites/all/modules/contribPut all custom modules in../sites/all/modules/customPut all themes in../sites/all/themes
Local Development EnvironmentLocal EnvironmentDrushVersion Control such as GITBasics of the command line
Development WorkflowDevelopment Environment- Dev > Test > LiveWhere do your clients QA?Use Version control to push to production- great for rolling back changes- great for multi-developer environmentsCode vs Content- features moduleWorkflow to push to productionExclude the files directory from the repo, files are like data.
The “Drupal Way”?
Site Development Plan Typical Drupal Site
A complex system that works isinvariably found to haveevolved from a simple systemthat worked...Galls Law
Build features zoomedin, then pull back and see how it all fits together.
Write a development planForces you to think through your architectureand implications of decisionsMakes it a lot easier to build quickly- ex: graball your modules at once, understand contentand layout dependenciesBuild, then theme90% of the way there is often enough- Don’t be afraid to talk to your clients
Structure ContentBreak up your content into the pieces you wantcontrol over.Important in mobile theming- content firstConsider your admins and your visitors.Good content is user-centeredAdopt the cognitive frameworks of your users-ERIN KISSANE
Feature DevelopmentIts essentially three steps, rinse and repeat.1) Build a content type2) Build a view3) Build a layout
Skew, The Frontend Engineers Misery
Common Client-sidePerformance Pitfalls- Cache Settings- Image Optimization- Image File Subdirectories- CSS Images- Size of pages, libraries, CSS.
Theming!Where everything can be overridden.
There is no "best" theme. -@rupl
Where to start Develop a theming strategy and find a theme to match- ‘Starter’ themes- Base Themes- Responsive Theming- Click-to-Config
Control your layout throughconfigurationPanels, Panelizer, PanopolyContextOmegaDisplay Suite
Advancing ThemingIts all about OverridingConfiguration -> CSS -> PHP
You can give back to the community.
Coding Standards-Don’t Hack Core! It may seems like a good idea now, but itsnot.- Indent of 2 spaces- No trailing white space- CSS properties in alphabetical order- Comment your code, you’ll thank yourself later.- Participate in the issue queue and documentation.
Learn MoreBooks Camps and ConsTraining IRCDocumentation Spirit of willingness, givingBlogs back and helping each otherVideosMeetups