My monthly report covers a large part of what I have been doing in the free software world. I write it for my donators (thanks to them!) but also for the wider Debian community because it can give ideas to newcomers and it’s one of the best ways to find volunteers to work with me on projects that matter to me.Debian LTS
This month I have been paid to work 15 hours on Debian LTS. In that time I did the following:
- Finished the work on tracker.debian.org to make it display detailed security status on each supported release (example).
- Prepared and released DLA-261-2 fixing a regression in the aptdaemon security update (happening only when you have python 2.5 installed).
- Prepared and released DLA-272-1 fixing 3 CVE in python-django.
- Prepared and released DLA-286-1 fixing 1 CVE in squid3. The patch was rather hard to backport. Thankfully upstream was very helpful, he reviewed and tested my patch.
- Did one week of “LTS Frontdesk” with CVE triaging. I pushed 19 commits to the security tracker.
Kali Linux wants to experiment something close to Debian Constantly Usable Testing: we have a kali-rolling release that is based on Debian Testing and we want to take a new snapshot every 4 months (in order to have 3 releases per year).
More specifically we have a kali-dev repository which is exactly Debian Stretch + our own Kali packages (the kali package take precedence) updated 4 times a day, just like testing is. And we have a britney2 setup that generates kali-rolling out of kali-dev (without any requirement in terms of delay/RC bugs, it just ensures that dependencies are not broken), also 4 times a day.
We have jenkins job that ensures that our metapackages are installable in kali-dev (and kali-rolling) and that we can build our ISO images. When things break, I have to fix them and I try to fix them on the Debian side first. So here are some examples of stuff I did in response to various failures:
- Reported #791588 on texinfo. It was missing a versioned dependency on tex-common and migrated too early. The package was uninstallable in testing for a few days.
- Reported #791591 on pinba-engine-mysql-5.5: package was uninstallable (had to be rebuilt). It appeared on output files of our britney instance.
- I made a non-maintainer upload (NMU) of chkrootkit to fix two RC bugs so that the package can go back to testing. The package is installed by our metapackages.
- Reported #791647: debtags no longer supports “debtags update –local” (a feature that went away but that is used by Kali).
- I made a NMU of debtags to fix a release critical bug (#791561 debtags: Missing dependency on python3-apt and python3-debian). kali-debtags was uninstallable because it calls debtags in its postinst.
- Reported #791874 on python-guess-language: Please add a python 2 library package. We have that package in Kali and when I tried to sync it from Debian I broke something else in Kali which depends on the Python 2 version of the package.
- I made a NMU of tcpick to fix a build failure with GCC5 so that the package could go back to testing (it’s part of our metapackages).
- I requested a bin-NMU of jemalloc and a give-back of hiredis on powerpc in #792246 to fix #788591 (hiredis build failure on powerpc). I also downgraded the severity of #784768 to important so that the package could go back to testing. Hiredis is a dependency of OpenVAS and we need the package in testing.
If you analyze this list, you will see that a large part of the issues we had come down to package getting removed from testing due to RC bugs. We should be able to anticipate those issues and monitor the packages that have an impact on Kali. We will probably add new jenkins job that installs all the metapackages and then run how-can-i-help -s testing-autorm --old… I just submitted #794238 as a wishlist against how-can-i-help.
At the same time, there are bugs that make it into testing and that I fix / work around on the Kali side. But those fixes / work around might be more useful if they were pushed to testing via testing-proposed-updates. I tried to see whether other derivatives had similar needs to see if derivatives could join their efforts at this level but it does not look like so for now.
Last but not least, bugs reported on the Kali side also resulted in Debian improvements:
- I reported #793360 on apt: APT::Never-MarkAuto-Sections not working as advertised. And I submitted a patch.
- I orphaned dnswalk and made a QA upload to fix its only bug.
- We wanted a newer version of the nvidia drivers. I filed #793079 requesting the new upstream release and the maintainer quickly uploaded it to experimental. I imported it on the Kali side but discovered that it was not working on i386 so I submitted #793160 with a patch.
- I noticed that Kali build daemons tend to accumulate many /dev/shm mounts and tracked this down to schroot. I reported it as #793081.
Sponsorship. I sponsored multiple packages for Daniel Stender who is packaging prospector, a software that I requested earlier (through RFP bug). So I reviewed and uploaded python-requirements-detector, python-setoptconf, pylint-celery and pylint-common. During a review I also discovered a nice bug in dh-python (#793609a comment in the middle of a Build-Depends could break a package). I also sponsored an upload of notmuch-addrlookup (new package requested by a Freexian customer).
Packaging. I uploaded python-django 1.7.9 in unstable and 1.8.3 in experimental to fix security issues. I uploaded a new upstream release of ditaa through a non-maintainer uploaded (again at the request of a Freexian customer).
Distro Tracker. Beside the work to integrate detailed security status, I fixed the code to be compatible with Django 1.8 and modified the tox configuration to ensure that the test suite is regularly run against Django 1.8. I also merged multiple patches of Christophe Siraut (cf #784151 and #754413).Thanks
See you next month for a new summary of my activities.
For years now I've wanted to dig through Drupal core, line by line, and understand how the big pieces do what they do. I'm finally doing that, and writing up my notes as I go.
Drupal 7 Deconstructed is the in-progress result of that.
If you've ever wondered what happens in the bootstrap process, or how Drupal's Form API works, or how exactly Drupal figures out which menu callback to run per page request, then this is the place to go.
It's just getting started, and so far I've only gone through the bootstrap process and the menu router, but I'm having a great time and learning a ton, so I expect to fill it up quickly.Who could benefit from this?
Any developer who has ever wondered how Drupal works could get some value out of reading this. You'll need to know at least a little about Drupal development to understand parts (for example, I don't explain what hook_menu() is when talking about the menu router), but you shouldn't need to be an expert or anything.
If you feel like that describes you, but you don't understand a part, please let me know so that I can make it more approachable.Want to help?
If you're interested in helping out, the best thing to do would be to keep an eye on the repo and proofread or review things as they're written.
Pull requests are also greatly appreciated, whether you want to fix a typo or submit a whole new chapter.
Or, if nothing else, just let me know if you like this idea! Knowing that this could be helpful to people besides just me is a huge motivational boost to keep things moving.What's the end game?
I don't know. I could see this staying on GitHub forever, or being published on Leanpub, or ending up as a blog series.
Any suggestions?Why Drupal 7? What about Drupal 8?
I chose Drupal 7 because it still has a pretty long shelf life left. Drupal 8 Deconstructed definitely needs to be written though, and I'd love to dive into that after 7 is complete.What about contrib?
I would love to take apart some of the more commonly used contrib modules like Views, CTools, Panels, Webform, Pathauto, etc., as well, but one step at a time!
Please check out Drupal 7 Deconstructed and let me know what you think so far!Read this next: I wrote a book for O'Reilly: "Responsive Theming for Drupal"
We met again today to discuss critical issues blocking Drupal 8's release (candidate). (See all prior recordings). Here is the recording of the meeting video and chat from today in the hope that it helps more than just those who were on the meeting:
If you also have significant time to work on critical issues in Drupal 8 and we did not include you, let me know as soon as possible.
The meeting log is as follows (all times are CEST real time at the meeting):
[11:03am] jibran: I think it is sorted by name
[11:03am] jibran: the order in the hangout
[11:03am] WimLeers: y
[11:07am] jibran: We have to look at google hangout code base for that.
[11:08am] WimLeers: https://www.drupal.org/node/2499157#comment-10172426
[11:08am] Druplicon: https://www.drupal.org/node/2499157 => [meta] Auto-placeholdering [#2499157] => 5 comments, 4 IRC mentions
[11:11am] WimLeers: amateescu's issue link: https://www.drupal.org/node/2336627#comment-10160850
[11:11am] Druplicon: https://www.drupal.org/node/2336627 => Deadlock on cache_config (DatabaseBackend::setMultiple()) [#2336627] => 39 comments, 24 IRC mentions
[11:12am] WimLeers: plach: yay for vacation :D
[11:12am] GaborHojtsy: VACATIOOOOOON!
[11:12am] GaborHojtsy: sometime, sometime :)
[11:12am] alexpott: https://www.drupal.org/node/2542762 is the nearly ready issue
[11:12am] Druplicon: https://www.drupal.org/node/2542762 => hook_entity_type_update doesn't get the entity in the new revision after addTranslation and setNewRevision [#2542762] => 11 comments, 4 IRC mentions
[11:13am] alexpott: https://www.drupal.org/node/2542748 is the gnarly update issue
[11:13am] Druplicon: https://www.drupal.org/node/2542748 => Automatic entity updates are not safe to run on update.php by default [#2542748] => 21 comments, 7 IRC mentions
[11:15am] plach: WimLeers: :)
[11:15am] WimLeers: alexpott: yay :)
[11:15am] dawehner: https://www.drupal.org/node/2540416
[11:15am] Druplicon: https://www.drupal.org/node/2540416 => Decide whether we need hook_upgrade_N()/upgrade.php front controller [#2540416] => 27 comments, 4 IRC mentions
[11:16am] WimLeers: dawehner: cache tables are auto-created
[11:16am] naveenvalecha|af left the chat room. (Read error: Connection reset by peer)
[11:16am] WimLeers: but yeah, router table etc… #sadpanda
[11:19am] WimLeers: The issue that originally turned it from a separate PHP file into a route + controller: https://www.drupal.org/node/2250119
[11:19am] Druplicon: https://www.drupal.org/node/2250119 => Run updates in a full environment [#2250119] => 21 comments, 1 IRC mention
[11:34am] WimLeers: plach: ROFL
[11:34am] WimLeers: plach++
[11:43am] WimLeers: "a foam of circles" lol
[11:48am] alexpott: https://www.drupal.org/node/2542748
[11:48am] Druplicon: https://www.drupal.org/node/2542748 => Automatic entity updates are not safe to run on update.php by default [#2542748] => 21 comments, 8 IRC mentions
[11:55am] dawehner: WimLeers: well but those tables aren't auto fixed
[11:56am] dawehner: WimLeers: so just imagine what happens if you need to change the cache_ tables
[12:00pm] WimLeers: dawehner: ohhh!
[12:02pm] WimLeers: plach: is that the church bells in Venice that I'm hearing?
[12:03pm] WimLeers: dawehner: lol
[12:03pm] WimLeers: :)
[12:05pm] plach: WimLeers: yeah, sorry :)
[12:05pm] WimLeers: plach: made me feel like I was on vacation, ever so briefly
[12:05pm] WimLeers: :D
[12:05pm] plach: :)
[12:23pm] dawehner: alexpott: are the issues the new thing or the solutions ;)
[12:24pm] alexpott: dawehner: well we have better ideas
The DUCK challenge is making a quite stable progress: in the last 4 weeks there were approximately 12.25 packages fixed and uploaded per week. In the current week the following packages were fixed and uploaded into unstable:
- François-René Ridea uploaded cl-adsl
- gregor herrmann uploaded libdevel-profile-perl and libmail-verp-perl
- Lucas Kanashiro uploaded libclass-singleton-perl, libpod-readme-perl and libconfig-json-perl
- Jordi Mallach uploaded fcgiwrap
- Joao Eriberto Mota Filho uploaded rifiuti and rifiuti2
- Gergely Nagy uploaded dh-exec
- Ian Jackson uploaded dgit
- Raphaël Hertzog uploaded memdump
- Joao Eriberto Mota Filho uploaded recoverdm
- Picca Frédéric-Emmanu uploaded sardana
So we had 14 packages fixed and uploaded by 10 different uploaders. A big "Thank You" to you!!
Since the start of this challenge, a total of 49 packages, uploaded by 31 different persons were fixed.
Here is a quick overview:Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 # Packages 10 15 10 14 - - - Total 10 25 35 49 - - -
There are several tools that that makes designing for Drupal much, much easier.
In particular, we recommend the Theme developer module and also Firebug.
Think of Theme developer as a Drupal-specific version of Firebug. Using Theme developer you can click on any element of your Drupal site and get a breakdown of how it was built.
DebConf team: DebConf15 Schedule Published and Additional Featured Speakers Announced (Posted by DebConf Content Team)
The DebConf content team is pleased to announce the schedule of DebConf15, the forthcoming Debian Developers Conference. From a total of nearly 100 talk submissions, the team selected 75 talks. Due to the high number of submissions, several talks had to be shortened to 20 minute slots, of which a total of 30 talks have made it to the schedule.
In addition, around 50 meetings and discussions (BoFs) have been submitted so far, as well as several other events like lightning talk sessions, live demos, a movie screening, a poetry night or stand-up comedy.
The Schedule is available online at the DebConf15 conference site.
Further changes to the schedule can and will be made, but today’s announcement represents the first stable version.Featured Speakers
In addition to the previously announced invited speakers, the content team also announces the following list of additional featured speakers:
- Allison Randal, President, Open Source Initiative and Distinguished Technologist, HP: “Philosophy of Free Software”
- Peter Eckersley, Chief Computer Scientist, Electronic Frontier Foundation: “Let’s Encrypt”
- John Sullivan, Executive Director, Free Software Foundation: “Debian and the FSF: Ending disagreements by solving problems at the source”
- Jon ‘maddog’ Hall, Executive Director, Linux International: “Two contests, no waiting!”
The full list of invited and featured speakers, including the invited speakers profiles and the titles of their talks is available here.
Have you ever been working on a site, and had your QA department, or your client come back with issues because when logged in, the local tabs (view, edit, etc) distort the page layout? Or maybe there are a lot of pages that contain a lot of content, and it has become frustrating for site admins to have to scroll all the way back up to edit the page? Wouldn’t it be great to still have easy access to the local tabs and not have them add extra bulk to the page layout and content?
We have began using a few different tweaks to add in the local tabs into the shortcuts menu area of a...
The logical way to analyse data is to start by looking at summarised data before looking at the detail. This is referred to as drilling down. In this post I demonstrate how to define drill down functionality between two Drupal Views. This is a continuation on my series of posts showing how Drupal can be used as a BI or data analysis front end.
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
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?
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.
- Time w/ Family
- Time w/ Friends
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
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:
- Grab a copy of build.sh
- Modify conf/site.make to our liking
- Enable contrib & custom modules as a dependency in code/profiles/wk/wk.info
- 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.
- Bump up the version of Drupal core in conf/site.make
- Run ./build.sh update
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.
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 firstname.lastname@example.org with your wishes and we might make turn them into reality!
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.
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)
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.
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
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.
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.
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
BRAD CZERNIAK - Developer
CHRIS KELLER - Developer
HILLARY LEWANDOWSKI - Developer
MICHAEL ZHANG - Intern
SHANE SEVO - HostPodcast SubscriptionHooked on Drupal, Drupal 8, OOP, Personalize, Planet Drupal, podcast