Daniel Pocock: Free Real-time Communications (RTC) at DebConf15, Heidelberg

Planet Debian - Thu, 30/07/2015 - 11:23

The DebConf team have just published the first list of events scheduled for DebConf15 in Heidelberg, Germany, from 15 - 22 August 2015.

There are two specific events related to free real-time communications and a wide range of other events related to more general topics of encryption and privacy.

15 August, 17:00, Free Communications with Free Software (as part of the DebConf open weekend)

The first weekend of DebConf15 is an open weekend, it is aimed at a wider audience than the traditional DebConf agenda. The open weekend includes some keynote speakers, a job fair and various other events on the first Saturday and Sunday.

The RTC talk will look at what solutions exist for free and autonomous voice and video communications using free software and open standards such as SIP, XMPP and WebRTC as well as some of the alternative peer-to-peer communications technologies that are emerging. The talk will also look at the pervasive nature of communications software and why success in free RTC is so vital to the health of the free software ecosystem at large.

17 August, 17:00, Challenges and Opportunities for free real-time communications

This will be a more interactive session people are invited to come and talk about their experiences and the problems they have faced deploying RTC solutions for professional or personal use. We will try to look at some RTC/VoIP troubleshooting techniques as well as more high-level strategies for improving the situation.

Try the Debian and Fedora RTC portals

Have you registered for rtc.debian.org? It can successfully make federated SIP calls with users of other domains, including Fedora community members trying FedRTC.org.

You can use rtc.debian.org for regular SIP (with clients like Empathy, Jitsi or Lumicall) or WebRTC.

Can't get to DebConf15?

If you can't get to Heidelberg, you can watch the events on the live streaming service and ask questions over IRC.

To find out more about deploying RTC, please see the RTC Quick Start Guide.

Did you know?

Don't confuse Heidelberg, Germany with Heidelberg in Melbourne, Australia. Heidelberg down under was the site of the athlete's village for the 1956 Olympic Games.

Categories: Elsewhere

Sooper Drupal Themes: How Drupal Developers Can Be More Productive

Planet Drupal - Thu, 30/07/2015 - 11:16
Tags drupal Life productivity Work life balance planet drupal planet

The life of a Drupal developer… it can be a drag. After all, we sit at our chairs for hours on end, sipping on tea or Coke, and staring blankly at the screen. We do what we can to keep ourselves awake. We occasionally divert our eyes to relieve the strain or get up and walk around to ease the tension in our back.

But, is it really that bad?


The life of a Drupal developer is also very busy. After all, the inbox is overflowing with emails asking about a progress update and there are deadlines you need to meet by week’s end. What are you to do? It seems like a never-ending cycle of work.

When you do finally start working, you may feel like you’re being productive; but, the reality is… your workload is piling up. Do you really need to burn the midnight oil… just to catch up? As a Drupal developer, you have a few things to learn.

Are you ready to learn?


What Is The Issue With Productivity Science

Have you ever noticed the amount of productivity studies circulating the Internet? If you sit down to read through the various studies, it’s not going to take you long to realize how many nitwits are actually writing these studies. Many people just sit at their computers, making Facebook updates, playing Candy Crush and just surfing the ‘Net.

It’s been documented that what you read in the majority of scientific studies needs to be taken with a grain of salt. However, you need to ask yourself if it’s possible to have a business that increases productivity.  When it comes to productivity studies, there is an array of invaluable information that everyone can learn from.  

After all, there is work that must be done and you need to complete. You have clients that depend on you to ensure their website is up and going… all the time.  And, as much as you love to build websites or modules, you still have interests outside the Drupal environment.

In order to be more productive, you need to know what to put your attention on if you are to get more things done for the day.

What should you realize if you’re going to better your productivity levels? Well, you need to realize that there isn’t a perfect answer. After all, what works for one person may not work for someone else.


Find A Balance In The Business

When it comes to productivity, it doesn’t mean you need to cram more coding hours in your day. It means you need to do more coding in the same amount of time or in less time. When your projects begin piling up or when you have clients constantly contacting you about those pesky little deadlines. It’s so easy to add screen time to compensate for it all. 

Here’s what you need to understand: the more time behind the computer you spend, the less productive you actually become.

Therefore, take some time away from your career life – away from all the Drupal setup – and throw yourself into your life. You need to eat right, exercise and spend time with your family and friends in order to boost your productivity level.  Without that balance, your work is going to suffer… in time. And, all that productiveness you’ve been aiming for is going to get thrown out the window.

It’s important you lay out the different parts of your life so you know what part is most important to you. After you’ve done this, decide the amount of time you should dedicate to it. Remember, there are only 24 hours in a day. Thus, you need to figure out how much time to give each one.

  • Work
  • Time w/ Family
  • Time w/ Friends
  • Hobbies
  • Fitness
  • Sleep

So, if you must spend more time on client projects, you must take away time from other areas. Make sure you choose which one is less important to give your “work” time to.


What’s Your Work Environment Like?

Did you know that your work environment can have a huge effect on your productivity level? Look at things around you. How organized is your desk? Is it cleaned off? Does the desk look like a tornado went through it?

It’s worthwhile to have a physical and digital clean desk. The less distraction you have, the more creative your mind can be.


Set Up Intervals To Maintain Structure

Okay, so you’re looking at intervals as something only athletes do, right? Well, when it comes to Drupal development, intervals are a thing too.  You see, people are often told that sitting down for seven to nine hours a day, with a couple of breaks in between, is the way to be productive. If you’re lucky, you can have a little energy to exercise, play with the kids or have a talk with your significant other. 

What if you threw interval training in your Drupal development business? Your schedule could look a little like this:


  • 8 a.m. – Wake up
  • 8:15 a.m. – Answer emails, work on projects for clients
  • 10:30 a.m. – Breakfast
  • 10:45 a.m. – Go to the gym
  • 12:30 a.m. – Work on client projects
  • 4 p.m. – Answer emails
  • 4:30 p.m. – Lunch
  • 3 p.m. – Social media and marketing
  • 3:30 p.m. – Work on client projects
  • 4 p.m. - Take a 20 minute walk
  • 4:30 p.m. – Work on home projects
  • 5 p.m. – Spend time with family, social gathering and dinner
  • 9 p.m. – Plan the next day out
  • 9:45 pm. – Relax
  • 11 p.m. – Go to bed


Yeah, it seems like a pretty segmented day and, by design, it really is. You’ll need to be flexible and give it some personality. What you’ll notice is that the shorter the timeframe, the more intense the energy bursts are going to be. 


Better Prioritization and Focus

If you’re going to boost your productivity level, you must effectively prioritize your day.  Think of it this way: 20% of what you do during your day will be responsible for 80% of your household income. Be sure to prioritize that 20%, scheduling the important tasks first thing in the morning.

When you sit in front of a computer screen all the time, you’re hit with distractions from every angle – family, friends, business associates, etc. And, when you get sidetracked by the distractions, you may find it difficult to get back on track. There are going to be times when these distractions cannot be accepted. Your first and second work intervals must be when you are 100% engrossed in the job. This means nothing else must be scheduled during this time period.  Your focus on these work times should only be WORK.


Make Plans To Stay Productive

Have you gone through a day without a plan? Many people have, and these kinds of days are never very productive. As you get to your desk, look over your list of 20 tasks that you haven’t prioritized.  Do you suddenly feel overwhelmed?  Do you feel like you don’t know where to go? You may find yourself an hour into work with nothing to show for it.

The last thing you should do every day is plan out the next day’s work, making sure you label what’s important and what’s not as important.  Write these tasks down or type them out.


How To Get Started

The surefire way you’ll get the productive working environment you are after is to get started with the tasks you’re faced with. Of course, it’s the most obvious thing to do; but, you may suddenly realize that you’ve gone through the day and didn’t do a single thing that would be considered productive.

A huge barrier in productivity is failing to get right into the task. If you handle an array of client projects, it’ll be easier to avoid the task you need to be working on.  Planning will certainly solve that issue. When you notice you’re having issues with the tasks at hand, ask yourself if you had a prioritized list. Create this all-important list the night before.


Be Open To The Possibility Of Experimentation

The above concepts are important; but, that doesn’t mean they’re all going to work for you. Most will however, make a huge difference. The steps you need to take are fairly easy to implement:


  • Create a systematized, clean work environment
  • Lay out the things in your life
  • Prioritize and put attention on tasks and areas considered important
  • Use intervals to arrange your day
  • Make plans ahead of time
  • Get moving


Lastly, you need to be creative. This means you need to experiment with your schedule, and find what does and does not work for you. You will find that your productivity level is going to improve drastically!


Business vector designed by Freepik

Categories: Elsewhere

Wunderkraut blog: build.sh

Planet Drupal - Thu, 30/07/2015 - 10:00

We are HUGE fans of simplicity, automation and open source. Here's one of our solutions for keeping track of Drupal module versions, custom/contrib code, deploying and taking backups. And more!

A while back I was introduced to a script which was used to download a given version of the Drupal core with a handful of modules AND  copy any custom modules/profiles/themes under a given path inside the Drupal installation AND run the Drupal installation from shell! SO COOL! This completely eliminated the need to have 3rd party code in our repositories and it made (at least) my life a whole lot more worry free.

So as it happened, we quickly adopted the script in our workflow and everyone was happy with it. Time went on and we found the script lacking and started modifying it, improving it, and finally after a couple of rewrites we ended up with build.sh.

Things it does for you:

  • download and install Drupal
  • update Drupal core and modules
  • copy & link custom code directories and/or files
  • handle separate settings.php for each environment
  • take backups

Our continuously evolving workflow is:

  1. Grab a copy of build.sh
  2. Modify conf/site.make to our liking
  3. Enable contrib & custom modules as a dependency in code/profiles/wk/wk.info
  4. Run ./build.sh new

If things go well this should result in a folder called drupal, this is where your fresh installation is.

Next, we might want to update the version of Drupal core.

  1. Bump up the version of Drupal core in conf/site.make
  2. Run ./build.sh update

But wait - theres more! Build.sh allows you to define your own commands that do whatever you want. Have a look at the README.md for further information.


Categories: Elsewhere

Steve Kemp: The differences in Finland start at home.

Planet Debian - Thu, 30/07/2015 - 08:15

So we're in Finland, and the differences start out immediately.

We're renting a flat, in building ten, on a street. You'd think "10 Streetname" was a single building, but no. It is a pair of buildings: 10A, and 10B.

Both of the buildings have 12 flats in them, with 10A having 1-12, and 10B having 13-24.

There's a keypad at the main entrance, which I assumed was to let you press a button and talk to the people inside "Hello I'm the postmaster", but no. There is no intercom system, instead you type in a magic number and the door opens.

The magic number? Sounds like you want to keep that secret, since it lets people into the common-area? No. Everybody has it. The postman, the cleaners, the DHL delivery man, and all the ex-tenants. We invited somebody over recently and gave it out in advance so that they could knock on our flat-door.

Talking of cleaners: In the UK I lived in a flat and once a fortnight somebody would come and sweep the stair-well, since we didn't ever agree to do it ourselves. Here somebody turns up every day, be it to cut the grass, polish the hand-rail, clean the glass on the front-door, or mop the floors of the common area. Sounds awesome. But they cut the grass, right outside our window, at 7:30AM. On the dot. (Or use a leaf-blower, or something equally noisy.)

All this communal-care is paid for by the building-association, of which all flat-owners own shares. Sounds like something we see in England, or even like Americas idea of a Home-Owners-Association. (In Scotland you own your own flat, you don't own shares of an entity which owns the complete building. I guess there are pros and cons to both approaches.)

Moving onwards other things are often the same, but the differences when you spot them are odd. I'm struggling to think of them right now, somebody woke me up by cutting our grass for the second time this week (!)

Anyway I'm registered now with the Finnish government, and have a citizen-number, which will be useful, I've got an appointment booked to register with the police - which is something I had to do as a foreigner within the first three months - and today I've got an appointment with a local bank so that I can have a euro-bank-account.

Happily I did find a gym to join, the owner came over one Sunday to give me a tiny-tour, and then gave me a list of other gyms to try if his wasn't good enough - which was a nice touch - I joined a couple of days later, his gym is awesome.

(I'm getting paid in UK-pounds, to a UK-bank, so right now I'm getting local money by transferring to my wifes account here, but I want to do that to my own, and open a shared account for paying for rent, electricity, internet, water, & etc).

My flat back home is still not rented, because the nice property management company lost my keys. Yeah you can't make that up can you? With a bit of luck the second set of keys I mailed them will arrive soon and the damn thing can be occupied, while I'm not relying on that income I do wish to have it.

Categories: Elsewhere

CiviCRM Blog: Pro-bono Drupal work available

Planet Drupal - Thu, 30/07/2015 - 06:33

Cividesk is one of the leading CiviCRM service providers. Giving Back is a cornerstone of our company culture, and we proudly support many charitable and humanitarian organizations with pro-bono or reduced-cost services. While our Giving back program is usually full, we still have a few Drupal openings this summer and would therefore be glad to support nonprofits that need Drupal work with pro-bono services.

Criteria for being part of the program are simple: being a primarely volunteer-run non-profit organization providing free and secular services to the underprivileged (every word is important!).

If your organization fits these criteria, please drop us a line at info@cividesk.com with your wishes and we might make turn them into reality!



Categories: Elsewhere

Drupal Commerce: Commerce Kickstart 2.27 Release

Planet Drupal - Thu, 30/07/2015 - 04:14

Commerce Kickstart 2.27 was released today, and includes quite a few bugfixes and features. Recently Commerce Kickstart 2 upgraded from Features 1.x to the Features 2.x API, and we've added some measures to help with the upgrade process! If you're not using Features Override yet, go on get it! Use this to save your customizations to the distribution and have a smoother upgrade. For more information, see the Installing & Upgrading guide.

Categories: Elsewhere

Pantheon Blog: Composer vs. Drush Make: Which Should You Use?

Planet Drupal - Wed, 29/07/2015 - 21:49
(Picture of Ryu and Ken by FioreRose) Michael Prasuhn recently sent out a tweet regarding Composer vs Drush Make:
Categories: Elsewhere

Drupal Watchdog: VIDEO: DrupalCon Los Angeles Interview: Rudy Grigar

Planet Drupal - Wed, 29/07/2015 - 19:45

Rudy Grigar (Infrastructure Manager, Drupal.org) would love to have learned Drupal in pre-school, but alas, he had to wait till third grade.
Here, he opens up about Git commits and DevOps which sounds very hush-hush. As I probe further, Rudy lets slip controversial remarks about Drupal’s potential for subversion, the NSA’s consequential attempts to suppress open source (if I understand him correctly), and an upcoming article he’ll write for Drupal Watchdog. (Hurry, subscribe! https://drupalwatchdog.com/subscribe/2015)

Tags:  Video DrupalCon LA DrupalCon Video: 
Categories: Elsewhere

Commercial Progression: Michigan Drupal Developers and their Summer Projects (E10)

Planet Drupal - Wed, 29/07/2015 - 17:44

Commercial Progression presents Hooked on Drupal, “Episode 10: Summer of Drupal with Special Guests Hillary Lewandowski and Michael Zhang".  In this episode of Hooked on Drupal, the usual crew is joined by two new members to the CP team.  Hillary Lewandowski, the latest member to the development team brings her wisdom from a formal education in computer science.  

Additionally, Michael Zhang is one of two summer interns from Northville High School and an active member of Northville DECA, with a focus on marketing.

Hooked on Drupal is available for RSS syndication here at the Commercial Progression site. Additionally, each episode is available to watch online via our YouTube channel, within the iTunes store, on SoundCloud, and now via Stitcher.

If you would like to participate as a guest or contributor, please email us at


Content Links and Related Information

We experienced this year's DrupalCon vicariously through our last Michigan Drupal meetup and our previous podcast with Steve Burge from OSTraining.  This summer proves to be quite busy with new team members, projects, and Drupal 8 investigations.

As the Commercial Progression team size grows, our development team has begun to specialize.  Brad has focused on developing new processes for site architecture and shares his discoveries for preparing a Drupal project for design and development. Other team members share their personal project subject matter.

OOP In Drupal 8

In addition to working with the new WYSIWYG Fields and Conditional Fields,  Hillary shares some of her thoughts and computer science background with Object Oriented Programming and Drupal 8 in her latest blog post.

Personalize Module

Chris and Shane discuss the Acquia contrib Personalize module based on Lift technology for content personalization via URL based campaign parameters, geography, visitor cookies, A/B or Multi-variate testing, and a host of other variable session data.

Paragraphs Module

Inspired by Jeff Eaton and the Battle for the Body Field DrupalCon presentation, Brad dug into the Paragraphs module and put together a popular paragraphs blog post with some best practices for winning the battle for the body field.  When Brad is not fighting the good fight for the supremacy of the Paragraphs module, he has also created an automated competitive marketing intelligence research script… yeah I know, really.


Hooked on Drupal Content Team


CHRIS KELLER - Developer




 Podcast Subscription

Tags:  Hooked on Drupal, Drupal 8, OOP, Personalize, Planet Drupal, podcast
Categories: Elsewhere

Drupalize.Me: Release Day: Send Email Using MailChimp with Drupal 7

Planet Drupal - Wed, 29/07/2015 - 15:00

This week we'll be continuing our Using MailChimp with Drupal 7 series. And like last week, all the tutorials are free. Last week we looked at creating, and collecting contacts for, a MailChimp mailing list. This week we'll look at all the different ways we can send email to our lists.

Categories: Elsewhere

Realityloop: Community driven development

Planet Drupal - Wed, 29/07/2015 - 10:05
29 Jul Stuart Clark

Realityloop has a long history with the Melbourne Drupal community; We’ve been heavily involved in the monthly Drupal meetups and began the monthly mentoring meetups. However, the monthly mentoring only came about after a failed experiment in community based web development.

While that experiment may have failed, the idea of community driven Drupal development has been of great interest to me as it truly embraces the spirit of open source.

In the last two weeks I have release two websites for the Drupal Melbourne community, a DrupalMelbourne community portal and a landing page for the upcoming DrupalCampMelbourne2015. In this tutorial I will be demonstrating how anyone can get involved with the development of these sites, or how the process can work for the benefit of any other community based website.


The workflow:
  1. Build the codebase
  2. Setup and install the site
  3. Make your changes
  4. Update features and makefiles
  5. Test the changes
  6. Fork repository / push changes / pull request


Build the codebase

As per usual for myself and Realityloop, these sites are built using a slim line profile / makefile approach with the GIT repository tracking custom code only, which means you will require Drush to build the site codebase.

If you are not familiar with Drush (DRUpal SHell), I highly recommend familiarising yourself as it’s not only incredibly useful in everyday Drupal development, it is also a requirement for this tutorial. Installation instructions can be found at http://www.drush.org/en/master/install/

Assuming you have Drush ready to go, building the codebase is as simple as running the following, relevant command:

  • DrupalMelbourne​ drush make --working-copy=1 https://raw.githubusercontent.com/drupalmel/drupalmel/master/stub.make drupalmel-7.x
  • DrupalCampMelbourne2015 drush make --working-copy=1 https://raw.githubusercontent.com/drupalmel/drupalcampmel/2015.x/stub.make dcm-2015.x

The resulting codebase contains the specified Drupal core (currently 7.38) along with the relevant install profile containing all custom and contrib code (modules, themes and libraries).

Note: --working-copy=1 is used to retain the link to the GIT repository.


Setup and install the site

Once your codebase is built you simply need to install a site as you would normally do so, ensuring that you use the relevant installation profile (DrupalMelbourne or DrupalCampMelbourne).

The sites are constructed in such a way that there is absolutely no need to copy down the production database, any content is either aggregated from external sources, or dummy content is created via the Devel generate module for the purposes of development. This means that there is no laborious data sanitization processes required, allowing contributors to get up and running in as short of time as possible.

For more details on how to setup a Drupal site, refer to the Installation Guide or your *AMP stack.


Make your changes

No change is insignificant, and a Community driven site thrives on changes; if you think you can make the site look better, found a bug that you can fix, or want new functionality on the site, the only thing stopping you is you!


Update features and makefiles

Once you’re happy with the changes you’ve made, be it content, theme or configuration, you need to ensure that it’s deployable, and as we’re not dealing with databases at all, this means that you need to update the codebase; features and makefiles.

If you’re not familiar with Features or Makefiles, much like Drush, I highly recommend them, as again, they are required for this particular approach of Community driven development.

You can find more details on Features, Makefiles and Drush at my DrupalSouth 2012 talk "Ezy-Bake Drupal:Cooking sites with Distributions".



Features allows you to capture most of your configuration in the filesystem, allowing to be deployed via GIT.

In the case of these sites, there is only one feature which encapsulates all configuration, as these sites have a relatively straight forward purpose. Some sites may warrant more, that is a discussion for another day.

To update the feature, it’s an extremely simple process:

  1. Navigate to the relevant path within your site:
    • DrupalMelbourne: admin/structure/features/drupalmel_core/recreate
    • DrupalCampMelbourne2015: admin/structure/features/drupalcampmel_core/recreate
  2. Add or remove any required components (Page manager, Strongarm, Views, etc).
  3. Expand the Advanced options fieldset and click the Generate feature button.

More information can be found at the Features project page.



Makefiles are recipes of modules, themes and libraries that get downloaded by Drush make, including their versions and patches.

Updating a makefile is relatively straightforward, it’s just a matter of opening the file in your IDE / text editor of choice and updating the entries.

There are two makefile in these sites, stub.make and drupal-org.make; the stub.make contains Drupal core and the install profile (and any relevant patches) and the drupal-org.make contains all third-party (contrib) code.

Any new or updated modules, themes or libraries (and any relevant patches) need to be added to this file, as no third-party code is tracked in the GIT repo.

The makefiles are organized into three primary sections; Modules, Themes and Libraries. Below are some examples of how an entry should be defined:


Bean module, version 1.9:

projects[bean][version] = 1.9


Reroute Email module, specific GIT revision with patch applied:

  1. projects[reroute_email][download][revision] = f2e3878
  2. ; Variable integration - http://drupal.org/node/1964070#comment-7294928
  3. projects[reroute_email][patch][] = http://drupal.org/files/reroute_email-add-variable-module-integration-1964070-2.patch

Note: It is always important to include version, if you need a development release then use a GIT revision as otherwise what you build today may be drastically different from what you build tomorrow.


Bootstrap theme, version 3.1-beta2:

  1. projects[bootstrap][type] = theme
  2. projects[bootstrap][version] = 3.1-beta2

Note: As the default projects 'type' is set to module, themes need to specify their type. This is a personal choice in the Drush make file configuration, as it is highly likely you will always have more modules than themes.


Backbone library, version 1.1.2:

  1. libraries[backbone][download][type] = get
  2. libraries[backbone][download][url] = https://github.com/jashkenas/backbone/archive/1.1.2.zip

Note: As libraries are not projects hosted on Drupal.org (in general), you need to specify the URL of which the files is downloadable, or cloneable, from.

More information can be found on the Drush make manual page.


Other changes / hook_update_N()

Sometimes changes don’t fall under the realm of features or makefiles, either due to a modules lack of integration with features, or when dealing with content rather than configuration. This still needs to be deployable via the codebase, and can be done with the use of a hook_update_N() function.

A hook_update_N() is a magic function that lives in a modules .install file, where hook is the machine name of the module and N is a numeric value, formatted as a 4 digit number in the form of XY##, where X is the major version of Drupal (7), Y is the major version of the module (1) and ## is a sequential value, from 00 to 99.

Example: drupalmel_core_7100() / drupalcampmel_core_7100()

The contents of a hook_update_N() is whatever you wish it to be, and Drupal API function or PHP.

An example of one such function is:

  1. /**
  2. * Assign 'ticket holder' role to ticket holders.
  3. */
  4. function drupalcampmel_core_update_7105() {
  5. $query = new EntityFieldQuery();
  6. $results = $query->entityCondition('entity_type', 'entityform')
  7. ->entityCondition('bundle', 'confirm_order')
  8. ->execute();
  10. if (!empty($results['entityform'])) {
  11. $entityforms = entityform_load_multiple(array_keys($results['entityform']));
  12. foreach ($entityforms as $entityform) {
  13. $user = user_load($entityform->uid);
  14. $user->roles[3] = 'ticket holder';
  15. user_save($user);
  16. }
  17. }
  18. }

For more details, refer to the hook_update_N() API documentation.


Test the changes

Once you’ve made your changes and prepared your features and makefiles, it’s ideal to ensure that everything is working as expected before you push it up to the GIT repo.

This is a multi-step process, but it’s easy enough, especially given that we don’t have a database that we have to worry about.


  1. Take a database dump of your local (development) site; Safety first.
  2. Re-install the site with the the relevant install profile:
    • DrupalMelbourne: drush si drupalmel -y
    • DrupalCampMelbourne2015: drush si drupalcampmel -y
  3. Test to ensure your changes are present and working as expected.



Testing your makefile can be a little bit trickier than testing your features, as when you download a module, theme or library there are various places they can be stored, and it’s easy to get a false positive.

  1. Build a --no-core version of the drupal-org.make file into a temporary directory. A --no-core build is exactly what it sounds like, build the makefile excluding Drupal core.

    1. cd ~/temp
    2. drush make --no-core --no-gitinfofile ~/Sites/drupalmel-7.x/profiles/drupalmel/drupal-org.make dm-temp
  2. Run a diff/merge tool over the --no-core build’s sites/all directory and your local (development) site’s relevant profile directory (e.g., profiles/drupalmel).

    I personally use Changes on OS X, but there are different free and paid diff/merge tools for different operating systems.
  3. Ensure that all third-party (contrib) code is identical on both sides of the diff/merge, any discrepancies imply that you may be missing an entry in your makefile, or that your local version of the code is located in an incorrect location.

If your changes aren’t working as expected, or something is missing, simply restore your database dump and go back to the Update features and makefiles step.


Fork repository / push changes / pull request

Now that you have made your changes and everything is good to go, it’s time to push those changes back to the repository.

For the sake of a manageable review process, it’s preferable that all changes should be made in a fork with a pull request back to the master repository.

If you’ve only ever lived in the realm of Drupal.org, then this may be an entirely alien process, but it is again a relatively straight forward process.

Note: If you don’t have a Github account, you will need one. Signup for free at https://github.com/join

  1. Go to the relevant Github repository:
  2. Click the Fork button (top right of the page) and follow the onscreen instructions.
  3. Click the Copy to clipboard button on the clone URL field (in the right sidebar).
  4. Add a new GIT remote to your local (development) site with the copied URL.

    1. cd ~/Sites/drupalmel-7.x/profiles/drupalmel
    2. git remote add fork git@github.com:Decipher/drupalmel.git
  5. Commit and push the changes to your fork.
  6. Create a pull request via your Github fork by clicking the Pull request button, providing as much detail as possible of what your changes are.

If all goes well, someone will review your pull request and merge the changes into the relevant website.


The review process

So this is the not so community friendly part of the process; In a perfect world the community should be able to run itself, but Github isn’t necessarily setup this way, nor is Drupal.org. Someone has to specifically approve a Pull request. Currently this is only myself and Peter Lieverdink (cafuego).

I’m absolutely open to suggestion on how to improve this, comment below if you have any thoughts on how this could be improved.


The uncommitables

Not everything should be committed, especially in a public repository. A perfect example of something that shouldn’t be committed is an API key.

The DrupalMelbourne website integrates with the Meetup.com API to pull in all DrupalMelbourne Meetups, but exposing the API key to the codebase would open the DrupalMelbourne meetup group to abuse and spam.

To deal with this, API keys and other sensitive items can be dealt included directly on the server or in the database, and placeholders can be user for local development.


Open source your site?

Exposing your website codebase is definitely not the normal practice, and it's absolutely not for everyone. I couldn't imagine trying to convince a client to go down this road. But for a community site, especially a Drupal based community site, it just makes sense. While I wouldn't expect every visitor with Drupal knowledge to volunteer their time to help with the sites development, any who do is 100% more than you'd get otherwise.

drupaldrupal planet
Categories: Elsewhere

Modules Unraveled: 142 Why Drupal 8 is the Most Important Product Release in the History of the WCM Market with Tom Wentworth - Modules Unraveled Podcast

Planet Drupal - Wed, 29/07/2015 - 07:00
Published: Wed, 07/29/15Download this episode

So, Doug Vann emailed the two of us a while ago and said that I should have you on because

"I'm on the record as a huge fan of Tom's for his well educated and well rounded perspective on proprietary and Open Source software solutions. ... I'd be excited to hear Tom interviewed on the topic of how Drupal 8 will continue to erode into the proprietary market."

I thought that sounded good, so here we are!

Web Content Management
  • When you replied, you said that Drupal 8 is the most important product release in the history of the WCM market. Can you start out by explaining what WCM stands for and what qualifies software as a WCM product?
  • You also mentioned that the 2nd most important release was Day Software’s CQ5. What is that?
  • When I hear about Drupal’s competitors, I generally hear about Wordpress and Joomla. Why aren’t either of those number two?
Drupal’s Place in the WCM Market
  • How has Drupal faired in the WCM market so far?
  • What do you see Drupal 8 bringing to the table that sets it apart from other products?
Questions from Twitter
  • Jacob Redding

    • How does Drupal 8 change the comparison with AEM? Specifically what are the features with Drupal 8 that bring Drupal to a more level playing field with AEM? Is there a single specific feature that Drupal does hands down better than AEM?
  • Doug Vann

      • Drupal promotes an "Ownership Society" where Universities, Media Companies, Governments, etc. hire in ​Drupal talent and build sites inhouse. How does D8 impact that trend? Is D8 more for shops and agencies and less for DIYers or is that just F.U.D. talking?​
    • Any Drupaler would state that Drupal has been "disruptive" insofar as we have allowed highly visible sites to ditch their proprietary CMS in favour of Drupal.
      • To date, has that success been "truly disruptive" by your definition?
      • With the astounding advancements baked into D8, are you looking forward to an even more disruptive presence in the CMS playing field?
    • Shops
      • Is Drupal 8 ushering in a new era which will see a fundamental shift in how Drupal is delivered in the areas of customer procurement, engagement, and delivery?
      • To reword that. Are Adobe CQ5 and Sitecore shops operating significantly different than Drupal shops today AND are we going to see Drupal shops retooling and reshaping to a more enterprise looking organization?
      • In The past 18+ months, it seems that more people are willing to ​admit that Drupal 8 is moving Drupal "Up Market." Agencies are often the vendor of choice in those deep waters. Should we expect some more mergers and acquisitions which will ultimately empower agencies to deliver Drupal services inhouse?​
    • ​The little guys
      • Where are the little guys in the D landscape?
      • Do you still see the $10K and the $45K range websites feeding the smaller end of the Drupal ecosystem?
Episode Links: Tom on drupal.orgTom on TwitterDrupal 8 Info PageAcquia BlogAcquia’s Drupal 8 Info PageAcquia’s Ultimate Guide to Drupal 8 (Exclusive direct link!)Tags: Drupal 8planet-drupal
Categories: Elsewhere

Jim Birch: Googlebot cannot access CSS and JS on your Drupal site

Planet Drupal - Wed, 29/07/2015 - 01:27

There was a time when search engine bots would come to your site, index the words on the page, and continue on.  Those days are long past.  Earlier this year, we witnessed Google's ability to determine if our sites were mobile or not.  Now, the evolution of the Googlebot continues.

I would say that it was not uncommon for web developers to receive at least a few emails from Google Search Console today.

To: Webmaster...
Google systems have recently detected an issue with your homepage that affects how well our algorithms render and index your content. Specifically, Googlebot cannot access your JavaScript and/or CSS files because of restrictions in your robots.txt file. These files help Google understand that your website works properly so blocking access to these assets can result in suboptimal rankings.

Well, that's a little bit of information that I never thought about before, Google wanting to understand, how my "website works", not just understanding the content and the structure of it.  Turns out, Google has been working toward this since October of last year.

Update your robots.txt

To allow Googlebot to access your Javascript and CSS files, add a specific User-agent for Googlebot, repeating the rules you already have, and adding the new "Allow" rules.

Read more

Categories: Elsewhere

Midwestern Mac, LLC: Nginx Load Balancer Visualization on a Raspberry Pi Cluster

Planet Drupal - Tue, 28/07/2015 - 19:03

After some more tinkering with the Raspberry Pi Dramble (a cluster of 6 Raspberry Pis used to demonstrate Drupal 8 deployments using Ansible), I finally was able to get the RGB LEDs to react to Nginx accesses—meaning every time a request is received by Nginx, the LED toggles to red momentarily.

This visualization allows me to see exactly how Nginx is distributing requests among the servers in different load balancer configurations. The default (not only for Nginx, but also for Varnish, HAProxy, and other balancers) is to use round-robin distribution, meaning each request is sent to the next server. This is demonstrated first, in the video below, followed by a demonstration of Nginx's ip_hash method, which pins one person's IP address to one backend server, based on a hash of the person's IP address:

Categories: Elsewhere

Jonathan Dowland: Sound effect pitch-shifting in Doom

Planet Debian - Tue, 28/07/2015 - 19:02

My previous blog posts about deterministic Doom proved very popular.

The reason I was messing around with Doom's RNG was I was studying how early versions of Doom performed random pitch-shifting of sound effects, a feature that was removed early on in Doom's history. By fixing the random number table and replacing the game's sound effects with a sine wave, one second long and tuned to middle-c, I was able to determine the upper and lower bounds of the pitch shift.

Once I knew that, I was able to write some patches to re-implement pitch shifting in Chocolate Doom, which I'm pleased to say have been accepted. The patches have also made their way into the related projects Crispy Doom and Doom Retro.

I'm pleased with the final result. It's the most significant bit of C code I've ever released publically, as well as my biggest Doom hack and the first time I've ever done any audio manipulation in code. There was a load of other notes and bits of code that I produced in the process. I've put them together on a page here: More than you ever wanted to know about pitch-shifting.

Categories: Elsewhere

Mediacurrent: Mediacurrent Dropcast: Episode 8

Planet Drupal - Tue, 28/07/2015 - 19:01

This episode we welcome Shellie Hutchens, Mediacurrent’s Marketing Director, to talk about upcoming webinars and and the fact that Mediacurrent is hiring. Ryan picked Stage File Proxy as the Module of the Now. We discuss our first non-drupal article from Four Kitchens about Saucier (pronunciation TBD). Mark stumbles through some D8 News and of course we finish off with some great conversation during Ryan’s Final Bell.

Categories: Elsewhere

Drupal Association News: Drupal Association Board Meeting: July 22, 2015

Planet Drupal - Tue, 28/07/2015 - 18:37

Here we go again! It's your monthly summary of all things board meeting at the Drupal Association. This month we covered board governenance (there's a seat opening up), the D8 Accelerate Campaign, and the Association strategic frame. Plus, as a bonus, the board approved the Q2 financials for publication. As always, if you want to catch up on all the details, you can find everything you need to know about the meeting online, including minutes, materials, and a recording. If you're just here for a summary view, read on!

Meeting Minutes Related Materials Video Recording Board governance

Angie Byron's term on the board is going to be up this fall, and she has expressed her desire not to renew that term. We're going to be very sad to see Angie go, but thrilled that she will have one less hat to talk about when explaining which hat she is wearing at any given point during your next meeting with her. Seriously - she's brought so much thoughfulness and passion to the board. She's not leaving us yet (her term expires 10/31), but our Governance Committee will be working with the Nominations Committee to recruit candidates and help the board make the next selection.

D8 Accelerate

As I write these words there are just 10(!) release blockers standing between us and a release candidate for Drupal 8. Part of the momentum this year has come from Drupal 8 Accelerate. We've made over 40 grants, worth more than $120,000 so far. That's helped us close nearly 100 issues, addressing some really important features, like a beta to beta upgrade, security bugs, and performance. If you're curious about what's getting funded, you can always see the full list. And, we're getting close to reaching our goal - we've raised $223,000. You can help us reach our $250,000 goal by making a donation today!

Drupal Association Strategic Frame

Why are we doing the work we do? Because everyone at the Association wants to have a positive impact for Drupal. The best way for us to have an impact is to pick a few goals that we are going to focus on achieving. The Association board used their January retreat to set some 3-5 year goals for the Association:

  • To develop sufficient professionals to meet global demand for Drupal
  • To lead the community in focused, efficient, effective development of Drupal
  • To ensure the sustainability of the Drupal project and community
  • To increase Drupal adoption in target markets
  • To increase the strength and resilience of the Drupal Association

We've been working since then to select the right strategies and objectives (1 year to 18 month time frame) for our work. You can see the directions we're headed in the presentation we shared. It's important to note that we expect to revisit our strategies and objectives on a quarterly basis to adjust as we go. The world of Drupal moves fast, and we need to as well. So, although we are setting 12 to 18 month objectives, we will be adjusting the frame much more frequently, and won't be sticking with objectives that we find don't really support the work.

2015 Q2 Financials

And in the most exciting news of all, the second quarter financials were approved by the board. You can always find whatever financials have been released in the public financials folder. If you have never taken a look at the financials before, I recommend it. Although I tease about them being boring, I love financial statements! A while back, I wrote up a post about how to read our financial statements. I also like pointing out that each Con has it's own tab in our financial statements, so you can see exactly how that money coems in, and where it is spent. 

See you next time!

And that's it for this summary. But, if you have questions or ideas, you can always reach out to me!

Flickr photo: Joeri Poesen

Categories: Elsewhere

InternetDevels: The ABC of Creating Reliable Backups in Drupal

Planet Drupal - Tue, 28/07/2015 - 17:28

Find some useful tips on Drupal website data security from our guest blogger Jack Dawson, founder of Big Drop Inc.

In Drupal web development, there are a number of things that can be done to ensure the superior user experience and consistency, as well as save time and pain for the webmaster in times to come. First, you’ll need to have in mind the theme structure of Drupal and how you intend to draft your content in order to take advantage of Drupal’s best aspects and make the site efficient.

Read more
Categories: Elsewhere

LevelTen Interactive: A Simple Entity Data API for Module Builders

Planet Drupal - Tue, 28/07/2015 - 17:26

Entity Data is a handy little API to make module builder's lives easier. If you need to build a module that adds functionality and data to an entity, no longer will you have to implement your own CRUD and export/import support.

A module builders dilemma

Fields are a powerful way to add data to Drupal entities. However, sometimes fields can be rather cumbersome. Particularly when you want to add something and thus attach fields to entities that already exists.... Read more

Categories: Elsewhere

Lisandro Damián Nicanor Pérez Meyer: Plasma/KF5 : Testing situation

Planet Debian - Tue, 28/07/2015 - 17:19
Dear Debian/KDE users,

We are aware that the current situation in testing is very unfortunate, with two main issues:

  1. systemsettings transitioned to testing before the corresponding KDE Control Modules. The result is that systemsettings displays an empty screen. This is tracked in the following bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790703.
  2. plasmoids such as plasma-nm transitioned to testing before plasma-desktop 5. The result is that the plasmoid are no longer displayed in the system tray.

We are working on getting plasma-desktop to transition to testing as soon as possible (hopefully in 2 days time), which will resolve both those issues. We appreciate that the transition to KF5 is much rougher than we would have liked, and apologize to all those impacted.

On behalf of the Qt/KDE team,
Categories: Elsewhere


Subscribe to jfhovinne aggregator - Elsewhere