Drupalize.Me: Podcast No. 58: Drupal Console

Planet Drupal - Fri, 2015/02/27 - 3:05pm

This week on the podcast, Amber Matz chatted with Jesus Manuel Olivas about the Drupal Console project. What is Drupal Console? The Drupal Console is, at this time, a suite of tools that you run on a command line interface (CLI) to generate boilerplate code and interact with a Drupal 8 installation.

Categories:

Lullabot: Drupal Console

Planet Drupal - Fri, 2015/02/27 - 3:05pm

In this episode, Amber Matz talks with Jesus Manuel Olivas, one of the maintainers of the Drupal Console project. Drupal Console brings the Symfony Console component to Drupal 8 and provides code generation and module scaffolding commands as well as commands for interacting with a Drupal 8 installation. Extended notes and resources are on the Drupalize.Me blog.

Categories:

clemens-tolboom pushed to develop at clemens-tolboom/drupal-8-rest-angularjs

On github - Fri, 2015/02/27 - 2:39pm
Feb 27, 2015 clemens-tolboom pushed to develop at clemens-tolboom/drupal-8-rest-angularjs
  • 14c9181 Use config.js in favor of constant SERVER.

Code Karate: Drupal 7 Range: Set two values for a CCK field

Planet Drupal - Fri, 2015/02/27 - 2:04pm
Episode Number: 195

You ask and you shall receive. That is exactly what happened. Roman, the supporter of the Range Module, asked us to review his module. So that is what we did.

Tags: DrupalContent TypesFieldsCCKDrupal 7Drupal Planet
Categories:

Deeson: Drupal 8, what's in it for me?

Planet Drupal - Fri, 2015/02/27 - 8:59am

The open source content management framework Drupal is at the heart of our work here at Deeson. We use it every day, contribute code and enjoy participating in the global Drupal community.

With the new Drupal 8 release on the horizon and a few of our dedicated Drupalers participating in this weekend's DrupalCamp London, we thought it was a good time to look at the benefits of using Drupal 8 for both marketers and technologists

So as the ever so polite marketer that I am, we'll let the technologists go first. Read on further to find out more about Drupal 8 and marketing.

I'm an IT or technical specialist. Hit me with Drupal 8. 

How would you sell Drupal 8 to me in one sentence? 

"Use Drupal for the developer experience."

Drupal 8 is built using the Symfony framework which makes use of best practice object orientated paradigms.

This allows for easier code completion and better integration into development environments - put simply, programming is less stress and more fun.

What makes it different to the CMS I'm currently (and successfully) using? 

There are several major changes to Drupal 8 which address some of the shortcomings of previous versions of Drupal.

A clear winner here is the ability for developers to track changes in configuration using version control, The means there's a much more reliable process to update a production site cleanly.  

Drupal 8 drops some of the custom built libraries used in previous Drupal versions for best-of-breed industry standard alternatives from beyond the Drupal ecosystem.  

Drupal exposes its data in a RESTful manner using web services - making it much easier to create and maintain integrations with other systems.

The language translation systems have been completely rewritten making multi lingual websites a pleasure to build - compared to some of the pain that developers have experienced building multi-lingual sites on previous Drupal versions.

What benefits could I bring to my company from adopting Drupal 8? 

For the developers, Drupal 8 is better architected. This means it just makes more sense to developers and technologists.

There's less need for what is known as "tribal knowledge" - specialist knowledge about Drupal itself.

For the business this means less need to employ Drupal specialists. Employers can look to recruit and develop good computer programmers who will get up to speed with Drupal 8 faster than they would have done with Drupal 7.

Enough tech talk. I'm a Marketing Manager​. What's in it for me?

Why should I be bothered about Drupal 8?

In the past marketers have too often seen the choice of website content management system (CMS) as a technology decision that belongs in the IT department. 

But reaching the multichannel consumer needs multichannel marketing. And that means that the CMS needs to play an active role in delivering an effective marketing mix.

The right CMS can enable sophisticated personalisation and integration with wider digital marketing infrastructure.

The wrong CMS can lead to ineffective campaign workarounds, problems with handling customer data and unnecessary complexity.

Drupal 8 has been created with marketers in mind. It allows you to easily integrate your choice of CRM, email marketing and marketing automation systems with your Drupal 8 website. It enables marketing teams to easily deliver segmented campaigns by audience, language and device type.

How can I align Drupal 8 with the everyday demands of my job? Can it actually be part of campaign planning and strategy work? 

In modern digital marketing content doesn’t just sit on a website. It’s at the heart of effective marketing across every digital channel.

Drupal 8 is built to combine power with flexibility for marketers. This potential doesn’t come at the expense of user complexity though.

Common administrative features that marketers will use every day have been redesigned with easy of use in mind in Drupal 8.

Content can be edited in-situ, easily previewed so you can see what users will see and a new drag and drop image upload feature makes image management easy.

This power to effectively manage content combined with the integration of Drupal 8 with other parts of your marketing infrastructure means marketing teams can deliver better campaigns with Drupal 8 at the heart of their day-to-day marketing planning and execution. 

How do I sell the idea of using Drupal 8 to my boss? 

A good question. I think the answer is that selling Drupal 8 to your boss is the wrong move.

Understanding the limitations your current CMS places on your marketing is probably a good starting point. 

Once you’ve worked this out, you’ll find that many of them will probably be solved in Drupal 8.

Allowing you to deliver better and more effective campaigns is where the business benefit of a move to Drupal 8 comes from - and so that’s the basis on which you can build a business case.

Don’t forget that the benefits of Drupal 8 are wider than just marketing. So your business case needs to make sure it takes account of the technology and management benefits for your organisation too.   

Whille we've only covered a few of the many reasons to use Drupal as a CMS, it's important to understand how it can align with your goals as a marketer or an IT specialist within your business.

If you're attending DrupalCamp London and you'd like to have a coffee or simply spy on us as we investigate each talk, follow and tweet us @deesonlabs

Categories:

Deeson: Drupalcamp 2015 and why it matters

Planet Drupal - Fri, 2015/02/27 - 8:15am

This weekend sees the annual DrupalCamp London 2015 and Deeson team members will be there in force.

As a co-director of the event I've enjoyed seeing DrupalCamp London grow and thrive over the years.

Launched in 2013, the event is a place to gather with like-minded Drupal developers and those who'd like to find out more about the benefits of using an open source CMS.

This year promises to be extra interesting, with the impending release of Drupal 8.

We've already discussed why this is highly relevant to both tech specialists and marketers, but we think it's also important to note how valuable DrupalCamp is to the evolution of the technology. 

People over product

Not only is DrupalCamp exciting in the technology it showcases, but also in the 'process' it hosts - the focused collaboration of great minds in building an even better product.

With such a 'people based' approach to building the product, it's impossible to ignore the personal issues developers may face. 

That's why keynote speakers are focused both on the product itself and the art of bringing people together to solve complex issues and the questions arising for the people behind Drupal.

Saturday sees a huge range of topics covered, both from the perspective of a website user to the often-overlooked issue of the CMS user and how to make their experience better within the system. 

While the schedule focuses on the practical issues developer might face when using Drupal, it also provides guidance for developers who may be experiencing difficult working situations, including the wonderfully titled 'Team working for megalomaniacs' session.

The event's a unique opportunity to gather the people who contribute to and use Drupal on a daily basis. It's a sounding board to find out what makes them tick, steering the product development in a direction they're happy with. 

 

Two heads are better than one, hundreds are unbeatable 

Getting people in a room together to thrash out issues and debate usability over the same table is second to none in catalysing progress.

Some of the brightest, most unique brains in the land use the technology, each putting their own spin on things. 

Sitting these people down together creates new and amazing ways to drive Drupal forward in to its next phase. 

There's also the opportunity to socialise with like-minded Drupal enthusiasts at the pub. Where better to discuss Bootstrap, Panels and all things content management?

Open to all

Whether you're a hardened Drupal expert or a curious brand manager who has never experimented with the system, the event is inclusive, welcoming and enlightening.

One thing's certain, you'll leave with plenty of answers and a lot more questions than you came with. 

There's truly no better place to witness the excitement and pace of collaborative development. 

Why not come and join us?

Categories:

Annertech: Create the WOW Factor with Drupal - Part 5 of 5

Planet Drupal - Fri, 2015/02/27 - 8:04am
Create the WOW Factor with Drupal - Part 5 of 5

Over the course of this series we have looked at how to add some pizazz, AKA added value, to your projects through the three prongs of technical knowhow, aesthetics and service delivery. Today we'll look at:

Creating Wow - Transforming the ordinary into something special

This is part 5 of a 5 part series. Read the rest of the series here.

To finish off talking about The Wow Factor, here are some ideas where you can go the extra mile to really create wow.

Categories:

Capgemini Engineering: Drupal, Symfony and friends

Planet Drupal - Fri, 2015/02/27 - 1:00am
Drupal, Symfony and friends Introduction

There are thousands of situations in which you do not want to reinvent the wheel. It is a well known principle in Software Engineering, but not always well applied/known into the Drupal world.

Let’s say for example, that you have a url that you want to convert from relative to absolute. It is a typical scenario when you are working with Web (but not just Web) crawlers. Well, you could start building your own library to achieve the functionality you are looking for, packaging all in a Drupal module format. It is an interesting challenge indeed but, unless for training or learning purposes, why wasting your time when someone else has already done it instead of just focussing on the real problem? Especially if your main app purpose is not that secondary problem (the url converter).

What’s more, if you reuse libraries and Open Source code, you’ll probably find yourself in the situation in which you could need an small improvement in that nice library you are using. Contributing your changes back you are closing the circle of the Open Source, the reason why the Open Source is here to stay and conquer the world (diabolical laugh here).

That’s another one of the main reasons why lot’s of projects are moving to the Composer/Symfony binomium, stop working as isolated projects and start working as global projects that can share code and knowledge between many other projects. It’s a pattern followed by Drupal, to name but one, and also by projects like like phpBB, ezPublish, Laravel, Magento,Piwik, …

Composer and friends

Coming back to our crawler and the de-relativizer library that we are going to need, at this point we get to know Composer. Composer is a great tool for using third party libraries and, of course, for contributing back those of your own. In our web crawler example, net_url2 does a the job just beautifully.

Nice, but at this point you must be wondering… What does this have to do with Drupal, if any at all? Well, in fact, as everyone knows, Drupal 8 is being (re)built following this same principle (DRY or don’t repeat yourself) with an strong presence of the great Symfony 2 bundles in the core. Advantages? Lots of them, as we were pointing out, but that’s the purpose of another discussion

The point here is that you don’t need to wait for Drupal 8, and what’s more, you can start applying some of this principles in your Drupal 7 libraries, making your future transition to Drupal 8 even easier.

Let’s rock and roll

So, using a Symfony bundle in Drupal 7 is quite simple. Just:

  1. Install composer manager
  2. Create a composer.json file in your custom module folder
  3. Place the content (which by the way, you’ll find quite familiar if you’ve already worked with Symfony / composer yaml’s): "require": { "pear/net_url2": "2.0.x-dev" }
  4. enable the custom module

And that’s it basically. At this point we simply need to tell drupal to generate the main composer.json. That’s basically a composer file generated from the composer.json found in each one of the modules that include a composer themselves.

Lets generate that file:

drush composer-rebuild

At this point we have the main composer file, normally in a vendor folder (if will depend on the composer manager settings).

Now, let’s make some composer magic :

drush composer update

At this point, inside the vendors folder we should now have a classmap, containing amongst others our newly included library.

Hopefully all has gone well, and just like magic, the class net_url2 is there to be used in our modules. Something like :

$base = new Net_URL2($absoluteURL);

Just remember to add the library to your class. Something like:

use Net_URL2;

In the next post we’ll be doing some more exciting stuff. We will create some code that will live in a Symfony bundle, completely decoupled but at the same time fully integrated with Drupal. All using Composer magic to allow the integration.

Why? Again, many reasons like:

  1. Being ready for Drupal 8 (just lift libraries from D7 or D6 to D8),
  2. Decoupling things so we code things that are ready to use not just in Drupal, and
  3. Opening the door to other worlds to colaborate with our Drupal world, …
  4. Why not use Dependency Injection in Drupal (as it already happens in D8)? What about using the Symfony Service container? Or something more light like Pimple?
  5. Choose between many other reasons…

See you in my next article about Drupal, Composer and friends, on the meantime, be good :-).

Drupal, Symfony and friends was originally published by Capgemini at Capgemini on February 27, 2015.

Categories:

Annertech: Create the WOW Factor with Drupal - Part 4 of 5

Planet Drupal - Fri, 2015/02/27 - 12:32am
Create the WOW Factor with Drupal - Part 4 of 5

In yesterday's installment of this series we looked at adding some wow factor through the aesthetics of a project. Today's we'll look at:

Creating Wow - Service

This is part 3 of a 5 part series. Read the rest of the series here.

 

Wowing your clients is not solely about the end product. The delivery of that product and its ongoing service and maintenance are just as important for the ongoing happiness of the client and therefore the bottom line.

Categories:

Mediacurrent: Charlotte Drupal Drive-In 2015

Planet Drupal - Thu, 2015/02/26 - 10:44pm

This past Saturday was the second annual Drupal Drive-in event in Charlotte, North Carolina. Somewhere between a camp and a meetup, the Drive-in was conceived as an informal and ad-hoc gathering by its organizers, Thomas Lattimore and Mark Shropshire.

Categories:

DrupalCon News: Call for Business Track Speakers

Planet Drupal - Thu, 2015/02/26 - 10:35pm

It is well understood within the tech community that most of our executives started out as being highly technical; in the trenches writing code for 15 hours a day. Like many journeyman professions, the more successful you are at your skillset, the more likely you’ll be rewarded with larger, higher profile, projects. The master developers among us are often asked to lead within our organizations and eventually take on such diverse responsibilities as scrum leader, mentor, technical lead, and eventually, the role of technology executive.

Categories:

Gbyte blog: Simple Views display switch

Planet Drupal - Thu, 2015/02/26 - 8:55pm

If you need a simple Views display switch to toggle e.g between a list and a grid display of a view, there are a couple of plug & play options already.

Display Suite and Quick Tabs are modules which provide this functionality but they seem to be quite an overkill for a simple display switch. View modes on the other hand seems to be exactly what is needed, however there is no stable version and the development one did not work for me.

How it needs to work

Our use case dictates that the filters and the page number have to stay intact while switching to a different views display. The page will be reloaded, no AJAX magic here.

Categories:

Propeople Blog: A Content Staging Solution for Drupal 8 (and more)

Planet Drupal - Thu, 2015/02/26 - 7:02pm

Moving content between different environments is a need for many big companies that have a Drupal site and content that should be created, reviewed, edited and published on different environments. Although Drupal 8 is not yet released, a content staging solution is already in the works. Dick Olsson (dixon_ on drupal.org) and I are working on this solution together and we aim to release an alpha version soon.

The content staging solution for Drupal 8 is based on a re-designed version of the Deploy module. This solution consists of some contrib modules and depends on three Drupal core modules. The core dependencies are Entity API, Serialization and Restful Web Services. The contributed module dependencies are Relaxed Web Services, Multiversion, Key-value Extensions and (soon) Deploy.

The Relaxed Web Services module provides a Restful/Relaxed JSON API and endpoints for entities, file attachments, administrative tasks like revisions comparison, starting/stopping replication, etc. It extends the core REST API with better support for handling UUID references, revisions, file attachments, etc. This module is borrowing the API interface from CouchDB and its Replication API. CouchDB is a NoSQL, document-oriented database.

The Multiversion module provides revision support for all content entities. It also tracks update sequences to make dependency management easier and tracks revision trees (similar to Git) in order to support conflict detection. With Multiversion, entities are never deleted, they are just flagged as deleted. This is needed in order to replicate deletions and for conflict handling.

Key-value Extensions provides an extension of the core key-value API with a backend for lists and sorted sets that you can do range queries on. This module is needed because of the way the Multiversion module stores its sequence indexes.

Deploy (will be implemented soon) - provides a simple user interface to manage replication and conflicts.

Replication

At the moment, we are using the CouchDB replicator to test content replication between different systems. The CouchDB Replication protocol is a protocol for synchronizing documents between 2 peers over HTTP. This protocol will be used to implement the Replication Web Service module for Drupal 8.

The Replication Web Service module will provide the possibility to replicate content between different systems and Drupal 8, it will also have a Drush plugin for running the replication. Furthermore, it will be possible to run live replications in order to synchronize applications.

Offline applications

By using a standardized HTTP replication protocol for Drupal, such as the one CouchDB is using, the same solution will be applicable to other very interesting use cases as well.

The Offline First principle is quite new in web development, but it has many benefits for users and their experience. A website designed after these principles will continue to work, even if there is no Internet connection available. Now it’s possiblel to create Offline First applications with Drupal 8! We can build offline applications using the same suite of modules that we introduced earlier. To do this we need a remote database - represented by a Drupal 8 site and a local browser-based database, for example PouchDB.

The content staging suite provides all necessary features, such as synchronization, revisioning and file attachments, to create an offline application. At the moment, it’s working with PouchDB version 3.2.1. I’ve created a video to demonstrate how synchronization between PouchDB and Drupal 8 works

Video of Test pull and push replication using Drupal 8 and PouchDB

To test this I use an application based on ToDoMVC and PouchDB 3.2.1.

Headless Drupal

In Drupal 8, we have integrated the Twig template framework, a very good thing, especially for front-end developers. However, sometimes we want to create an absolutely custom frontend using the power of libraries and frameworks like AngularJS and Hoodie, combined with Drupal 8 on the back-end.

The solution we implement provides a lot more possibilities than the Restful Web Services module from Drupal 8 core. This will make possible to create awesome applications using frameworks like AngularJS, a PouchDB database and Drupal 8.

Other Systems

The content staging suite will have many different use-cases, allow for replication between different systems and database, not just between Drupal sites.

Currently we have test suites for replication between Drupal 8 and CouchDB (using the CouchDB replicator, but later you will be able to use the Replication Web Services module). We also have test suites for replication between Drupal 8 and PouchDB.

In the future, this solution may be used to integrate Drupal 8 with other libraries and frameworks.

For more information, check out:

Tags: Drupal 8content stagingCheck this option to include this post in Planet Drupal aggregator: planetTopics: Tech & Development
Categories:

Shomeya: 3 Pro-Theming Tips for Drupal 7

Planet Drupal - Thu, 2015/02/26 - 7:00pm

Most developers know how to do these, but a lot of people follow the temptation and skip them in the rush to go live.

These simple steps reassure future developers and clients that you know what you are doing, subsequently increasing your value with just a few minutes of work.

All which means you can charge more and book more clients, both of which lead to the ability to do more of the things you love that are just for fun!

Read more
Categories:

Drupal Watchdog: Will The Revolution Be Drupalized?

Planet Drupal - Thu, 2015/02/26 - 5:38pm
Feature

Recently I found myself musing about two Drupal-related posts from back in 2007 that projected very different futures for the software project.

The first was by Jeff Robbins of Lullabot: “How Drupal Will Save the World.”

Robbins took as his reference case a community in Nigeria facing exploitation by a multinational oil company. Drupal, he suggested, could empower the community and “give a voice to those who might not otherwise be heard,” driving an internet that was “a powerful force for social change.” To achieve that vision, Robbins laid out technical challenges, centered on making the software easier to learn and use.[1]

A few months after Robbins’ post, Drupal contributor Fergus Geraghty initiated a Drupal.org discussion, “7 million reasons to consider democratising Drupal?” Drupal project lead Dries Buytaert had recently co-founded the company Acquia, and Buytaert’s start-up had just announced its first round of $7 million in venture capital financing. Geraghty expressed concern that the new commercial demands of Acquia could come to shape the overall direction of Drupal, pushing the project in the direction of profit maximization. Against this future, Geraghty proposed the creation of a co-operative to serve as the owner of the Drupal project.[2]

Seven years later, which of these futures are we living? Is Drupal empowering the marginalized and saving the world?

Or is it serving “the man”?

Software Freedom and Social Change

The idea that Drupal and free software could have a role in revolutionizing society might not be as off-the-wall as it sounds.

In Mutual Aid: A Factor of Evolution, the 19th century anarchist Peter Kropotkin countered the social Darwinist “survival of the fittest” thesis by arguing that cooperation was a driving force of evolution and a basis for free human societies.[3]

Categories:

Tag1 Consulting: How to Maintain Contrib Modules for Drupal and Backdrop at the Same Time - Part 3

Planet Drupal - Thu, 2015/02/26 - 3:54pm

This is the third in a series of blog posts about the relationship between Drupal and Backdrop CMS, a recently-released fork of Drupal. The goal of the series is to explain how a module (or theme) developer can take a Drupal project they currently maintain and support it for Backdrop as well, while keeping duplicate work to a minimum.

read more

Categories:

clemens-tolboom pushed to develop at clemens-tolboom/drupal-8-rest-angularjs

On github - Thu, 2015/02/26 - 3:28pm
Feb 26, 2015 clemens-tolboom pushed to develop at clemens-tolboom/drupal-8-rest-angularjs