Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 6 min 51 sec ago

OSTraining: The Easiest Way to Embed Videos in Drupal 8

Tue, 08/03/2016 - 23:25

Video Embed is a very useful module for Drupal 8 users.

Video Embed creates a field type that allows you to embed videos from YouTube, Facebook, Vimeo, Vine and many other sources. All you have to do is enter the video URL and this module will do the rest.

Video Embed will create a thumbnail preview, control the autoplay settings and also ensure that the video is responsive.

Categories: Elsewhere

Red Route: Getting down to the nitty-gritty of migration

Tue, 08/03/2016 - 19:32

Having eventually got my new VM up and running, I ended up down another rabbit hole for a little while. It took me longer than it should have done to figure out that configuration can be included in an installation profile. Having seen an issue on drupal.org, I got the idea into my head that I needed to mess about with the config directory, or use the Configuration installer profile. Thankfully the reality was much simpler.

As is so often the case, the way I figured it out was by looking at the source code of something that did work - in this instance the standard installation profile in core revealed that all the config files should be in the config/install directory. If I find any other confusing or unintuitive things like this, I'll try to update the documentation on drupal.org, as well as making some notes here.

It feels like a common problem with a lot of code that the documentation isn't in sync with the code. It's not just an issue with open source, but given that a lot of developers are reluctant to write documentation when they're getting paid for it, it's hardly surprising that there's a real need for more people to contribute to documentation.

Once that was out of the way I was able to start poking about with the actual migration. I've had a little bit of experience with migration in Drupal 6 and 7, although not as much as some of my old colleagues, and the migrate_example module was again helpful for figuring out how it all fits together.

It's tricky because a lot of the migrations depend on other migrations, and I want to manipulate the data on the way in so that it works with slightly different field names. The tutorial by Cheppers is the most helpful article I've found. Here's the basic workflow that I've been using so far:

  1. Edit settings.php to include the old database connection
  2. Run migrate-upgrade to get the migrations
  3. Export the site configuration
  4. Put the exported migration definitions in to the config/install directory of your custom module
  5. Tweak the migration definitions:
    1. Define a migration group: migration_group: gall that defines the database source
    2. remove database_state_key: migrate_upgrade_6 from the migrations
  6. Re-install the site using the installation profile
  7. Check the migration status drush ms
  8. Run the migrations: drush mi --all - for The Gallery Guide this takes a long time
  9. Try changing the prepareRow function in the migration class
  10. Re-run individual migrations to test : drush mi d6_node__gallery --update

At the moment one of the migrations is choking on a problem in core/lib/Drupal/Core/Utility/LinkGenerator.php:

Error: Unsupported operand types in /var/www/drupalvm/drupal/core/lib/Drupal/Core/Utility/LinkGenerator.php, line 152 <div data-quickedit-field-id="node/511/field_exhib_website/und/search_index" class="field field--name-field-exhib-website field--type-link field--label-hidden field__item">

It's a puzzling one, but at least I've got some idea of where to start digging.

This process has reminded me once again of how useful Drush is, and more generally, the value of using the command line, especially for complex or repetitive tasks. I remember when I first started as a developer, being slightly intimidated by the terminal. A bit like the old text adventure games, it can be difficult to know where to start. None of the functionality is made obvious to the beginner.

But once you have a vague idea what you're doing, you can save so much time. Because the interface doesn't need to bother making things look pretty, it's much quicker. You can chain commands and set up shortcuts. All kinds of power is available if you know where to look.

Tags: DrupalDrupal 8The Gallery Guide
Categories: Elsewhere

Palantir: The Secret Sauce podcast, Ep. 08: Explaining Panels

Tue, 08/03/2016 - 18:19

Welcome to this week’s Secret Sauce, a short podcast by Palantir.net that offers a quick tip on some small thing you can do to help your business run a little bit better. Today’s advice comes from one of our colleagues at Pantheon. Steve Persch is an Agency and Community Engineer at Pantheon and former Palantir team member, and he’s sharing his thoughts on using the Panels module in Drupal.

iTunes | RSS Feed | Download | Transcript Want to learn more about the Panels module and other ways to do more with your web project? Let's schedule a time to talk.


Transcript


SP: Hi, I’m Steve Persch. Today I’m going to be talking about Panels Module in Drupal.

So I use Panels Module because I think of it as a really direct way of doing style guide driven development, which is a topic that’s getting discussed a lot in the Drupal community these days. Style guide driven development is the idea that development is directed by a style guide understanding of how a site is put together. What I mean by that is components like global headers, global footers, the styling of teasers, the styling of common article header elements is a really accessible way for clients, for stakeholders to conceptualize the visual understanding of a site.

So if you’re starting at that point with a style guide and you’re working in Drupal, it can be difficult to make Drupal match the markup that’s present in the style guide. A lot of Drupal developers like to complain about the CSS classes, the excessive wrapping divs that come from Drupal, and there’s this pain point of “how do we get Drupal to print the markup that we want.”

At DrupalCon Los Angeles I did a presentation called Rendering HTML with Drupal: Past, Present and Future. Anyway, in that I described how in earlier versions of Drupal it was really common to just take whatever markup you get from Drupal and write CSS against that. It may have too many divs, too many classes . . . it doesn’t matter, just write CSS against it. As we move towards this world where where we’re doing more style guide driven development, we generally don’t want the markup that comes out of Drupal by default.

Here’s where Panels Module comes in. Panels Module, I think, is a great mapping layer between Drupal’s internal understanding of elements like nodes, like headers and blocks, and that style guide understanding. So Panels has this concept called the Layout PlugIn. The Layout PlugIn is that mapping layer between a Drupal template file and the style guide design component. So you may have a Layout PlugIn called Global Header, and that’s your global header design component. You can then use that Global Header layout plugin at all these different layers of Panels.

There are four main layers of Panels that I like to use. There’s the Mini-Panels Layer, which is analogous to core’s block system. A mini-panel is basically an individual block, so you make an individual block, and that’s your site header. You can look at that mini panel and you can see this uses the global header design component and that becomes a mapping layer between . . . all right, we had this understanding of a design component called a global header, and we had to plug in all this Drupal data like search forms, like menus . . . Panels is a user interface that lets you insert all of that Drupal data into a template that you can still think of as an independent design component.

Doing that in traditional Drupal is really hard conceptually because in a more traditional Drupal build, the header might just be a conglomeration of things in the global template file, your page.tpl file. And it’s hard to keep track of where does this design component start and stop? Is there even a single representation of the header, or is it just a mix of menus that are thrown into the global template?

So with Mini-Panels you can encapsulate blocks. With the Panelizer level, you can encapsulate view modes. Panelier is essentially an alternative user interface on top of Core’s view modes. So in Drupal Core you have the ability to say, “this article teaser is going to display these fields in this order, drag and drop . . . cool. I’d still like to have that mapping layer too. Well, our style guide says article teasers are really illustrated list items, our style guide calls them illustrated list items. So we can map in Panelizer from the Drupal concept article teaser to the style guide concept illustrated list item.

The next layer up is the Page Manager level. This is basically: what is this page? If you have a page that’s your taxonomy term listing page . . . you’ve got a vocabulary of musical genres . . . you’re going to have a page that is genres/jazz. What happens on that page? If you just have Drupal Core, that page is going to be nothing but a list of all nodes tagged in jazz. But your style guide says jazz needs to show this design component, it’s a complex design component. It shows the most popular albums in jazz, it shows these songs, it shows artists, it shows all these different things and we have a name for that component. At the Page Manager level you can map the Drupal concept of jazz page to the style guide concept of whatever is the name of that design component . . . maybe you call it genre landing page. So that’s our third layer, the “what is this page” layer.

Finally there’s the global layer [Panels Everywhere], where you do things that in Core that you would otherwise do with the Core blocks system. We’ve got a global header, we’ve got a globar footer, maybe we have a global sidebar . . . panels everywhere lets you control that global template and use all the Panels UI niceness to line up your variables to say, “actually on this page we have no global header and footer whatsoever, we have just this one element. On this other page we have a variation that says we use a mini-header.” Panels Everywhere is a way of more deterministically saying how those variants shake out, whereas in Drupal Core all of your core blocks are responsible in and of themselves for figuring out, “do I show up on this page?” With Panels Everywhere you can say on a given URL, on a given pattern this is our global template, this is our global design component.

That’s why I like Panels. If you want to know more, check out the Palantir blog. I’ve basically given a summary here. There’s one blog post explaining Panels that runs down these four concepts, these four main modules, and then there’s another follow-up blog post called “Why I Use Panels” that digs a little deeper into the concept of mapping between Drupal data and a style guide or independent representation of design.

AM: Thank you Steve. That’s the end of this week’s Secret Sauce! For more great tips, follow us on twitter at @palantir, or visit our website at palantir.net. Enjoy your day.

Categories: Elsewhere

Amazee Labs: Vote twice for Schnitzel

Tue, 08/03/2016 - 15:50
Vote twice for Schnitzel

This week you have a chance to vote twice for Schnitzel!

Michael Schmid Tue, 03/08/2016 - 15:50

People who know Amazee and the Amazee spirit, know that we are all about the Drupal community and contributing back to it; not only in the form of code, but in many other ways.

These other types of contribution need help from you to actually become a reality.

#1: Drupal Association At-Large Board position

The Drupal Association Board has two members that are elected to their seat by the community, called "At-Large" Board members. This role is designed to represent the community within the board. 

Community representation is very important and therefore these board members should bring two qualities: Broad knowledge of the community and and governance experience. Both qualities I bring to the board: 

  • I am a volunteer in the issue queue pushing Drupal forward, an event attendee, trainer, speaker, sponsor and organizer.
  • I also have experience serving as a board member of Amazee Holding and Amazee Labs.

Additionally with traveling and managing a team on three different continents, I understand the pain points and opportunities of Drupal diverse cultures, languages, nationalities, genders, time-zones, and unique personalities.

If you would like to know more about my campaign for the Drupal Association At-Large Board position, see my Candidate Profile, then, please vote!: 

Vote for Michael/Schnitzel

How to vote: You need a Drupal.org account that is at least one month old in order to be eligible to vote. Don't wait - voting ends March 18.

#2: Community Keynote at DrupalCon New Orleans

Another big other part of my community contributions is sharing Drupal knowledge in the form of sessions at Drupal Camps, DrupalCons and other events.

In the past I mostly focused on technical topics and case studies, but most recently at DrupalCamp London and DrupalCon Barcelona, I gave a presentation about the topic of stress and stress prevention. Afterwards I received a lot of great feedback and people told me that my tricks helped them. I now realize that we are not sharing enough about this topic.

I would like the opportunity to talk about this very important topic at a community keynote where my message will reach the necessary audience this topic requires: all of us.

So I submitted a session called "Your brain health is more important than your standing desk", where I would present about this topic in front of the whole DrupalCon audience.

Vote for Michael's Community Keynote

How to vote: To vote you need to be logged in to see and click on "vote for this session".

Thank you very much for your support!

Michael
@Schnitzel

Categories: Elsewhere

Drupalize.Me: Drupal 6 End-of-Life and Migration Planning

Tue, 08/03/2016 - 15:30

Drupal 6 was released in February of 2008 and on February 26th, 2016, after 7 years, Drupal 6 was retired, in accordance with the Drupal community’s policy of only providing active support for two major versions of Drupal at any given time. While it is possible to migrate a Drupal 6 (or 7) site to Drupal 8, the tools are still in flux. While simple sites make for simple migrations—since most sites are not simple and require considerable research, planning, and effort to migrate—migration remains a complex process. Continue reading to find out more about how Drupal 6's end-of-life impacts Drupal site owners and what options you have if you still run a Drupal 6 site.

Categories: Elsewhere

KnackForge: How to get Microsoft office files downloaded properly through Drupal

Tue, 08/03/2016 - 13:15
How to get Microsoft office files downloaded properly through Drupal

I recently came across situation where the .ppsx files were displayed as some weird characters instead of getting downloaded. For those who aren't aware of the .ppsx file extension, it is nothing but the extension for files created through Microsoft PowerPoint. You can find more information about the Powerpoint file formats here.

suresh Tue, 03/08/2016 - 17:45
Categories: Elsewhere

OpenLucius: Update OpenLucius | March 2016

Tue, 08/03/2016 - 11:26

We updated social intranet OpenLucius (a Drupal distribution) with 6 new functions. Without further ado, let's dive into it:

1. Document management revamped

We completely renewed the document management system (Files). It’s now much more usable and recognizable (Apple Finder / MS Exploder -like); intuitive file management out of the box. Check out this demo video (from ~ 1:24):

Categories: Elsewhere

DrupalCon News: Vote for Your Community Keynote

Tue, 08/03/2016 - 01:41

Come for the code, stay for the community. That’s more than a tagline for Drupal, it’s a manifesto. Having our community members bring topics to the mainstage to share with all Con attendees is an incredible way for them to contribute back and really make an impact on the Drupal community.

Thursday at DrupalCon New Orleans, we will highlight the community by showcasing a Community Keynote on the main stage. This means that someone from within the community will share their experience on stage with you about issues that you're interested in.

Categories: Elsewhere

Drupal @ Penn State: #ELMSLN is #git &#039;in fun with Git Book

Tue, 08/03/2016 - 00:26

It’s been a few months since I first mentioned the Git Book module here on DPE. I haven’t done much with it since but was able to scrape together a rather epic sprint today. Coupled with improvements to ELMSLN in general, this thing is getting close to a pretty killer workflow for book creation. The scenario we’re striving for:

Categories: Elsewhere

Acquia Developer Center Blog: Chris Pliakas on the Scrum Process, Working with Drupal, and What’s Next for Content Hub. Part 2 in a Series.

Mon, 07/03/2016 - 20:48

In Part 1 of this 2-part series, Chris Pliakas, the director of Content Services Engineering at Acquia, described how he managed the Acquia Content Hub project, which was released in November, 2015. In this, the second part of the interview, he discusses the Scrum process, the benefits of working with an open source framework like Drupal, and what’s next for the Content Hub project.

Tags: acquia drupal planet
Categories: Elsewhere

Zivtech: Bob Moul will be the keynote speaker for Drupaldelphia 2016

Mon, 07/03/2016 - 18:13

Drupaldelphia has announced that Bob MoulMoul is the 2016 keynote speaker.

Drawing from 35 years of experience ranging from start-ups to Fortune 500 companies, Bob Moul will share lessons he learned on his journey from the mailroom to tech CEO. The keynote, titled “How to Succeed at Success - Stacking the Odds in Your Favor,” will focus on how to build a successful and empowered life while balancing relationships, health, and, of course, a business itself. This keynote will share practical tips, insightful quotes, and real life experiences gained from his work in different cultures around the world, making and losing money, and even failure.Moul will share lessons he learned on his journey from the mailroom to tech CEO. The keynote, titled “How to Succeed at Success - Stacking the Odds in Your Favor,” will focus on how to build a successful and empowered life while balancing relationships, health, and, of course, a business itself. This keynote will share practical tips, insightful quotes, and real life experiences gained from his work in different cultures around the world, making and losing money, and even failure.

In addition to his many years of experience and current position as CEO of Cloudamize – a leading cloud infrastructure analytics company – Bob Moul is also an active advocate for entrepreneurship and education in Philadelphia. He serves on the board of directors of the Philadelphia Industrial Development Corporation (PIDC), the Philadelphia Alliance of Capital and Technology (PACT), Ben Franklin Technology Partners of Southeastern Pennsylvania, Philadelphia Academies Inc., USA250, as well as being the former chair and president of Philly Startup Leaders.Moul is also an active advocate for entrepreneurship and education in Philadelphia. He serves on the board of directors of the Philadelphia Industrial Development Corporation (PIDC), the Philadelphia Alliance of Capital and Technology (PACT), Ben Franklin Technology Partners of Southeastern Pennsylvania, Philadelphia Academies Inc., USA250, as well as being the former chair and president of Philly Startup Leaders.

Bob was named a 2011 Ernst & Young Entrepreneur of the Year finalist for Philadelphia, the 2013 Small Business Person of the Year by the Philadelphia Chamber of Commerce, and one of the most influential business people in Philadelphia by both Philadelphia Magazine and the Philadelphia Business Journal.

Bob’s career-long dedication to innovation, the technology industry, and community engagement ensures this keynote will go well beyond traditional keys to success. His insights from a long and illustrious career will bring a well-rounded perspective to Drupaldelphia 2016.

More about Drupaldelphia

Drupaldelphia is Philly's annual gathering for all things Drupal, the open source content management system. This event attracts developers, site-builders, content administrators, designers, and anyone interested in using Drupal in their organization or upcoming project. This spring, it will again be hosted at the Pennsylvania Convention Center at 1101 Arch St Philadelphia, PA 19107. You can buy tickets now on the Drupaldelphia website.

* This post is based on a press release that originally appeared on Drupaldelphia.

Categories: Elsewhere

Drupal Association News: Voting Open for 2016 At-Large Board Seats

Mon, 07/03/2016 - 17:50

Voting is now open for the 2016 At-Large Board positions for the Drupal Association! If you haven't yet, check out the candidate profiles and review the Meet the Candidate sessions (we ran three) that we held. Get to know your candidates, and then get ready vote.

Cast Your Vote!

How does voting work? Voting is open to all individuals who have a Drupal.org account by the time nominations open and who have logged in at least once in the past year. These individuals' accounts will be added to the voters list on association.drupal.org and they will have access to the voting.

To vote, you will rank candidates in order of your preference (1st, 2nd, 3rd, etc.). The results will be calculated using an "instant runoff" method. For an accessible explanation of how instant runoff vote tabulation works, see the this video.

Elections will be held from 7 March through 18 March (midnight UTC) 2015. During this period, you can still review and comment on candidate profiles.

Have questions? Contact Drupal Association Executive Director Holly Ross.

Categories: Elsewhere

IXIS: Drupal 8: Creating field types with multiple values

Mon, 07/03/2016 - 16:15

In learning about custom Drupal 8 module development, I found plenty of very simple field module examples, but none that covered how to store more than one value in a field and still have it work properly, so it's time to fix that.

To save you typing or copy and pasting things around all the code in this post is available on Github at https://github.com/ixis/dicefield

Concepts

There are three main elements to define when creating a field type:

read more

Categories: Elsewhere

tanay.co.in: Drupal Association Board Elections - Shyamala for Director at Large

Mon, 07/03/2016 - 11:31

Starting Monday, you can vote for the next at-large director on our board. Before you do, our candidate sessions: https://t.co/B0lUqmUac4

— Drupal Association (@DrupalAssoc) March 4, 2016

Drupal Association Board Elections are around. So what are these elections? How would it matter to anyone in the Drupal community? Why should one vote?

The At-large Director position is Drupal Association’s way to ensure community representation on the Drupal Association board. ie, you could have a share in shaping the future of Drupal Association by voting for the right candidate whom you think would best represent the community’s interests. You can see the list of candidates competing for this here. More about the election process here.

I have decided to vote for Shyamala Rajaram. I met Shyamala for the first time in November 2008 at a Chennai Drupal Meetup, which she had organized. I had just moved into the city, for my job at TATA Consultancy Services. That was my first weekend in Chennai. Didn’t have many friends around and a lot of time to kill. Drupal, at that time to me, was one of the many CMSs that I had freelanced earlier. Although it was my favorite. But I never saw it as a career option. And was surprised to see a meetup happening in Chennai that weekend and thought of dropping by.

But the meetup definitely had a significant impact on my life and career. I had dabbled a lot with Drupal while in my college (Vellore Institute of Technology). Though Drupal was my favorite, I had always seen in as one of the many CMSs that were mushrooming every day in the PHP ecosystem. This specific meetup gave me an opportunity to see that Drupal and its community existed outside of the internet as well ;-)

And what surprised me the most was that the newspaper portal that I read every day then, one of the largest in India, was actually powered by Drupal, and architected by none other than Shyamala and her team!

Being one of the first adopters of Drupal in India, Shyamala has been organizing meetups in and around Chennai since 2007. She has spearheaded many community initiatives, including taking Drupal to Colleges in and around Chennai.

I believe she has the right mix of leadership and technical capabilities and can best represent the Drupal community in general, and India & Asia in specific, on the board of Drupal Association. All the very best Ma’am!

 
Categories: Elsewhere

Zoocha Blog: Setting up Drupal Code Sniffer

Mon, 07/03/2016 - 11:22

A few weeks ago I had to go through the process of setting up php code sniffer on my new computer, and realised how confusing most of the blog posts out there are and how many loops and posts you have to jump through to get it set up.

I decided to write a quick post with all the commands in one place and small descriptions for most of the commands:

Installing Drupal Coding Sniffer

1. Download php code sniffer (source code: https://github.com/squizlabs/PHP_CodeSniffer)

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

sudo mv phpcs.phar /usr/bin/phpcs

sudo mv phpcbf.phar /usr/bin/phpcbf

sudo chmod a+x /usr/bin/phpc*

Test that it's installed by running phpcs -hand it should output the code sniffer help.

2. Download the Coder module

Note: download the 8.x branch, even if you intend to use it on Drupal 7.

You can download it in any 'normal' folder, but not in a Drupal project.

cd /folder/where/i/want/coder

drush dl coder

It should download the latest version which is 8.x - if it doesn't then add --select to the drush command and choose the 8.x branch.

3. Add Drupal standards to PHP Code Sniffer

Tell phpcs to use the Drupal standards from the downloaded Coder module:

sudo phpcs --config-set installed_paths /folder/where/i/want/coder/coder/coder_sniffer

At this point you have PHP Code Sniffer set up with Drupal coding standards.

You can use it from command line by running:

phpcs --standard=Drupal file/to/check

or add it to your favourite text editor/IDE.

Adding code sniffer to Sublime

Here are the few steps you need to follow to add it to Sublime Text 2/3:

1. Download the Sublime Build file from the repo: https://github.com/sirkitree/DrupalCodingStandard

wget https://raw.githubusercontent.com/sirkitree/DrupalCodingStandard/master/DrupalCodingStandard.sublime-build -O ~/.config/sublime-text-3/Packages/User/DrupalCodingStandard.sublime-build

If you don't know where your Sublime installation saves its packages then open Sublime, go to Preferences > Browse Packages, and replace the above path with yours.

2. Activate the Drupal Build file by going to Tools > Build System > DrupalCodingStandard in Sublime.

3. Open any Drupal file and hit Ctrl (Cmd) + B to run the sniffer on that file.

Adding code sniffer to PHPStorm

I have recently started using so am slowly getting used to it and setting up features I used to use in Sublime. Adding PHPCS to PHPStorm is simple and only takes a few steps.

Go into the Settings and either search for the keywords 'code sniffer' or go to Languages&Framerworks then Code Sniffer under the PHP section.

In the Development environment I have chosen Local and clicked on the ... next to the drop down. Add your /usr/bin/phpcs path to the phpcs path and click Validate to make sure it picks it up.

Now that you have phpcs added as a code sniffer we need to tell the 'Inspections' to use it.

In the same settings window, either search for 'code sniffer' again, or go directly to Editor > Inspections. Tick the box for PHP Code Sniffer validation under PHP and then choose the 'Coding standard' from the right hand pane. If the only values in the drop down are 'Custom' or you cannot find 'Drupal' in there then hit the little 'refresh' button next to the drop down and it should pull all the coding standards added to your php code sniffer. Then choose 'Drupal' from the drop down and you are good to go.

The code sniffer will start adding errors/warnings inline in Drupal files, or you can run a code inspection manually by going to Code > Inspect Code and choosing either the whole project or the current file.

 

Sources:

http://github.com/squizlabs/PHP_CodeSniffer

https://www.drupal.org/project/coder

http://github.com/sirkitree/DrupalCodingStandard

http://www.jetbrains.com/phpstorm/help/using-php-code-sniffer-tool.html

Categories: Elsewhere

Appnovation Technologies: Responsive Design for the End User

Sat, 05/03/2016 - 17:27

We're now at the point where we're finding, at least from the UK outpost of Appnovation, that a client is not additionally requesting a responsive design aspect

Categories: Elsewhere

Drupal Bits at Web-Dev: Look Ma, No Hands Drupal Deployment

Sat, 05/03/2016 - 13:36

This presentation was given at the 2016 Florida Drupalcamp in Orlando on 5/05/2016. It covers my experience and recommendations for how to do continuous integration or continuous deployment with Drupal 7 websites and the role played by hook_update_N() to orchestrate code and configuration changes with releases.

Categories: Elsewhere

Drupal Bits at Web-Dev: D7: Make a Custom Site Deploy Module with One Drush Command

Sat, 05/03/2016 - 03:09

Thanks to the writing and efforts of Dcycle, Befused and others, there is a lot of good information out there on why and how to use a custom deploy module in Drupal 7 to manage the deployments of code and settings on your websites.  They describe them pretty clearly and make it a simple process to copy and paste  bits of code to assemble your own custom deploy module.  What could be wasier than that?  How about 'drush site-deploy-init'. That one command will build a site_deploy module for you inside modules/custom.  Of course to get that one command, you have to  'drush en hook_update_deploy_tools' first.

Hook Update Deploy Tools gives you a lot of power to implement your deploy strategy and it plays nicely with an existing custom deploy module or the module site_deploy that it creates when you 'drush site-deploy-init'.  The reason they get along so well is that hook_update_deploy_tools can be made aware of your custom deploy module(s). For example when you use hook_update_deploy tools to export a Rule, it exports it to your custom deploy module... or your custom Rules Feature.  When you ask it to import your Rule, it knows where to look for the import file.  There is power in contrib modules being aware of custom modules.

For the full list of all the methods that Hook Update Deploy Tools makes available, check the module page as the list is continuously growing.  Here is the list as of today.

  • Enable, Disable, Uninstall Modules

  • Revert Features

  • Delete Fields

  • Update node properties and simple field values

  • Update node aliases

  • Set Drupal variables {alter site config}

  • Create / update Menus from menu import file

  • Create / update rules from a rule import file

  • Export rules with Drush

  • Messages and logging

 

Categories: Elsewhere

Chapter Three: Why I Recommend Acquia for Drupal 8

Sat, 05/03/2016 - 01:15

I am often asked to make a hosting partner recommendation for our customer's Drupal sites. I try to keep an open mind about the different providers and their individual strengths and weaknesses, but lately I've noticed that the same recommendation keeps coming up at the top of my list.

Categories: Elsewhere

Stanford Web Services Blog: Announcing Stanford Drupal Camp 2016!

Sat, 05/03/2016 - 00:54

We are excited to announce that registration and session proposals are now open for Stanford Drupal Camp 2016!

Register now for the seventh Annual Stanford Drupal Camp April 1-2, 2016 at the Stanford Law School.

https://drupalcamp.stanford.edu/user/register

Categories: Elsewhere

Pages