Skip to Content

Drupal

Axelerant Blog: Agile Drupal Support Teams Like Ours Are Self-Organized

Planet Drupal - 28 April 2016 - 11:00am

What do the best agile Drupal support teams, plasma laser systems,

and flocks of birds have in common? 

 They’re self-organizing. And you’ve got to see the big picture to get it. I’ll show you.

First off, I suppose should tell you that I’ve been studying self-organization as a scientific discipline for the last decade. It’s a good thing I like this stuff, right? During this 10 year journey I’ve jumped into various subjects: plasma laser systems, educational technology, robotics and computer simulations, Drupal project management, and of course: organizational dynamics.

What I found is that when you get the depths of each of these topics, it’s too easy to see the similarities. Each allows for a systemic view—the big picture.

But before we get in too deep here, let’s cover some basics. A system is a collection of interacting components, each having its purpose. The what doesn’t matter; it’s about the how. It could be plasma particles in laser-plasma interactions, it could be a team working on a project, it could be functional groups interacting to form an organization, it could be a flock of birds flying together constantly maintaining distance. The list is endless.

What we’re talking about here are fixed systems. System that:

(A) Can produce the same outcomes in different ways in the same environment and different results in the same and different environments

(B) Can not only learn and adopt but also create

Agile Drupal support teams are great examples.

They are in effect flexible, scaleable systems that have to naturally adapt to function in a changing environment or perform within a constant environment. Agile facilitates evolution and adaption, meaning fully-agile Drupal teams can do this.

So how does this science work with agile Drupal teams?

Agility in Drupal project management is a simple way to look at project teams as self-organizing nonlinear systems. This system is a network of interacting autonomous entities, all working towards the project’s goal. Each team member is autonomous, and the goal is value-driven.

As an example, Scrum which is an agile model with its three pillars of transparency is a framework that allows the teams to work towards the objective that makes the team most productive. Through this, team productivity is far more important than individual productivity. So while autonomy is taking place, collective achievement is the end-result.

The systemic view of agile teams also explains why clients are expected to be an active participant in the dynamics. The client is a component of the whole system which impacts the input flux, the project’s requirements, and output flux, the project’s releases, by defining priorities and needs.

Every kind of system needs a set of guiding rules.

Scrum, one kind of an agile technique framework for things like agile Drupal QA, is nothing but a set of rules that the project team as a system agrees to play by to meet their goals. Scrum isn’t a methodology—it’s a set of steps that have to be followed, like a manual.

The objective of any system is to improve continuously and emerge. Emergence here means achieving something that wouldn’t be possible independently. It takes an integrated team.

If we look at a project team, scrum does allow agile Drupal retrospectives as a tool or technique for continuous improvement. The main purpose of any environment where any system operates is to design interventions towards improved performance of the system.

Self-Organizing Drupal Support Teams?

So in this way, the best Drupal team can be a self-organizing system, and why not? The science does not limit the volume or size of the system. Perhaps a better word would be a self-organizing dynamic system, through constant retrospection and agility. You can bring stability to chaotic situations—or steep and changing demands or requirements—to meet a shared goal or organizational vision.

Today the discipline of System Dynamics is being used to model the software development life cycle, SDLC, processes we commonly use today. Or at least, that’s what we’re using successfully with our agile Drupal support teams. It works.

You can make this happen.

Applying agile and enabling self-organization might cause some growing pains at first. At Axelerant, we’re transitioning our content department to agile frameworks. It takes time. But for many organizations—perhaps yours?—the way teams go about creating things like dynamic software needs to change.

How?

Agencies with flexible Drupal services, centered on agile practices and self-organizing principals, can help bring this to you. Because enabling self-organization may not be an in-house option right now. But one thing is absolutely for certain—whether you partner with a team like ours of if you go about self-organizing yourself. Things will never be the same.

Want an agile Drupal support on your side? Click Onward. jQuery(document).ready(function() { var custom_cta_viewed = false; jQuery(document).scroll(function() { if ( typeof ga !== 'undefined' && typeof isScrolledIntoViewPort !== 'undefined' && jQuery.isFunction( isScrolledIntoViewPort) && isScrolledIntoViewPort('.custom-cta') && custom_cta_viewed == false ) { custom_cta_viewed = true; ga('send', 'event', 'cta', 'view', 'drupal-support-maintenance'); } }); });

This article was originally published on November 11, 2015. It has since been updated.

This article Agile Drupal Support Teams Like Ours Are Self-Organized by Karuna Batra first appeared on Axelerant - Axelerant: Expert Drupal Development, Support, & Staffing.

Categories: Drupal

ImageX Media: Q&A with Lead Front-End Developer, Trent Stromkins

Planet Drupal - 28 April 2016 - 9:33am

ImageX’s front-end development lead, Trent Stromkins, brings a unique background to his role. As a former designer, he uses his love for good design to develop with aesthetics and user experience in mind by marrying form and function. We spoke with Trent to discuss his experience and his thoughts on where design and development intersect.

 

Categories: Drupal

Phponwebsites: Create a node programmatially in Drupal 7

Planet Drupal - 28 April 2016 - 8:24am
      This blog describes about how to create a new node programmatically in Drupal 7. If you want to add a new node, you can done at node/add by default. In Drupal, you can also add a node programmatically. Let see the below code.

<?php
// create object
  $node = new stdClass();
  // set title for a node
  $node->title = t('Created node programmatically');
  // set node type
  $node->type = 'article';
  // set node language
  $node->language = LANGUAGE_NONE;
  // set value to node body
  $node->body[LANGUAGE_NONE][0]['value'] = t('This node has been created programmatically in Drupal 7');
  // set value to node body summary
  //$node->body[LANGUAGE_NONE][0]['summary'] = text_summary(t('This node has been created programmatically in Drupal 7'));
  // set node body format like plain_text, filtered_html, full_html
  $node->body[LANGUAGE_NONE][0]['format'] = 'filtered_html';
  node_object_prepare($node);
  // author for a node
  $node->uid = 1;
  // status of node  0 - unpublished, 1 - published
  $node->status = 1;
  // promoted to front page or not
  $node->promote = 0;
  // sitcky at top of tha page
  $node->sticky = 0;
  // comments 0 - hidden, 1 - closed, 2 - opened
  $node->comment = 1;

  // add term
  $node->field_tags[$node->language][]['tid'] = 1;

  // get the file path
  $file_path = drupal_get_path('module', 'phponwebsites') . '/Desert.jpg';
  // create file object
  $file = (object) array(
    'uid' => 1,
    'uri' => $file_path,
    'filemime' => file_get_mimetype($file_path),
    'status' => 1,
  );
  // Save the file to the public directory. You can specify a subdirectory, for example, 'public://images'
  $file = file_copy($file, 'public://');
  // assign the file object into image field
  $node->field_image[LANGUAGE_NONE][0] = (array)$file;
  // Prepare node for a submit
  $node = node_submit($node);
  //save the node
  node_save($node);


    After ran this code, you can see newly created node at admin/content. When you view that node, it looks like below image:



     Now I’ve hope you know how to create a new node programmatically in Drupal 7.
Related articles:
Add new menu item into already created menu in Drupal 7
Add class into menu item in Drupal 7
Create menu tab programmatically in Drupal 7
Add custom fields to search api index in Drupal 7
Clear views cache when insert, update and delete a node in Drupal 7
Create a page without header and footer in Drupal 7
Login using both email and username in Drupal 7
Redirect users into any page after logged into a site in Drupal 7
Categories: Drupal

Chromatic: May the Git --FORCE Be With You [Advanced Git Webinar]

Planet Drupal - 28 April 2016 - 7:46am
5/25/16 – 10:00PST ~ 13:00EST ~ 17:00UTC

Register Now!

You know how to get things done with git: pull, add, commit, push; but have you mastered it like a jedi does the force? Nothing is a more lasting record of our work then our git commits. In a galaxy where companies ask you for your Github account in lieu of, or in addition to a resume, we have one more reason to make sure that our commit history is as readable as our code itself.

In this one hour session, we will cover:

  • Rewriting commits
  • Reordering commits
  • Combining commits
  • The perfect commit message
  • Finding bugs using git
  • Avoiding common pitfalls

Join us for this session and you will leave a jedi-level git master!

These Are Not the Commits You're Looking For

Register Now!
Categories: Drupal

Chromatic: Chromatic Site Launch Guide

Planet Drupal - 28 April 2016 - 7:46am

When we prepare to launch a site, we all generally follow a rough checklist of items (if only in our own minds!) to ensure sure that all systems are go. At Chromatic, we wanted to produce a repeatable process that we could share not only amongst ourselves, but also with the community; and so the Chromatic Site Launch Guide was born.

We are hosting this guide outside of our blog as it is a living document and will change over time. Feel free to bookmark it and refer back to it the next time you are preparing to launch a site. The content is generated from a repository on Github, which means modifications via pull requests are welcome!

Categories: Drupal

Panels Visibility Variable

New Drupal Modules - 28 April 2016 - 7:36am

Allows showing/hiding a panel pane based on a variable value.
Includes an example on how to write a module that creates a UI for custom variables manipulation, but you can always use 'drush vset' to experiment.

Categories: Drupal

Demo Framework Scenario - Drupal PM

New Drupal Modules - 28 April 2016 - 7:11am

The Demo Framework highlights powerful features created by the Drupal community and is intended to be used as a starterkit for promoting enterprise-ready Drupal solutions.

This project is a Demo Framework Scenario for Drupal PM module.

Read more about Demo Framework here.

Drupal PM Demo (dfs_pm)

Project Management scenario focussed on showcasing the power of Drupal PM.

Categories: Drupal

Aegir Ansible

New Drupal Modules - 28 April 2016 - 6:25am

This module provides several tools to turn your Aegir server into an Ansible-powered server managing machine.

It contains a number of small sub modules:

Categories: Drupal

CKE Placeholder

New Drupal Modules - 28 April 2016 - 4:12am

CKE Placeholder is a plugin module that allows for easy addition of bodyfield content.

Categories: Drupal

Drop Guard: Probo.CI and Drop Guard work together for better QA process

Planet Drupal - 28 April 2016 - 3:23am
Probo.CI and Drop Guard work together for better QA process Igor Kandyba Thu, 28.04.2016 - 12:23

Not long ago we were talking about the value of testing your updates in feature branch instances. It's the most efficient way of ensuring the quality of applied updates, but it's very time-consuming.

To use this process, you are required to maintain your own infrastructure to spin up QA servers quickly, run automated tests and share the testing instance between team members. And preferably, you do it every time an update is applied for any of the modules across your websites.

Probo.CI integration QA Drop Guard recipes Drupal Planet
Categories: Drupal

Ajax loader

New Drupal Modules - 27 April 2016 - 10:21pm

The ajax loader module provides you alternatives to the default drupal core ajax throbber. When this module is configured, it overrrides the default drupal throbber.
(the custom throbbers are pure CSS)

Installation

See the README.txt file for detailed installation instructions.

Categories: Drupal

FakerMaker

New Drupal Modules - 27 April 2016 - 7:33pm

Using Faker module to generate sensible content during development.

Categories: Drupal

Jeff Geerling's Blog: Migrate a custom JSON feed in Drupal 8 with Migrate Source JSON

Planet Drupal - 27 April 2016 - 7:21pm

Recently I needed to migrate a small set of content into a Drupal 8 site from a JSON feed, and since documentation for this particular scenario is slightly thin, I decided I'd post the entire process here.

I was given a JSON feed available over the public URL http://www.example.com/api/products.json which looked something like:

Categories: Drupal

Lullabot: A Framework for Project Kickoffs

Planet Drupal - 27 April 2016 - 4:05pm

Project kickoffs can be the shortest individual component of a project, but they can also be the most important. Done poorly, a kickoff can feel like a reading of a contract by inhuman actors doing inhuman work. Done well, a kickoff can bring a team together and push them towards success. Kickoffs are one of the project skills we don’t get many opportunities to iterate and learn. Developers at Lullabot commonly end up attached to a client or project for many months (or years!) at a time, so it’s entirely possible to go that period of time without having a formal kickoff. Here are some thoughts I’ve had after doing several kickoffs this year.

About the Client

In a distributed team, a kickoff usually happens with a phone call. While pre-sales communication will have already happened, the kickoff call is usually the first time when everyone working on a team will be together at once. As a team member from the vendor, this is your chance to ask questions of the business stakeholders who might not be available day to day. I like to find out:

  • Why are we all here? Are the business, technology, or creative concerns the primary driver?
  • What is the business looking for their team to learn and accomplish?
  • What are the external constraints on the project? Are there timelines and due dates, or other projects dependent on our work? What are the upcoming decisions and turning points in the business that could have a big affect on the project?
About Me

We all have ideas about how we want to work and be utilized on a project. Making sure they align with the client is very important to work out during a kickoff. Sometimes, a client has specific priorities of work to get done. Other times, they might not have realized you have skills in a specific subject area that they really need. It’s really important to understand your role on a project, especially if you have multiple skill sets. Perhaps you’re a great Drupal site builder, but what the client really needs is to use your skills to organize and clean up their content model. Figuring all of that out is a great kickoff topic.

About Us

Once we understand each other, then we can start to figure out how we work together. It’s kind of like moving in with someone. You might know each other very well, but how are you going to handle talking with your landlord? How are each person’s work schedules going to integrate?

For a distributed team, communication tools are at the core of this discussion. We all have email, chat rooms, instant messaging, video, and more. What tools are best used when? Are there specific tools the client prefers, or tools that they can’t use because of their company’s network setup? Finding the middle ground between “all mediums, all the time” and “it’s all in person until you ask” is key.

Recurring meetings are another good topic to cover. Some companies will take new team members, add them to every recurring meeting, and use up a 10 hour-per-week consulting engagement with nothing but agile ceremony. Perhaps that’s what you’re needed for—or perhaps they’ve just operated out of habit. Finding a good balance will go a long way towards building a sustainable relationship.

Sharing each person’s timezones and availability also helps to keep expectations reasonable. Some companies have recurring meetings (like Lullabot’s Monday / Friday Team Calls) which will always be booked. Sometimes individuals have days their hours are different due to personal or family commitments. Identify the stakeholders who have the “worst” availability and give them extra flexibility in scheduling. Knowing all of this ahead of time will help prevent lots of back-and-forth over meeting times.

Finally, find out who you should go to if work is blocked. That might be a stakeholder or project manager on the client’s side, but it could also be one of your coworkers. Having someone identified to the team as the “unblocker of work” helps keep the project running smoothly and personal tensions low.

About Tech

For development projects, the first question I ask is “will we need any sort of VPN access?”. VPN access is almost always a pain to get set up—many companies aren’t able to smoothly setup contractors who are entirely remote. It’s not unheard of for VPN access to take days or weeks to set up. If critical resources are behind a VPN, it’s a good idea to start setting that up before an official kickoff.

Barring the VPN-monster, figuring out where code repositories are, where tickets are managed, and how development and QA servers work are all good kickoff topics. Get your accounts created and make sure they all work. If a client is missing anything (like a good QA environment or ticket system), this is when you can make some recommendations.

About Onsites

Some projects will have a kickoff colocated somewhere, either at a client’s office or at a location central to everyone. In distributed teams, an in-person meeting can be incredibly useful in understanding each person. The subtle, dry humour of your video expert becomes apparent in-person, but could have been misunderstood online. Most of the above can be handled in the first hour of an onsite visit, leaving much more time to fill given the travel time!

We like to focus onsites on the topics that are significant unknowns, require a significant number of people across many teams, and are likely to require whiteboards, diagrams, and group brainstorming. Project discoveries are a classic fit; it’s common to meet with many different people from different departments, and doing first meetings in person can be a significant time saver. The goal of an onsite shouldn’t be to “kick off” the project—it should be to build the shared understanding a team needs so they can be effective.

But what about sales engineering?

I’m sure some readers are now thinking “Wait a minute! Aren’t these all things you should know before a contract is signed?”. It’s true! Going into a kickoff without any of this information would be a serious risk.

It’s important to remember that the team on a kickoff isn’t going to be identical to the team who did the sales engineering work. Both the client and the vendor will have new people just getting started. As well, it’s useful to hear the project parameters one more time. Discrepancies in the discussions can alert the team to any misunderstandings, or more likely changes in the business environment running up to the signing of the contract. Especially on projects where a team is already working, hearing about progress or changes made in the week between signing an SOW and kickoff can be invaluable.

What did you learn the last time you helped to kick off a project? Let us know in the comments!

Categories: Drupal

DrupalEasy: Just in case - Drupal 8's /core/rebuild.php

Planet Drupal - 27 April 2016 - 11:59am

Drupal 8 has lots of things that Drupal 7 doesn't have - a modern object-oriented foundation, the Twig templating system, and WYSIWYG out-of-the-box - just to name a few. There's also a good number of less flashy additions that are designed to improve the developer experience. One of these additions is the /core/rebuild.php file. 

While it is common knowledge that clearing rebuilding Drupal's caches is good practice during development, Drupal 8 brings a new tool to the table to get it done. Previous to Drupal 8, most developers utilized Drush to clear caches, some less-efficient folks cleared caches from the user interface (usually from the Admin Menu, but sometimes - gasp! - from the admin/config/development/performance page). 

Drupal 8 comes with a new /core/rebuild.php file that doesn't require the Drupal 8 site to be functioning (fatal errors, anyone?) nor does it require Drush or Drupal Console. Instead, as long as your site's configuration allows it, all you have to do is navigate to /core/rebuild.php in your browser. As Drupal's documentation states, this "Rebuilds all Drupal caches even when Drupal itself does not work."

How do you know if your site's configuration supports this functionality? Well, if you're working locally (and if you're developing, you should be working locally), then just make sure that $settings['rebuild_access'] = TRUE; in your settings.php (or, better yet, settings.local.php). The other method involves running the /core/scripts/rebuild_token_calculator.sh script from the commandline, and using the results as query parameters for /core/rebuild.php (see "Method II" on https://www.drupal.org/node/2153725).

Granted, most developers have Drush and/or Drupal Console installed everywhere they're working, but it's always good to have a backup method for rebuilding Drupal's caches - just in case.

Categories: Drupal

Chromatic: Chromatic at DrupalCon New Orleans

Planet Drupal - 27 April 2016 - 9:36am

DrupalCon New Orleans is nearly here and Chromatic will be attending in full force! Here's the rundown of what you need to know:

Learn About Render Arrays from Gus Childs

Gus will be presenting his session on Drupal 8 render arrays on Tuesday at 1pm in the Blackmesh Room (267-268): Aha! Understanding and Using Render Arrays in Drupal 8. If you're ever been confused by render arrays or just want to learn the best practices for how you're supposed to use them, be sure not to miss this session. Gus happens to be an awesome presenter to boot!

Schedule or Attend a BoF in the Chromatic Room

We're once again sponsoring a Birds of a Feather room. BoFs are a great way for folks to get together and discuss interesting topics in a more informal setting. There's already some great BoFs scheduled for the Chromatic room, including one on Drupal VM and Local Development from the well-known geerlingguy. We have a couple BoFs of our own too:

If you have a great idea for a BoF, schedule one for the Chromatic room!

Connect with Us at one of the Summits

In addition to attending the conference proper, we're once again sending our leadership to the Business Summit, as well as sending a couple of folks to the Media & Publishing Summit.

Grab Some Swag

Every year, DrupalCon attendees rave about how awesome and comfortable our t-shirts are. That's because we don't believe in making swag that we ourselves wouldn't love to wear. This year is no different. For NOLA, we've made a limited run of some special vintage baseball tees, printed on 3/4 sleeve American Apparel 50/50 cotton. These shirts are our best yet and we want to give you one for FREE!

See you in New Orleans!

Categories: Drupal

Commerce Quantity Increments

New Drupal Modules - 27 April 2016 - 9:31am

Commerce Quantity Increments is a small module on top of Drupal Commerce, that provides possibility to set and validate quantity increments on a per product variation level.

Requirements

Commerce Quantity Increments depends on Drupal Commerce of course, given a strict dependency on commerce_product sub module and a soft dependency on commerce_cart.

This module is only available for the Drupal 8 version of Drupal Commerce!

Categories: Drupal

ImageX Media: Inbound Marketing in 2016 - Why it's Essential to Your Web Success

Planet Drupal - 27 April 2016 - 7:44am

Devising an effective inbound marketing strategy is vital for countless reasons, and is critical for the growth of business in terms of gaining exposure, building your brand, and truly 'connecting' with prospective leads and customers, members of your industry's target audience.  

There are countless reasons this type of marketing is so essential to your success on the Internet, including:

Categories: Drupal

Social Widgets

New Drupal Modules - 27 April 2016 - 7:07am
Categories: Drupal

Double Entry Bookkeeping

New Drupal Modules - 27 April 2016 - 7:07am

Bookkeeping provides double entry bookkeeping inside Drupal. This can be integrated with any system via the API or Rules to keep track of the movement of money between accounts. Comes with a basic integration with Drupal Commerce.

This data can then be exported for import into out accounting systems.

Categories: Drupal
Syndicate content


Google+
about seo