In this lesson, you will hear a variety of perspectives on the many facets of client communication. As trust directly impacts communication, you will hear about how trust varies depending on the type of project. In difficult conversations, learn about the importance of listening. To build trust and manage tricky situations, learn about transparent, proactive communication of risk factors. On a practical level, you’ll learn about the importance of translating client discussions into action items for the development team, and how the ticket queue can be a great place to capture important discussions and facilitate client communication with the project team.
In this lesson, you will learn some strategies for aligning and managing client expectations from the perspective of sales and account management. Learn how you, as a project manager, can work with an account manager to effectively communicate with a client to find out whether or not expectations are being met.
In this lesson, you’ll learn about the essential elements of a successful project kick-off meeting or on-site, including who should be there and what should be done during this time.
In this lesson, you’ll learn strategies for identifying and dealing with problems, risks, and red flags on a project. You’ll also learn tips for being a proactive and diplomatic communicator, ensuring that progress and velocity is up to speed, and the importance of minding the boundaries of your relationship with the client and how to effectively advocate for the project, without forgetting the people who can ultimately make the project successful.
Additional resources
In this lesson you will learn about different approaches to Quality Assurance (QA), the importance of doing QA throughout the project, and how QA can be used as a basis for documentation and help for the client.
Additional resources
Testing the front end with CasperJS
Automate Your Life with Phing
CSS Regression Testing with Resemble.js
Write A Hello World Test for Drupal 7 with SimpleTest
Automated Testing in Drupal 7 with SimpleTest
Quality Assurance with Selenium
Careful with that Debug Syntax
In this lesson, you’ll learn about demoing your progress to the client and the team, along with some things to consider in a prototyping process. We'll also talk about retrospectives, when the team takes time to review not just the work produced but the process behind it as well.
In this lesson, you’ll learn some tips for ensuring a successful launch and the importance of celebrating the accomplishments of the team.
Git
TopicThe Git version control system can help you keep track of changes in your codebase and make sure you don't unintentionally lose work.
Security
TopicKeeping a Drupal site secure requires monitoring security announcements, performing regular updates, and knowing how to properly use Drupal’s APIs to write secure code.
HTML and CSS
TopicHTML and CSS are the foundational languages for how browsers display web pages.
YAML
TopicYAML, which stands for YAML Ain't Markup Language, is a human-readable data serialization format that's been widely adopted in a variety of use cases in Drupal.
Learn about resources to guide you through the process of updating a module or theme to the latest version of Drupal.
AJAX is one of the main reasons to use a Javascript library such as jQuery. See how simple it is to perform a previously difficult task that required complex browser specific code to preform reliably and was prone to simple mistakes. Implement basic AJAX requests using jQuery's built in methods which make it extremely simple to send an asynchronous request to a server, gather the returned data, and insert it into the page.
Example code:
// AJAX Live Function
$('.content p').live('mouseenter mouseleave',
function() {
$(this).toggleClass('hilight');
}
);
// AJAX Example
$('.node_read_more a').click(function() {
var url = $(this).attr('href');
var link = this;
$.ajax({
url: url,
success: function(data) {
var $fullContent = $('#content-output .content', data);
var html = $fullContent.html();
$(link).closest('div.node').find('div.content').html(html);
$(link).hide();
}
});
return false;
});
In its short history, jQuery has revolutionized front-end web development, making it faster, easier, and more rewarding to write JavaScript – allowing easier selection and manipulation of HTML elements, and ensuring that scripts work across the ever increasing landscape of browsers and operating systems.
Nate Haug and Jeff Robbins show many hands-on examples demonstrating how to use jQuery's simple syntax to choose and manipulate HTML elements, traverse the document object model (DOM), and to attach event handlers which can react to user interaction with the page.
In this video, Jeff and Nate introduce themselves and the agenda for this series, including Selectors, Effects, and AJAX.
Theming Cheat Sheet
GuideJavaScript
TopicJavaScript (JS) is an interpreted programming language that is widely used on the web to control web page behavior and interactivity.
Learn Drupal
GuideDrupal Console
TopicDrupal Console provided a command line utility for performing common site administration tasks, code generation scaffolding, and a Read-Evaluate-Print-Loop for interacting with your Drupal site.
It is no longer actively maintained. Use Drush instead.
YAML, which stands for YAML Ain't Markup Language, is a human-readable data serialization format that's been widely adopted in a variety of use cases in Drupal. Anyone wanting to write modules, or themes, for Drupal will need to understand YAML syntax. Even site builders are likely to encounter YAML at least in passing as YAML is the data-serialization format of choice for Drupal's configuration management system. Good thing it's pretty easy to learn even with the most basic of programming backgrounds.
This tutorial will look at the YAML data format and provide examples of how to write and read YAML. Starting with an introduction to the language's syntax and some of the strengths of YAML. Then looking at the difference between scalar data types like strings and integers, and collection data types like lists and associative arrays.
Since YAML in the Drupal world is read into PHP and ultimately becomes a PHP data structure that we can use in our own code we'll also look at how the YAML we write in a .yml file is represented in PHP data types. To do this we'll use the YAML Sandbox module that provides a handy textarea into which we can type YAML and have it parsed into PHP data structures.
Learning objectives
- Explain what YAML is and its strengths as a data serialization format
- Create scalar key/value pairs in YAML
- Create lists, and associative arrays using YAML collections
- Understand how the YAML you write is represented in PHP
Tips
- In Drupal, use the .yml extension and not .yaml
- Ensure your code editing application is configured to use spaces (preferably 2 spaces, as per Drupal coding standards), not the tab character when the TAB key is pressed. If you have tab characters in a YAML file within a Drupal environment, a fatal PHP error will be thrown and you'll see a White Screen of Death (WSOD).
- Copy and paste from an existing YAML file to ensure the formatting is correct, and edit from there.
Additional resources
- http://www.yaml.org
- YAML Sandbox module
- Find other tutorials and external resources related to YAML on our YAML topic page (Drupalize.Me)