Review of DrupalCon LA 2015, held in Los Angeles on May 11-15th. Includes summits, sessions, and exhibits. Includes pictures of events and some technical information.
6. • PHP 5.4+ (OOP, classes, DI, etc.)
• Better integration with Views, Multilingual, etc.
• More options on front-end (Twig, Symfony2)
• Easier to do what you have been doing
• More momentum
• More cohesive, corporate, professional
7. • 24 more critical issues (as of 5/15/2015)
• No D7->D8 upgrade, no IE 6, 7, 8 support
• Limited performance, SQL, modules, and themes
• Release likely by Thanksgiving
• 8.1 in the spring of 2016 and bye-bye Drupal 6
14. MANY THINGS TO TRANSLATE
User Interface Content Config
Text from
modules
Node text Menus
Text from themes Comments Blocks
Users Taxonomy
Taxonomy terms Views
Custom entities URLs
Fields Variables
Panels
SEO config
et al
15. KEY MODULES NEEDED
User Interface Content Config
Locale Content translation Transliteration
Localization update Synchronize Menu translation
Localization client Entity translation Block translation
String overrides Title Taxonomy translation
Path translation
Variable translation
Contact translation
International Views
et al
*Core or core contrib *i18n
17. PLUGIN VS. HOOK
Implement Plugin Implement Hook
Prime module defines PHP
interface, class, and base class
Prime module defines hook and
uses a name, e.g.,
hook_primemod_foo
Prime module creates a class with an
annotation scheme that implements the
interface
Prime module specifies parameters and
return values in primemod_api_php.ini
Classes use PSR-4* for loading
Derivative module implements first
module’s hook in dermod_prime_foo()
Derivative module creates a class with an
annotation block that implements the
interface
Prime module uses module_invoke($module,
‘dermod_foo’) or module_invoke_all() to invoke
the hook(s)
Prime module uses plugin manager to
organize and properly invoke proper plugin
classes
Use function_exists($module. ‘_’.
’dermode’) to find hooks
*see http://www.php-fig.org/psr/psr-4/
23. MORE NOTABLES
• Learnings from our Launched Drupal 8 Customer Projects
• Drupal 8 CMI on Managed Workflow
• Views for Beginners in Drupal 8
• Site Building like a Software Engineer
• I Survived Drupalgeddon: How Hackers Took Over My Site, What I Did About
It, And How You Can Stay Safe
All sessions, presentations, and videos can be found at
https://events.drupal.org/losangeles2015/sessions/accepted
93. OTHER DRUPALCON
REPORTS
• Twitter Feed —
https://twitter.com/hashtag/DrupalCon?src=hash
• Mendel Kurland (GoDaddy) — http://wptavern.com/a-
wordpress-veterans-take-on-drupalcon-la
• Shiva Kumaar — http://www.dckap.com/blog/drupalcon-los-
angeles-2015/
• Juan Barba — http://rootstack.com/en/blog/my-first-2-days-
experience-drupalcon-la-2015
• Hook42 — http://www.hook42.com/blog/drupalcon-la-few-
our-favorite-things
A copy of this presentation is on YouTube - https://youtu.be/fbfNS3Z5-P8
94. THE D8 TAKE-AWAY
• New Life for Drupal
• New Opportunities
• New Challenges with the Learning
Curve
Notas do Editor
Welcome to the DrupalCon LA 2015 Review
Five days, three summits, four keynotes, 9 days of sprints, 16 trainings, 65 exhibitors, 71 sponsors, 83 BOFs, 88 presentations, dozens and dozens of volunteers, and about 6,000 attendees made for a great conference. It was also a huge undertaking to cover.
In this picture from left to right —
Kevin Kaland, WizOne Solutions, Mandal, Norway (out of view on left)
Paul Coleman, Vision Media Production, Los Angeles, CA
Tim Erickson, Triplo, St. Paul, MN
Along with training, on Monday there were three summits — Business, Higher-Ed, and Community. As a Drupal meeting organizer, I attended the Community Summit along with several others from LA, Minnesota, Canada, Australia, and the Philippines’. We discussed ways to draw interest, fund, and support events such as meetups, camps, and sprints.
Laura Shey has the notes, and I will post a link to them when they have been edited and published.
Community summits were introduced at DrupalCon Prague and were intended to help local organizers run better events, but it was also designed to create a social network to share ideas and identify ‘what works’ and why.
I did not attend BOFs, training, or sprints. I was focused on the presentations. Aimee Degnan reported that her D8 Multilingual Lab went week and Kristen Pol’s Multilingual Therapy Lab went well, too. Jon Pugh reported that the Drupal Products BOF went well. And Dave Numan reported that the two Docker BOFs identified over a dozen related projects. Owen Barton has a great summary of the Federal Information Security Act (FISMA) BOF here — https://groups.drupal.org/node/468808 .
The keynotes were mostly entertaining. There was dancing and great skits. The bit about Dries’s hair was amusing, too.
Sessions were broken down into eleven categories. To give you a sense of the emphasis, three categories were about the front-end and one was dedicated to Symfony, the only product to have its own category.
A "plain Drupal English" guide to the remaining Drupal 8 criticals
Angie Byron, a.k.a. ‘Webchick’, gave the 411 on the state of Drupal 8. At the time of her presentation, the blocking issues were down to 26 (now 24), and she reminded everyone that Drupal 6 will be completely unsupported once D8 is release. She made an appeal for everyone to contribute.
Drupal 8 appeals to the modern programmer with object oriented constructs such as classes, namespaces, and dependency injection. These architectural changes will help you hire people with modern development experience. Drupal 8 adds administrative functions that makes life easier for the content creator/manager, too. Editing is much easier with core WYSWYG tools. And DevOps is easier, too, with configuration import/export. These are long-awaited refinements that most of us expected. Bottom line, Drupal 8 is a better Drupal 7 because it better integrates Views, WYSIWYG, In-place editing, simplified overlay, multilingual, better blocks, features, web services, responsive toolbar, front-end, admin, images, and tables.
But it is not done. At the end of the conference, there were still a couple dozen blocking issues, which could generate more as they are addressed. The conference was a bully pulpit for rallying the attendees to help test and fix the code.
They have been smart about what to prioritize. For example, there are currently no D7-D8 migration or upgrade tools, as they expect the market to be forced to address this by making the product too compelling not to help build them. They rationalize that the fewer modules are due to the fact that more functionality in core precludes their need. It has all been well thought out.
Two other observations
Drupal is changing with the times, drawing younger developers, and that means leaving the traditional coders behind. Secondly, agencies are emerging as major players, because of the demands of the more complex and involved development. This will make it harder for small shops not just to compete but to keep up.
One example is . . .
The Why and How of Front End Architecture
Darwin Young, Wes Ruvalcaba, and Sally Young talked about the use of front-end tools to master large projects. What stuck me most about this session was the examples cited - MSNBC, Bravo and Oxygen TV. These are Media companies, where User Experience is just a new name for Programming. The projects are huge, and the tools used for just the front end are extensive — Sass, Grunt, Gulp, Bootstrap/Backbone/jQuery/Node/NPM and on and on. A dedicated resource is needed just for program management of the development resources.
Of course, not every project needs these, but many of them are in D8 core. Some expertise is required just to know the trade-offs of having them available. For example, you may not need jQuery for your client UX, but it may be required for the Admin theme.
Without getting deep, their presentation weighed the pros and cons of adopting, implementing, and supporting tools for development. The obvious bottom line was “if you can support the tools, they will support you.”
If you are interested in this, watch the video instead of just looking at the slides.
Drupal Theming with Heart
Morton Birch Heide-Jorgensen is the (in)famous D8 UI guru, who has taken Drupal out of the PHP world of theming and introduced a new set of tools that define a developer-oriented front-end paradigm. His presentation was classic DK, and he ended by admonishing everyone for not testing and contributing enough to the effort. The packed audience was contrite and appreciative.
This highlights the evolution from the current to next front-end development environments. What is not evident is the overall change from the ad hoc nature of Drupal 7 tools to the integrated tools in Drupal 8. Drupal 7 gave developers a great deal of latitude to create themes, often incorporating a great deal of module functionality. Drupal 8 tries to make theming projects more manageable by integrating development tools and creating clearer boundaries between themes and modules.
As the problem becomes more complex, so does the solution. From the perspective of the developer, these are more powerful tools for creating and managing more sophisticated markup. The IDE goes beyond a source editor, and a template engine offers more theming features than just using PHP. With a new abstraction layer, Sass gives the UI developer a programatic way to create and manage stylesheets, and Compass provides a way to manage authoring CSS, especially in large projects. Some see this as a way to empower the Designer and others see it as a way to extend the power of the Developer, both seem to hope that this is a way to eliminate the Themer. Regardless, it is a new programming environment with new tools and another learning curve.
Multilingual module madness! Which i18n modules do you really need?
Kristen Pol, Hook42, spent most of the session talking about multilingual in D7 and the use of modules such as i18n. She also explained how D8 integrates multilingual into core. Currently, this can take around 30 contrib modules to effectively use multilingual in D7, and there are about 200 related D7 modules in total. D8 makes the key elements a part of core and will make multilingual much easier if you know what you are doing.
The current complexity of multilingual is rooted in the organic way that Drupal was built, where each piece could be developed without regard to translation. As a result, elements in every module may need their own multilingual module or modules to get properly translated. Kristen uses three ‘buckets’ to sort the many items. While the first two, User Interface and Content are obvious, the third, Config, is the most insidious.
This slide highlights the key multilingual modules, but these only provide the base functionality. Depending upon your application, any one of 200 modules may be needed. Kristen’s presentation cites some development examples, and she highlights one using 29 multilingual modules. Part of the Drupal 7 problem was the lack of a design pattern for multilingual. The other part was the lack of a business case for multilingual in many Drupal sites when they were designed, because it was so hard to add. This is addressed in Drupal 8.
An Overview of the Drupal 8 Plugin System
Joe Shindelar, Lulabot, talked about the successor to hooks, plugins. I guess this means Kristen might need to rename Hook42. Plugins are a big change from hooks, but follow a more contemporary programming paradigm. Refer to this link for a detailed review of plugins.
Perhaps the most significant change to Drupal 8 over D7 development methodology is the elimination of hooks in favor of plugins. This is far more than just a coding style change, it redefines the way we make and use modules. Plugins are based on the evolution of PHP as it moved from Variable Functions (hooks) in PHP4 to Classes and an Object Oriented Programming (OOP) model in PHP5. More than new framework, there are new tools such as the Plugin Manager. These changes go to Core, which had already begun moving this way in D7, and fundamentally change key features of D8 such as migration (see the session on “D8 Migration Plugins” by Mike Anello, Ryen Weal and Keith Dechant).
The take-away is that D8 plugins align more closely to PHP5 and create formalizations that allow for better integration of modules. There is more module development work upfront but better integration ongoing.
What is the Fuss with all this JS?
Blake Hall, Drupalize.Me, gave a great review of the State of Javascript in Drupal. He covered everything from jQuery to Backbone to React with Angular thrown in for good measure. His explanation of Model-View-“Whatever” is worth the session. I suggest you watch the video instead of reading the slides.
Angular.js with Drupal 8
Travis Tidwell, OpenTech.io, spoke to a large audience on Thursday about a subject that is NOT becoming a part of D8 core. However, Angular and the Single Page Architecture, SPA, may have a bigger impact on future Drupal development than anything else at DrupalCon. This was one of the last sessions. While it was of great interest, the audience was not sure what to do with it, based upon the Q&A.
With Sass, Compass, Twig, and Symfony, there are now more sophisticated tools for developing the front-end. This may be helpful for projects that drive the UI from the server and offer meet more contemporary needs such as ”mobile first.”
Be careful what you wish for, however. There are now ways to build applications that do not use the integrated front-end. Drupal 8 can now be a web service, as almost every output can be a JSON or CORS HTTPRequest. This competes more with Couchbase than Wordpress and hints at a future where native mobile apps are the primary target clients devices.
However, that means more to learn, with front-end tools such as Angular defining the client’s ‘user experience’, and Drupal being a back-end provider of services such as user authentication/management, content management, and administrative support.
Angular.js versus Backbone.js
Angular is backed by Google, is more monolithic, and has broader support
Backbone.js is part of Drupal 8 Core (planned years ago), has dependencies (underscore and jQuery), and is considered to be more ‘flexible’
Node.js (io.js)
1) Compiled javascript using V8, is not a part of Drupal but, like memcached, affects the performance of D8.
Mark Feree, Chapter Three, talked about the software complexity issues of building a site, and his first two examples of adding power and complexity were Panels and Display Suite, two UI modules that profoundly change Drupal. Web Services and Angular.js take that to a new level.
Angie Byron, D7 release manager and a D8 leader
Alex Pott, framework manager for D8
Jess, release manager for D8
Dries Buyaert, founder of Drupal and co-founder of Acquia
This discussion was interesting but now newsworthy. Most of the questions from the audience were familiar, and Dries passed many off to his colleagues.
This wins my award for best session title. Andrés Díaz Soto and Alberto Rojas Barbas from Manatí in San Jose Costa Rica demonstrated a mobile application using a ‘headless’ D7 backend that allows citizens to report contraband sales to the government. Costa Rica has high import tariffs, and people find countless ways around them. The app demonstrated how Drupal could be ‘lightened’ by offloading features to the client such as Google Maps without adding modules to the server.
There were many useful sessions, and these are just a few of them. There was a session on Jenkins, a case study of Princess Cruises, a group of session on Symfony, a “How to Run an Agency” session, and Lightning Talks.
D8 adds functionality and tools that move it more toward web development products like Adobe Muse. In many BOFs and meetups over the past five years, those features were front-and-center topics. Be careful what you wish for. This is by no means Muse, but Muse’s influence is apparent in the D8 priorities.
However, to get these improvements without turning D8 into some WIX-like thing, D8 has become different. These differences allow D8 to take on more ambitious projects and address more diverse needs such as mobile clients and web services. The new complexities of this added sophistication require more expertise in new areas of development, such as mobile applications, heterogeneous multi-site web applications, and cross-platform web services for the IoT.
For agencies such as Acquia and FFW, D8 provides a lot of leverage, as they can afford to grow specialties within their large development organizations. For small shops, this will challenge the team that has developed core competencies in soon to be deprecated development methods. It challenges them to change. Teach an old dog new tricks and hire new blood for the new specialties.
D7 will be around for a long time, and there will be plenty of opportunities to sell upgrade services to D7 clients. In this regard, there is no rush for those who have grown steadily and are looking to continues the same. Bottom line, you can be sure that Drupal is not going away.