Valuebound: Free Drupal Training by Valuebound, Bangalore on Drupal Global Training Days on Feb 6th 2016
We are happy to announce that we are running Drupal training sessions on Saturday, Feb 6th 2016 as part of the Global Training Days. The initiative is run by the Drupal Association to introduce newcomers to Drupal.
Come and join us to learn about what Drupal does and how it can help you. We will learn about Drupal and build our first website live.What is a Drupal Global Training Day?
Drupal Global Training Days is a worldwide initiative to increase the adoption of Drupal. All across the world, people are teaching and learning Drupal, and sharing that open source love.What is it?
It's a full dayRead more
Valuebound: Free Drupal Training by Valuebound, Bangalore on Drupal Global Training Days on Feb 6th 2016
One OSTraining member wanted to allow site admins to show the content created by different users.
For example, the admins wanted to see all the articles written by a particular user, or all the orders they made in the store.
I'm going to make this happen by creating a search page using Views.
One of our members wondered if it was possible to automatically calculate the number of results displayed in a View.
Yes, this is definitely possible. To make this work, you will need Views, plus also the Token module installed.
Start with a long list of entries in a View, as in the image below:
A lot of OSTraining members have started to experiment with Drupal 8.
Some of the features are really well documented and are easy to use. Some others require more explanation. One such feature is Configuration Management. The aim of this feature is to make it easier to use a development-live site workflow in Drupal 8.
Here is our introduction to Configuration Management in Drupal 8 ...
Did you recently notice broken images in your Drupal 7 sites? Especially images which were converted from jpg to png using image styles? Then read on!
Part 2 of 2 - Sharing is good for business. Ambrosia Vertesti, Global VP Human Resources at Hootsuite, and I sat down to talk about how open source models are spreading to human resources and other, non-code parts of business today. In part one, I strove to understand HR's needs, terminology, and perspective and what drew Ambrosia and her peers to open source. In part two, our conversation moves on to how open source values like sharing and contribution are helping human resources and a lot more about #HROS.
"The How isn't competitive intelligence. That should be baseline."
I learned about the #HROS movement watching Ambrosia and Lars Schmidt co-present the keynote address at LinkedIn's 2015 Talent Connect conference. Check that video out!Interview video - 22 min. #HROS - Sharing The How
The sharing and contributing aspects of #HROS--the stuff that makes it "open source"--came about out of necessity, just like so many open source software projects and tools. When she was hired as the 20th employee, Ambrosia was the sole HR person at Hootsuite and she was responsible for four other departments ... Welcome to startups! She lacked time and resources and turned to her network for help. "I was in Vancouver. We weren't in the epicenter of innovation and startups. We were in a place that the ecosystem was just growing around us. We needed to collaborate. I was empowered by our founder to take risks and find a different way to do HR. This was my opportunity to see if this thing is real!"
"It started out of necessity and being empowered to take a risk. That was me reaching out to people. 'I'm the only person here. I'm trying to find a way to do things.' I explained the problem I had and asked, 'Do you have The How?' Because a lot of times, people talk about why you should do something and what you should do. If you read Forbes articles about best workplaces and all that kind of stuff, like 'Performance Management Should be Dead!' And I say okay, but how are you going to ensure that you have a high-performance culture that is fair and equitable? So The How is missing from anything you read online. And in safe-safe circles, behind closed doors, people were telling me The How."
"The How isn't competitive intelligence. That should be baseline." Ambrosia recognized that this practical information--what she calls "The How"--is like the code in open source software. It doesn't give you a competitive advantage over others, that all lies in other areas, just like we can all use Linux or Drupal to level the playing field and then compete on other areas of differentiation. "Competitive intelligence is me taking that and making sure it fits with my organization ... I've probably combined it with 4 or 5 other Hows ... It's alchemy. There are things I see as competitive intelligence: compensation, stuff like that."Opening up - asking for help, giving help
I wanted to know how Ambrosia's peers reacted when she opened up to them about her needs, problems, and challenges. She told me, "I found they were very collaborative. My experience has been that anybody I ever sent a Bat-Signal out, asking for help, people have come and helped me. And then I've reciprocated when I was able to." Ambrosia could swap, for example, her expertise in the world of social media for someone else's experience of policy scalability at large corporations. "It was really about equal value propositions. It wasn't just about solving a need. I felt as though we could give something back and that every HR practitioner would have something they're up against," this sounds so familiar to me from the development and website-building world, "and that they could give an equal-value reciprocity ... if the got over themselves and the stereotypes and the reputation."
#HROS isn't the first time HR practitioners have ever shared or collaborated, but Ambrosia explains, "My thought was that we could bring this out into the practitioners' space instead of it being a group of people who were ... sharing because we know each other. What if you're an emerging practitioner? It was a way to even the playing field and a way to showcase that HR is very innovative and they are very collaborative and they do want to support each other. And that nobody does have the perfect answer, so let's all work on it together ... and openly."Partnerships: external and internal
At Hootsuite, Ambrosia is extending this idea to collaborating with employees to improve internal systems and processes, too. "For me and a lot of HR practitioners, the stuff that is servicing people's daily jobs and removing roadblocks and empowering them should be done in collaboration, it should be done openly, and it should be up for debate."
"As HR practitioners, you need to be connected to your employees because they're your customers. So if our team sees us saying 'We did this thing and here's the parts that we missed,' now I've been humanized to them. Now, they're able to come and tell me when things might not be perfect because I'm not projecting and I'm not posturing and I'm not guarding against it. There are things in your job HR that are very serious, very regulated, very compliance-driven, but there are sandboxes where you can have a lot of fun and you can really connect with people. And we want to put some of those things out there to educate not only HR people, but employees, because the more they understand about our profession, the more they understand how we can work together to build a culture and a company that we both want to be at."What are the geeks getting right?
"What are the geeks getting right? High level: The mindset of 'We're all in this together. Let's work on this together. Let's support and share.' ... Those are things that business should be taking into their practices. We're all intellectual capital businesses, those fundamental practices create amazing workflows and better businesses. The engineers got that right. At the very highest level, that is the right mentality to build your business on.More from Ambrosia Vertesti and #HROS on the web
- Open Source Beyond Code: #HROS with Ambrosia Vertesi - 1 of 2
- What the geeks got right. - #HROS - Ambrosia Vertesi part 2 of 2
- #HROS: Open-Source Comes To HR Ambrosia Vertesi & Lars Schmidt, Talent Connect Anaheim Keynote
- Open Source HR - #HROS - hros.co
- When Open Source And HR Collide - Glassdoor
- Insight on Culture, Brand, and Ego from Hootsuite's Ambrosia Vertesi - Techvibes.com
- Name: Ambrosia Vertesi
- Work affiliation: Global VP, Human Resources, Hootsuite
- Twitter: @hambrody
- LinkedIn: Ambrosia Vertesi
- Current projects: #singitfwd "Music changes lives. Pass it on."
- About: Over the past five years running HR for Hootsuite--and growing it from 20 to 1000+ employees!--Ambrosia Vertesi has had to figure out how to keep up with Hootsuite's enormous growth. Dealing with the challenging realities that many of us face at startups, like limited resources, budgets, and (perceived) talent shortages, forced her to get creative. Along the way, she and a group of her peers noticed that software professionals had institutionalized the way they benefitted from swapping favors, and connections to get things done: Open Source HR (#HROS) was born!
Last year we decided to change WalkHub from a feature rich, but difficult to maintain Drupal distribution to a microservice written in Go. This was a hard decision: at Pronovix we’ve been a Drupal shop for over 9 years now and we were also slashing quite a few features in the porting process, but we felt it was the right thing to do. In this blogpost I want to explain why we took this step and what the result is.
Developer experience is our primary concern with this Drupal 8 version of doing CRM.
We thought we could improve the experience of helping developers contribute to the project. We noticed that for Drupal 8 all the cool kids were moving to hosting their development to github, such as with Drupal Commerce, but even core bits of Drupal.
So we did some investigating and decided to join them. We thought it would be helpful to share a couple of our thoughts and reasons, we are by no means authorities on this!Getting Started
Being able to work with Github is really nice. Someone can come along to github and easily fork the main repository which is possible on Drupal.org but much easier on github.No Special Users
We have a principle where “no individuals is special”. On drupal.org the module maintainers get access to more tools then everyone else. On github everyone is basically the same. In theory someone’s fork may become a bigger deal than the original. This means everyone has the same tools and so the things we do to make lives for our developers easier, everyone else gets to share.
We found that when some developers were maintainers and had access to drupal.org’s git they had a much nicer experience than the people who had to just download the source code or set up their own git experiences.Pull Requests
Pull Requests are really nice. We think pull requests are pretty much a nicer way of doing patches as you can just click a few buttons and copy and paste it into the issue queue. With Dreditor it is not a big deal but github keeps track of minor changes to a patch much more effectively especially if multiple people are working on it.
- Although it does require giving others access to my fork of a project and so we have found that sometimes patches are easier
- Although if multiple people are working on a pull request, they can do it by forking the pull request owner’s repository and do a pull request with that first!
We definitely still use Drupal.org as the issue queue and turn off all of github’s issue tracking features. We then reference issue numbers in as many commits as possible and certainly all pull requests (We post pull requests in their issue).
One of the committers can, every so often push the “main repository” or any repository to the git repo on drupal.orgTravisCI
We also use travis-ci to handle tests and will follow up with a more detailed post about how we handle testing.
In Drupal 7 it was fairly straight forward what kind of a test you should write, especially for core. It would basically be a simpletest. If you wrote in contrib, you might write a few Behat or PHPUnit tests for your module, but you would either run these tests locally of on some remote testing server such as Jenkins or Travis.
While this was quite good for doing webtests along the lines of ‘create user’, ‘log in’, ‘go to page x’, ‘click on button y’, it was also pretty slow. Every patch on the issue queue could be delayed as much as 3 hours while all the tests ran and during sprint weeks we end up with huge queues of patches waiting to be tested.
Drupal 8 has really stepped up its game. In 2013 it separated our testing into two categories. one for web tests that require a complete or partial Drupal environment - Simpletests, and another for everything else - PHPUnit :) PHPUnit Change Notice
It didn’t take long for there to be several different subclasses for PHPUnit tests in Drupal:
So now the question is, “Which test should I be writing”. Here is a quick explanation of the different Test Base classes.Drupal Test Structure - TestCase (PHPUnit_Framework_TestCase) - \Drupal\KernelTests\KernelTestBase - \Drupal\simpletest\BrowserTestBase - \Drupal\Tests\UnitTestCase - \Drupal\simpletest\TestBase - \Drupal\simpletest\KernelTestBase - \Drupal\simpletest\WebTestBase - \Drupal\simpletest\InstallerTestBase
TestCase and TestBase should never be extended directly. They are just structure that the remaining tests extend.
UnitTestCase is what you want if you don’t care about bootstrapping Drupal. All you want to do is test Class methods and make sure that they behave expectedly. Eg. If your method required the first argument to be a string and you pass it an array you get an exception, etc.
Next up we have KernelTestBase, WebTestBase and BrowserTestBase. These all do something towards setting up a Drupal Environment and allowing you to test your code in the wild. KernelTestBase is the simplest as it bootstraps Drupal and sets up a Database, etc. but it doesn’t explicitly install any modules, and so is similar to the environment in the early installer. Any modules that you require are loaded in setUp() and you can perform schema installation as required.
Notice: there are two KernelTestBase classes. \Drupal\simpletest\KernelTestBase has been deprecated for \Drupal\KernelTests\KernelTestBase as part of Drupals continuing battle to modernise its testing and has moved from simpletest to PHPUnit. KernelTestBase Change Notice
Then we get to WebTestBase and BrowserTestBase. They do basically the same thing, as they allow a full installation of Drupal and modules and are webtests so you test the UI through a browser. The general rule of thumb is use WebTestBase. BrowserTestBase is the newest move to modernize testing as it is an attempt to move Browser Testing from simpletest to PHPUnit and Mink BrowserTestBase Change Notice. So if you fancy it, you can give the new framework a go, but it is still work in progress and not going to be used extensively in core until 8.1.x.
And finally there is InstallerTestBase which is useful testing the installation of Drupal based on changes in configuration.Useful Links
It’s inevitable that from time to time you’ll have to apply patches to core or contrib modules. No matter how hard you try, eventually there will be some bug that you can’t work around or some feature that’s not yet complete but that you desperately need.
Traditionally we’ve always kept a comprehensive readme file stored with our projects that documents all the patches that we’ve applied, along with notes on our reasoning and links to appropriate Drupal issues.
These readme files can get quite long and make managing module updates quite challenging.
Drush Make to the rescue!
We keep two files in our project’s root directory (one level above the docroot): drupal-make.yml and drupal-make.lock.inidrupal-make.yml
First up, we’re replacing our old markdown file with a Drush Make file, which now supports a Yaml based syntax. We can include all the patches we want to apply in here as follows (with overly-verbose comments):core: 7.x api: '2' # Send projects to sites/all/modules/contrib by default. defaults: projects: subdir: contrib # Include our lock file, more on this later. includes: - drupal-make.lock.ini # A list of "special cases". Either modules that we're patching, or whenever # we're using a dev branch. projects: entity: patch: # Prevent notice in entity_metadata_no_hook_node_access() when node is not saved # https://www.drupal.org/node/2086225#comment-9627407 - 'https://www.drupal.org/files/issues/2086225-entity-access-check-18.patch' devel: # Using dev version because Devel hasn't had a release in a long time. version: 1.x-dev drupal-make.lock.ini
To make our Make file complete we also need to include details of all the other installed modules. Drush is able to generate this for us (hence the .lock extension, borrowed from composer’s .lock file)
To make this file, simply run:drush @vdd make-generate ../drupal-make.lock.ini
(note that we’re using VDD and that we keep these files one level above the docroot)(Re-)building Drupal
Now theoretically you no longer need to commit Drupal core or any contrib modules to your repository – the make files describe in enough detail where to get all the code from.
To rebuild Drupal, try the following:drush @vdd make ../drupal-make.yml
Or, if you’re applying just one patch and want a quicker process:drush @vdd make --no-core --projects=mymodule ../drupal-make.ymlModule updates
When it comes to running module updates you’ve got two choices. Either run drush up as you probably do now, then when you're done just run the make-generate tool to get a new lock file, or use make-update to run the updates in the lock file.Keeping our tools in one place
To keep the execution of these tools bundled up in one place, we keep a (not to be confused with Drush) Makefile in our project root:ENVIRONMENT=vdd DRUSH_ARGS= -y --nocolor drush-make: chmod u+w docroot/sites/default/ docroot/sites/default/settings.php cd docroot && \ drush $(DRUSH_ARGS) make ../drupal-make.yml drush-make-recreate: cd docroot && \ drush @$(ENVIRONMENT) $(DRUSH_ARGS) make-generate ../drupal-make.lock.ini drush-make-apply-patch: cd docroot && \ drush $(DRUSH_ARGS) make --no-core --projects=$(MODULES) ../drupal-make.yml
We continue our journey of Drupal with a quick look at the administration toolbar - in other words, the menu of Drupal. I explain what the different parts mean and what you can expect to find behind the top menu items.
The Indian Drupal Community is all excited about DrupalCon India! The event will be help in IIT Mumbai between 18th Feb to 21st Feb. It is just a little over a month away and it is not too late to plan participating in DrupalCon. It is an excellent oppertunity to meet the larger Drupal community from across the globe and also the Indian Drupal counterparts .
Dries came to India for the very first time in 2011 to Drupalcamp Deccan. This brought a lot of awareness and a big opportunity to the Indian Drupal community. Checkout his blog on Drupal + India = Opportunity.
The Drupal Association has been working very closely with the Indian community for over a year to make this event happen. You can get details of the initial planning of the Drupal Association at Help Us Plan DrupalCon in India.The Drupal Association worked with Active Commuity members to paln this event.
Did you know the highest no of registered drupalers on Drupal.org are Indians? Did you know the first largest Enterprise portal for UK’s postal service was built by Indian developers? Checkout the blog on Rise of the Drupal Community in India for more interesting facts on the Indian Drupal Community.
More details on the Con itself are available on the website.
I have been speaking to different Business Owners and stakeholders who have been in the Drupal space with regard to participating in DrupalCon. The key aspects of those conversations are given below:
- What is composer?
- Dependency Manager for PHP
- How does it relate to Drush Make?
- Surprisingly similar
- “Getting off the island”
- What can you do with composer on a Drupal site?
- download dependencies, drupal modules, themes, profiles, drush, external libraries etc
- How do you download contrib modules?
- How do you download contrib themes?
- Can you specify where to download project? ie: modules/contrib and modules/custom?
- composer/installers & davidbarratt/custom-installer
- Where do you store custom modules/themes?
- Two methods: Committing to your repo or creating separate repos
- Reference repo in you composer.json
- Toran Proxy
- How can you specify and download a library to go with a module?
- module should specify it in composer.json
- if not submit a patch, and add to your composer.json for now
- drupal/drupal vs drupal/core
- If you want to use the project-repo/web
- composer create-project drupal/drupal
- Composer template for Drupal Projects
- Build sites from scratch with composer install
- Update drupal/modules/themes/etc. with composer update
One of our users asked for a way to display an specific node inside a view. Luckily, Views for Drupal 7 has a filter criteria to achieve this requirement.
With the node's id we can retrieve a single result. Let's start...
We're digging into our first dry-run migrations from Drupal 6 to Drupal 8, and learning a lot about what's ready and what's not. And there's some surprises in there...DrupalDrupal 8Drupal PlanetDrupal upgrade
ImageX Media: 5 Awesome Content Marketing Tools That Will Help your Content Strategy Efforts Right Now
The Drupal community is full of people who make the world a brighter place. Now that we’ve made it through the holidays, we’d like to start the new year by winding up our 12 days of Drupal blog series. Thank you to our community for inspiring us every day.Mike Anello (ultimike)
One would think that Mike never has time for sleep. He has been a Drupal developer, trainer, and consultant for almost 10 years, as well as a Drupal 8 Core Migrate module contributor, and a volunteer manager of the Community Cultivation Grants program. Mike also helps produce the DrupalEasy podcast and trains new Drupalers via a career mentorship program. If all that wasn't enough, he also organizes the Florida Drupal user's group.What Mike says about membership
I doubt that the Drupal project would be where it is today without the Drupal Association. It takes a dedicated team of professionals to keep the servers humming along as well as organizing multiple DrupalCons around the world.
It’s often the small things that go the longest way. During the DrupalCon Barcelona sprint, I met a gentleman whose goal was to figure out how to use a new feature of one of the migration-related contrib modules. I didn’t have much experience with it, but together we figured it out in short order. He was super-thankful and promised he would write up the documentation page for the feature. Even though it was a small moment, it was one of many made possible by the Association’s constant support of the community.
If you are not yet a member, join the Drupal Association and be part of our success together.Personal blog tags: Membershipcommunitymembership 2015 series
We at erdfisch are very excited to announce that the Drupal Business and Community Days will take place in Heidelberg, Germany from 8-10 April 2016.
This is the first in a series of blog postings explaining what we want to achieve with this event. I'll start with our location.Our location: Heidelberg, Germany
This event is very much a team effort, I'm working on it together with my colleagues at erdfisch. Speaking personally, I'm especially excited to be welcoming members of the Drupal community to my new home town of Heidelberg. I am from England and Ireland originally, and have been here in Heidelberg for almost three years now. I'm very, very proud to live here, and want more people to know what a great place it is. You can take a look at some lovely photos of Heidelberg here and some somewhat less professional snapshots here.
The location for DrupalBCDays will be the Heidelberg International Youth Hostel.
How did we get the idea of holding a Drupal event at the local youth hostel? Well, before I go on, I should explain that this is no ordinary youth hostel! It was fact the location of the largest ever Debian Conference (DebConf) during the summer. You can watch a nice video about DebConf Heidelberg here, to give you a feel for the location.
DebConf16 in Heidelberg was my chance to "get off the island", to find out what makes another tech community tick. The thing that impressed me most about Debian community is its commitment to freedom. I felt really at home with them, and really welcomed by them. Also very impressive was the way they set up a glass fibre internet connection with the university, so that the youth hostel has a very fast internet connection! This was left in place as a legacy of the Debian Conference. So you can understand how excited we are to have this as our location for the Drupal Business and Community Days 2016!
OK. That's it for now, there are a few more blog postings yet to come.
Want to stay informed, and find out more?
We're looking forward to welcoming you to Heidelberg in April!Schlagworte/Tags: planet heidelberg Ihr Name Kommentar/Comment Kommentar hinzufügen/Add comment Leave this field blank