Published on February 16, 2014
DRUPAL as a Rapid Application Development Framework for Startups Anoop John Chief Technology Officer www.zyxware.com
Contents • What a startup would look for when building web applications? • What is Drupal? • Why Drupal is a good fit for startups? • Basic Drupal concepts • Aspects of a web application • Managing Layout in Drupal • Managing Content / Data in Drupal • Presentation of Content • Roles & Permissions
Contents (contd...) • Workflows around Content • Rules & Business Logic • Ecommerce & Payments • Drupal Commons – OOTB Social Site • Other cool Drupal features • Example • Key modules to remember • About Zyxware • Questions
What a startup would look for when building web applications? • Easy to learn system & technology • Ability to leverage on existing systems • Not have to re-invent the wheel • Quickly try out ideas • Easily build proof of concepts • Take to market fast • Ability to customize easily • Ability to build and scale • Strong platform for future growth
What is Drupal? • Drupal is a Content Management System • Built on PHP, MySQL, HTML, JS, CSS • Allows collection, presentation & management of structured information • Allows building websites • Allows building dynamic web applications • API to build and extend the application • Extensible, Modular, Pluggable, Scalable • Thousands of modules to extend the capabilities without writing a line of code • Drupal is more than a Content Management System. It is a Rapid Application Development Framework
Why Drupal is a good fit for startups • Fully functional website out of the box • Fully functional CMS out of the box • More than 10000 modules to extend • Ability to build applications with workflows, permissions, rules without writing a line of code • Out of the box CRUD system for complex data collection, presentation and management • Control over layout without coding • Drupal distributions OOTB systems • Strong API for future extension • Stable and secure platform
Basic Drupal concepts • Entity & Node • Content Types • Modules – core & contrib • Themes • Blocks & Menus • Roles and Permissions • Administration • Hooks & Callbacks • Form API
Aspects of a web application • Structure of layout • Collection of structured information • Presentation of information • Roles and Permissions • Workflow related to collected information • Business Logic
Managing Layout in Drupal • Structure of layout • Themes • Regions • Block System • Custom HTML • Automatically generated content • Panels • Panes • Landing pages • Contexts
Managing Content / Data in Drupal • Entity • Node • Content Types • Fields • Edit forms • Taxonomy • Taxonomy listing • Webforms – custom surveys
Presentation of Content • Data abstraction with Views • Views displays • Pages, Blocks, Feeds, Panes • Views theming • Export – CSV, XML
Roles and Permissions • Access Control at interface level • Access Control at code level • Users • Roles • Permissions
Workflows around Content • Views & dashboards • Roles & Permissions in views • Nodequeues • Flags • Views bulk operations • Workflow module • Edit / View permissions
Rules and Business Logic • Events & Triggers • Context & Data • Actions • Send emails • Redirect users • Update content, set values • Creating custom actions • Exposing custom events
Ecommerce & Payments • Drupal Commerce • Ubercart • Paypal • CCAvenue • Banking gateway integration
Drupal Commons – OOTB Social Site • Supported by Acquia • Social networking system out of the box • Integration with other social networking systems • Ability to extend using modules / custom code
Other cool Drupal features • Multisite & Individual Domains • Aegir for deployments & PaaS • Third party integration • Import and Export of Data • Services, XMLRPC, REST, JSON • Backend for mobile application • Mobile theming + regular theming
Example • Roles – Admin, Speaker, Attendee • Suggest Event – Event Content Type, Fields, Status • Event – Status as not approved • Event Schedule - View • Approval Queue • Blog • Nodequeue – Home page • My Events - Flag
Feeds Node Context VBO Services Views Taxonomy Nodequeue Rules Fields Flag Panels Admin Menu Fivestar Webform
Zyxware Technologies and Drupal Zyxware is a leading contributor to Drupal from India and is one of only six Featured Service Providers from India listed on drupal.org ● Over 40,000 websites use our modules and themes ● More than 30 contributed modules and themes ● Maintainer of Search404, a top 100 Drupal module ● Over 1000 commits at drupal.org ● Contributes all patches back to Drupal ● Our profile on drupal.org - http://drupal.org/user/222163 ● Knowledge partnerships with Acquia, New Relic and Volacci
Free Software and Zyxware Technologies ● Freedom Walk, a 44 day walk by a team of Free Software Evangelists across the length of Kerala to promote Free Software ● Building RithuOS, an Operating System for Engineering students with Free Software Engineering applications ● GNU/Linux Install Fests in Schools, Colleges and at Technopark. ● Local language (Malayalam) computing camps in colleges ● Building and Maintenance of Freedom Toaster, a Free Software kiosk ● Conducting Free Software workshops and lectures in colleges in Kerala
Contact Us • Check us out at http://www.zyxware.com • Mail us at email@example.com • Like us at http://www.facebook.com/zyxware • Follow us at http://www.twitter.com/zyxware • Connect with us at http://www.linkedin.com/companies/zyxware-technologies • Talk to us at +91-9495969446 between 9AM - 9PM IST • Skype me at aj_zyxware
... as a Rapid Application Development (RAD) Framework ... Drupal as a Rapid Application Development ... Development (RAD) Framework for Startups.
Rapid application development (RAD) ... Software framework; Integrated development environment; Software configuration management; Software library;
QCubed is a PHP framework for rapid web development. Building on top of jQuery, with OOP at its core, QCubed provides a powerful solution for building ...
... a complete web application development framework if we ... as* a framework”, not the “WordPress framework ... RAD, also known as Rapid Application ...
OpenXava is an AJAX Java Framework ... The OpenXava bundle is prepared for a rapid startup. ... OpenXava has changed the way rapid Application Development ...
Conceptualizing Drupal as a framework does ... applications, the continual development of ... correct framework to build a serious startup.
Prerequisites for attending Drupal Workshops ... Drupal as a Rapid Application Development (RAD) Framework for Startups ... WEB APPLICATION DEVELOPMENT.
rapid application development. ... the line between RAD systems and other development environments ... model defines a networking framework to implement ...