making drupal collide with the world outside · view react, angular, jsx, flux/redux, vue.js, web...
TRANSCRIPT
Making Drupal collide with the world outside
Varun AroraCEO, OpenCurriculum
Agenda● What's going on outside Drupal?● Drupal vs. !Drupal● Drupal Everywhere
What’s going on outside Drupal?
View React, Angular, JSX, Flux/Redux, Vue.js, Web Components, Polymer, React Native
Data storage and fetching
NoSQL databases, Real-time databases, Web Sockets, GraphQL, Parse / Firebase, ORMs
Infrastructure Containers (Docker, etc.), Cloud services, S3, Functions-as-a-Service.
Content Static site generators, Wix / Weebly / Medium
Other mad hipster shit
Webpack, IoT, Web app frameworks (RoR, Django, Spring)
FOMO?
Drupal vs. !Drupal
Categories● Administration● Development / Engineering● Solving real-world problems
AdministrationAuthoring multi-page content EasyWYSIWYG EasyConstantly tweaking complex code for any feature NopeEditing any data is form editing Not how world rollsCommunity Dope
Authoring multi-page contentWYSIWYGConstantly tweaking complex code for any featureEditing any data is form editingCommunity
Development / EngineeringUnderstanding of database model LowPHP EasyDrupal lifecycle hooks Batshit weirdAltering form submissions and page flow PainfulEverything is a node Not so geniusUser management, authentication, signup EasyLearning curve on new functionality with UI High
Understanding of database modelPHPDrupal lifecycle hooksAltering form submissions and page flowEverything is a nodeUser management, authentication, signupLearning curve on new functionality with UI
Development / EngineeringAltering what shows up on page > layers than onionsLayouts and themes, for most part Low qualityCreating modules with complex data needs NightmareExtending tables vs. creating new ones DRYData manipulation, persisting PoorURL management Easy
Altering what shows up on pageLayouts and themes, for most partCreating modules with complex data needsExtending tables vs. creating new onesData manipulation, persistingURL management
Solving real-world problemsViews, CCK (Fields, Entities, m2m) HeavenRepeated patterns func. (eg. comments, forums) EasyOriginality inducing Far fromClient-centric NotScientifically optimizing performance, SQL PainfulBlank canvas thinking AbsentOptimal repeating patterns (eg. search) Nope
Views, CCK (Fields, Entities, m2m)Repeated patterns func. (eg. comments, forums)Originality inducingClient-centricScientifically optimizing performance, SQLBlank canvas thinkingOptimal repeating patterns (eg. search)
Drupal Everywhere
What we have been trying to do for the past ~8 years
Macro reasons to reflect on state of things● Hybrid clouds and containers have helped anyone deploy
heterogeneous backends● The line where marketing stops and product begins is blurrier
than ever; everything is content and everything is not● Competing for user attention through front-end heavy apps
Macro reasons to reflect on state of things● “Web administrator” is a mythical role● Drupal has uniquely excellent capabilities that the rest of the
tech ecosystem does not have (eg. Views, CCK, easy i18n)
Flipping the model
3 ways to flip● Drupal as an admin tool for all.● Drupal as a content management protocol.● Drupal as a controller for all.
Drupal as an admin tool for all
http://getlevelten.com/blog/kristin-brinner/how-set-drupal-commerce-message-send-emails-store-admin-and-customer-include
Drupal as an admin tool for all
http://www.htmlgoodies.com/beyond/webmaster/toolbox/article.php/3908431/Drupal-Version-7-Beta-A-Web-Developers-First-Look.htm
Drupal as an admin tool for all
https://www.interworks.com/sites/default/files/blog/u55/d8_edit-page.gif
Drupal as a content management protocol● Entities● Fields● Blocks● Metadata, taxonomy, config● Views
Drupal as a controller for all● Be the routing, templating (using blocks), auth / sessions,
requests / responses, config, ORM compatibility, rules (for async processing) layer bound to different frameworks.
● Allow boilerplate generation for forms, accessibility● Multilingualism support.
Drupal as a controller for all● Talk to services, using a visual system like Node Red.
http://www.internetoflego.com/connecting-it-all-together-pubnub-and-node-red/