Mark Brown: OpenTAC sprint

Planet Debian - Tue, 17/05/2016 - 17:11

This weekend Toby Churchill kindly hosted a hacking weekend for OpenTAC – myself, Michael Grzeschik, Steve McIntyre and Andy Simpkins got together to bring up the remaining bits of the hardware on the current board revision and get some of the low level tooling like production flashing for the FTDI serial ports on the board up and running. It was a very productive weekend, we verified that everything was working with only few small mods needed for the board . Personally the main thing I worked on was getting most of an initial driver for the EMC1701 written. That was the one component without Linux support and allowed us to verify that the power switching and measurement for the systems under test was working well.

There’s still at least one more board revision and quite a bit of software work to do (I’m hoping to get the EMC1701 upstream for v4.8) but it was great to finally see all the physical components of the system working well and see it managing a system under test, this board revision should support all the software development that’s going to be needed for the final board.

Thanks to all who attended, Pengutronix for sponsoring Michael’s attendance and Toby Churchill for hosting!

Categories: Elsewhere

Acquia Developer Center Blog: Drupal in China: Impressions after a Hackaton and a DrupalCamp

Planet Drupal - Tue, 17/05/2016 - 16:49

In the Open Source community, the best way to get involved, and learn, is to dive in, head-first, at the deep end.

This is exactly the reason why we run hackathons: to introduce new concepts to developers in an environment where they can be nurtured. By combining a hackathon with a DrupalCamp, developers get enveloped in a blanket of Drupal and Open Source for a few days, essential for rapid development of skills in new technology.

Tags: acquia drupal planet
Categories: Elsewhere

Mike Gabriel: NXv3 Rebase: Build nxagent against X.org 7.0

Planet Debian - Tue, 17/05/2016 - 16:27

As already hinted in my previous blog post, here comes a short howto that explains how to test-build nxagent (v3) against a modularized X.org 7.0 source tree.

WARNING: Please note that mixing NX code and X.org code partially turns the original X.org code base into GPL-2 code. We are aware of this situation and work on moving all NXv3 related GPL-2 code into the nxagent DDX code (xserver-xorg/hw/nxagent) or--if possible--dropping it completely. The result shall be a range of patches against X.org (licensable under the same license as the respective X.org files) and a GPL-2 licensed DDX (i.e. nxagent).

How to build this project For the Brave and Playful $ git clone https://git.arctica-project.org/nx-X11-rebase/build.git . $ bash populate.sh sources.lst $ ./buildit.sh

You can find the built tree in the _install/ sub-directory.

Please note that cloning Git repositories over the https protocol can be considerably slow. If you want to speed things up, consider signing up with our GitLab server.

For Developers...

... who have registered with our GitLab server.

$ git clone git@git.arctica-project.org:nx-X11-rebase/build.git . $ bash populate.sh sources-devs.lst $ ./buildit.sh

You will find the built tree in the _install/ sub-directory.

The related git repositories are in the repos/ sub-directory. All repos modified for NX have been cloned from the Arctica Project's GitLab server via SSH. Thus, you as a developer can commit changes on those repos and push back your changes to the GitLab server.

Required tools for building Debian/Ubuntu and alike
  • build-essential
  • automake
  • gawk
  • git
  • pkg-config
  • libtool
  • libz-dev
  • libjpeg-dev
  • libpng-dev

In a one-liner command:

$ sudo apt-get install build-essential automake gawk git pkg-config libtool libz-dev libjpeg-dev libpng-dev Fedora

If someone tries this out in a clean Fedora chroot environment, please let us know about build dependent packages.


If someone tries this out in a clean openSUSE chroot environment, please let us know about build dependent packages.

Testing the built nxagent and nxproxy

The tests/ subdir contains some scripts which can be used to test the compile results.

  • run-nxagent runs an nxagent and starts an nxproxy connection to it (do this as normal non-root user):
    $ tests/run-nxagent $ export DISPLAY=:9 # launch e.g. MATE desktop environment on Debian, adapt session type and Xsession startup to your system / distribution $ STARTUP=mate-session /etc/X11/Xsession
  • run-nxproxy2nxproxy-test connects to nxproxys using the nx compression protocol: $ tests/run-nxproxy2nxproxy-test $ export DISPLAY=:8 # launch e.g. xterm and launch other apps from within that xterm process $ xterm &
  • more to come...
Notes on required X.org changes (NX_MODIFICATIONS)

For this build workflow to work, we (i.e. mostly Ulrich Sibiller) had to work several NoMachine patches into original X.org 7.0 code. Here is a list of modified X11 components with URLs pointing to the branch containing those changes:

xkbdata xorg/data/xkbdata rebasenx 1.0.1 https://git.arctica-project.org/nx-X11-rebase/xkbdata.git libfontenc xorg/lib/libfontenc rebasenx 1.0.1 https://git.arctica-project.org/nx-X11-rebase/libfontenc.git libSM xorg/lib/libSM rebasenx 1.0.0 https://git.arctica-project.org/nx-X11-rebase/libSM.git libX11 xorg/lib/libX11 rebasenx 1.0.0 https://git.arctica-project.org/nx-X11-rebase/libX11.git libXau xorg/lib/libXau rebasenx 1.0.0 https://git.arctica-project.org/nx-X11-rebase/libXau.git libXfont xorg/lib/libXfont rebasenx 1.3.1 https://git.arctica-project.org/nx-X11-rebase/libXfont.git libXrender xorg/lib/libXrender rebasenx https://git.arctica-project.org/nx-X11-rebase/libXrender.git xtrans xorg/lib/libxtrans rebasenx 1.0.0 https://git.arctica-project.org/nx-X11-rebase/libxtrans.git kbproto xorg/proto/kbproto rebasenx 1.0.2 https://git.arctica-project.org/nx-X11-rebase/kbproto.git xproto xorg/proto/xproto rebasenx 7.0.4 https://git.arctica-project.org/nx-X11-rebase/xproto.git xorg-server xorg/xserver rebasenx 1.0.1 https://git.arctica-project.org/nx-X11-rebase/xserver.git mesa mesa/mesa rebasenx 6.4.1 https://git.arctica-project.org/nx-X11-rebase/mesa.git Credits

Nearly all of this has been achieved by Ulrich Sibiller. Thanks a lot for giving your time and energy to that. As the rebasing of NXv3 is currently a funded project supported by the Qindel Group, we are currently negotiating ways of monetarily appreciating Ulrich's intensive work on this. Thanks a lot, once more!!!


If anyone of you feels like trying out the test build as described above, please consider signing up with the Arctica Project's GitLab server and reporting your issues there directly (against the repository nx-X11-rebase/build). Alternatively, feel free to contact us on IRC (Freenode): #arctica or subscribe to our developers' mailing list. Thank you.

Mike Gabriel

Categories: Elsewhere

Raphaël Hertzog: Freexian’s report about Debian Long Term Support, April 2016

Planet Debian - Tue, 17/05/2016 - 15:57

Like each month, here comes a report about the work of paid contributors to Debian LTS.

Individual reports

In April, 116.75 work hours have been dispatched among 9 paid contributors. Their reports are available:

  • Antoine Beaupré did 16h.
  • Ben Hutchings did 12.25 hours (out of 15 hours allocated + 5.50 extra hours remaining, he returned the remaining 8.25h to the pool).
  • Brian May did 10 hours.
  • Chris Lamb did nothing (instead of the 16 hours he was allocated, his hours have been redispatched to other contributors over May).
  • Guido Günther did 2 hours (out of 8 hours allocated + 3.25 remaining hours, leaving 9.25 extra hours for May).
  • Markus Koschany did 16 hours.
  • Santiago Ruano Rincón did 7.50 hours (out of 12h allocated + 3.50 remaining, thus keeping 8 extra hours for May).
  • Scott Kitterman posted a report for 6 hours made in March but did nothing in April. His 18 remaining hours have been returned to the pool. He decided to stop doing LTS work for now.
  • Thorsten Alteholz did 15.75 hours.

Many contributors did not use all their allocated hours. This is partly explained by the fact that in April Wheezy was still under the responsibility of the security team and they were not able to drive updates from start to finish.

In any case, this means that they have more hours available over May and since the LTS period started, they should hopefully be able to make a good dent in the backlog of security updates.

Evolution of the situation

The number of sponsored hours reached a new record with 132 hours per month, thanks to two new gold sponsors (Babiel GmbH and Plat’Home). Plat’Home’s sponsorship was aimed to help us maintain Debian 7 Wheezy on armel and armhf (on top of already supported amd64 and i386). Hopefully the trend will continue so that we can reach our objective of funding the equivalent of a full-time position.

The security tracker currently lists 45 packages with a known CVE and the dla-needed.txt file lists 44 packages awaiting an update.

This is a bit more than the 15-20 open entries that we used to have at the end of the Debian 6 LTS period.

Thanks to our sponsors

New sponsors are in bold.

No comment | Liked this article? Click here. | My blog is Flattr-enabled.

Categories: Elsewhere

LevelTen Interactive: Drupal Commerce - How to set up Search API to search SKUs with and without dashes

Planet Drupal - Tue, 17/05/2016 - 07:00

So, you've built your Drupal Commerce site and are now setting up Search. You probably aren't going to use Drupal core's search since it won't give you enough control over what and how search results are returned. You are going to set up your own search server and index using Search API.

In this example, I am using Solr Search with Acquia Search for Search API. It doesn't matter how you have your index and server set up - as long as you can index your Commerce Products and Product displays, the custom module that I will describe shortly should work. For my setup, I have downloaded...Read more

Categories: Elsewhere

FFW Agency: Community, Connections, Console & Personalization. FFW Rocks DrupalCon.

Planet Drupal - Tue, 17/05/2016 - 05:08
Community, Connections, Console & Personalization. FFW Rocks DrupalCon. brent.bice Tue, 05/17/2016 - 03:08

A week of beignets, beer and learning Drupal! FFW let the good times roll at DrupalCon 2016 New Orleans. In case you missed out, here are four must watch presentations to jazz up your week.

Is size just a number?: Reflecting on community growth, mentoring, and where we spend our efforts

FFW’s Dave Hernandez discusses the challenges our Drupal community faces as one of the largest open source communities in the world. From capacity to growing pains, Dave tackles potential problems such as the limited number of high-end contributors and burnout.

He also discusses ways we might shift our focus, like supporting smaller, more productive events, one-on-one mentoring programs to help nurture existing contributors, and other ways to make sure we get the most out of our limited volunteer hours and efforts.

GE Energy Connections & FFW: Delivering Business Results Beyond Clicks and Conversions 

GE Energy Connections Digital Strategy Leader, Holly Bounds and FFW’s Brent Bice share stories about how Drupal not only generates traffic, conversion and increased revenue, but provides significant intrinsic value to organizations through:

  • Reduced support and maintenance
  • Improved internal collaboration
  • Increased productivity
  • And significant cost savings.

​Looking for ways to reduce support costs by 22% and save millions of dollars per year? Watch this presentation!

Writing Command Line Tools for Drupal 8 Modules

FFW’s Jesus Olivas, maintainer of Drupal Console, and other panelists discuss a new collaborative effort to unify the way that command line tools should be written for Drupal 8 modules. Jesus provides a great walk through of writing a scripting interface for your Drupal 8 modules code using an object-oriented API built on top of Symfony Console components.

Going beyond the implementation of the CLI tool, they also provide guidance on best practices for decoupled module development and the latest progress and future plans for collaborative efforts between the teams to use common implementations for some of the more complex common functions, such as site installation, configuration management, and bootstrapping, and what you can do to help make the future of command line tools easier for everyone to manage.

Web Personalization for Drupal: Your Roadmap to Get Started

Dave Sawyer, FFW’s leading personalization expert, and Acquia’s John Money deliver a fantastic presentation for getting started with personalizing user experiences in Drupal. In this presentation, Dave covers use cases, prerequisites and much more as he explains why Drupal is the best CMS to execute a personalization strategy.

Tagged with Comments
Categories: Elsewhere

ActiveLAMP: Going back to Drupal, it's fun again!

Planet Drupal - Tue, 17/05/2016 - 04:00

Actually, we never left. We didn’t stop building Drupal sites, even through the long release cycle. However, we did move our company website, activelamp.com, off of Drupal about 18 months ago. Our company site had been built on Drupal since the Drupal 4.7 days. That was back when it started to become uncool to write and maintain your own home-grown CMS. I eventually found Drupal, ditched my custom CMS, and never looked back.

Our site started on Drupal 4.7, upgraded onto Drupal 5, then Drupal 6, and also Drupal 7 all at the beginning of the release cycles of Drupal. About 18 months ago, when our site was in dire need of an update, we evaluated Drupal 8 but realized with no release date in sight, and the fact that we did not want to chase HEAD and develop on unstable API’s, we decided to go a different route and build our updated site on Jekyll, a popular static generator. It’s more fun to tinker with new technology when working on non-billable stuff, which is what we did. We brushed up on our Ruby skills and built out a Jekyll site (which is this site you’re looking at if you’re reading this blog post before Q3 of 2016).

We’re getting ready for another update to our company website and moving back to Drupal to do it. Jekyll was great, but it came with its disadvantages over something like Drupal. This post will highlight some of the advantages and disadvantages of working with Jekyll the past 18 months, as well as highlight why we’re excited to put activelamp.com on Drupal 8 in Q3 of this year.

Categories: Elsewhere

Virtuoso Performance: DrupalCon NOLA migration sprint summary

Planet Drupal - Tue, 17/05/2016 - 01:00
DrupalCon NOLA migration sprint summary

DrupalCon NOLA is over - perhaps too soon for those of us who love this great city, or perhaps just soon enough for those who have given Drupal and the city of New Orleans every last ounce of energy they had this past week.

We had a very productive week sprinting for migration - it may not be reflected in the number of commits made by the end of the extended sprints, but we'll see the fruits over the coming weeks. Our focus was on triaging the issue queue, and on diving deeply into some of the more complex outstanding issues, rather than picking the low-hanging fruit.


I previously wrote about the upfront triage the first Sunday - I prepped a Google sheet with various breakdowns of outstanding core migration system issues, and with xjm and alexpott leading the way we got about halfway through the "Migrate critical" issues. We picked up with the other half on Friday, with a few more people attending - Ryan Weal, ultimike, penyaskito, vasi, and a few more gathered around the table. Because we were working through from the oldest created issues to newest, the first round caught most of the hardest issues and the Friday session went quicker. As of Sunday morning, we were down to 18 open migrate-criticals, of which 14 were touched in the past week (11 in the previous 48 hours), so we've got momentum going.

Specific issues addressed at NOLA

I had meant to cover everything worked on this week - but I had to cut it off, for space and time. This represents fewer than half the migration issues that saw work during DrupalCon.

Migrate D6 i18n nodes

This is the biggest outstanding issue at the moment. The problem here is quite complex - the representation of translated content has completely changed in Drupal 8. In particular, translations of a node are no longer separate nodes - all translations of a specific piece of content are represented by a single node, so merging the revision histories of multiple nodes into one is... challenging. vasi has come up with a clever solution here - my current project needs this, so I had real-world data to test against. This week:

  1. vasi got the tests green
  2. I rerolled the patch against 8.1.x (the issue is targeting 8.2.x, but my client is on 8.1.x at the moment).
  3. bwinett performed a manual test - migrating from D6 to 8.1.1 (using my reroll) using the core upgrade UI - and successfully validated that the right translations and revision history were in the right place.
  4. I performed a manual test with my client's data, with less successful results. Our scenario is a custom migration into a site containing manually-entered data, so we cannot preserve node and revision IDs. It turns out that the patch is assuming source revision IDs match the destination, when it attempts to consolidate multiple translations into a single revision.
  5. For the patch to do that, it needs to perform a lookup in the migration map table given just a revision ID. The revision map table has a two-column key - revision ID and language - and the API (MigrateIdMapInterface) doesn't currently support partial lookups.
  6. So, vasi opened an issue to extend the API and implemented a solution there, which is has now been committed.

At this writing, vasi is working on the next version of the node i18n patch using the idmap extension, and I'll be testing it against my client's data.

Migrate content type language settings from Drupal 6 & 7

Speaking of i18n, penyaskito, quietone (remotely), and vasi have moved this issue forward, rerolling the previous 8.0.x patch for 8.2.x and continuing to refine it. Next step (per penyaskito): Add an assertion that language_alterable is TRUE when there's no i18n_lock_node_TYPE.

Invalid passwords after D7 to D8 migration

alexpott took this one on and produced a patch which quietone has now manually verified - next step is complete code review.

Random failure in \Drupal\migrate_drupal_ui\Tests\d7\MigrateUpgrade7Test

A major annoyance with testing on drupal.org, this test has started randomly failing. This tests the upgrade UI, which is batched, and what happens per batch is non-deterministic (affected by timing/load), so it's difficult to track down. We had some discussion about this at the closing weekend Saturday extended sprint, and alexpott has been actively pursuing it.

Refactor EntityFile and use process plugins instead

I created a patch for this, which vasi and quietone have helped refine, and benjifisher applied CodeSniffer. Next step is for me to respond to benjy's review.

Destination bundle set in destination plugin, not in process

I've created a first draft of this patch, which the testbot tells me still needs work.

Reduce/remove tight coupling of migration destination plugins

quietone provided a suggested draft for the change record, and I tweaked the patch to deprecate rather than entirely remove md_entity:field_storage_config.

Cckfield Plugins must distinguish core versions

jmuzz has continued refining this patch.

Mentored sprint

The mentored core sprint (with mentors including heddn, vegantriathlete, and willwh) on Friday also contributed. 

Fixes to docs and code style for migrate/src/*.php files

A few sprinters participated in rerolling the existing patch for 8.1.x (with some guidance from hussainweb): jeffrey.vargas, kurthill4, nJim, and The Sean.

Rename MigrationCreationTrait as it no longer creates migrations - it configures them

Participants in this patch include barbarae, hussainweb, douggreen, and hanoii.

Value should be null when is produced skip process

rakesh.gectcr submitted a reroll of this patch, cmanalansan also worked on it. This one is committed!

D6->D8: Migrating links without leading slash leads to fatal error

ancapaaron and bsnodgrass did manual testing on D6 and D7 respectively - looks like this is something we only need to worry about on D6.

Non-NOLA progress

Not everyone gets to go to every DrupalCon - while we fortunate ones were sprinting on-site, work progressed around the world...

Sql::getRowBySource doesn't adhere to MigrateIdMapInterface::getRowBySource

On the BC-breakers list but the NOLA sprinters didn't get to this - quietone working remotely rerolled the 7-month-old patch that was there, it's now ready for review.

Migrated custom block body field is hidden on form and display

rocketerrbkw identified this problem and has provided a patch - ready for review.

Last imported timestamps not set in map tables

milesw found a nasty "oops!" in a recent patch - looks good, just needs tests.

Variable to config: statistics.settings [d7]

vprocessor rerolled the existing patch and quietone reviewed.

Next steps

A lot of the work done at DrupalCon (not to mention a lot of work done previous to DrupalCon as well) needs review - let's get in there and see what we can move forward to RTBC.

I feel like we have a lot of momentum going now - but in my experience that DrupalCon momentum can dissipate pretty quickly. Let's keep it going - I'd like to propose ongoing migration sprints on a regular basis. Specifically:

  1. Each sprint lasts a calendar day - during that day (according to your local calendar), those interested in pushing D8 migration forward try to find at least one chunk of time to work on migration issues, coordinating on IRC in #drupal-migrate.
  2. For now, the theme will be Migrate-critical issues. Once we trim that list down to just a couple, we can pick different themes.
  3. Since not every day of the week is equally open for everyone, let's rotate it - I suggest doing it every 8 days. So, Monday May 23 (8 days after the last DrupalCon extended sprint), Tuesday May 31, Wednesday June 8, etc...
  4. I'll try to put out a blog post the day before each sprint day going over the status of key migrate-criticals.
Obligatory travelogue

I just couldn't keep up the daily blogging pace from mid-week on... Most of the meals have faded from my memory (and frankly I was finding better food earlier in the week than I was later), but I will leave you with my musical memories.

Wednesday night, sleep-deprived, I was heading back to my hotel on Esplanade when I ran into a couple of former Acquia colleagues on Royal. With very little arm-twisting, they convinced me to lead them to Frenchmen Street, where we picked a club pretty much at random (30°/-90°). It was shortly after 9pm and the band started up right after we got there, so I figured I'd stay for one set and still get a good night's sleep. It turned out they only played one set - and it lasted almost to 1am. And that band (Soul Company, with a somewhat different lineup than you see there) was simply awesome - high-energy jazz-funk (or funk-jazz?), very tight as they ran through covers of Herbie Hancock, Stevie Wonder, CCR/Ike & Tina, and many more. They closed with a medley of Kiss and Purple Rain, with a guest singer whose falsetto would have made Prince (R.I.P.) himself jealous. The late night pretty much wiped out my Thursday, but it was well worth it.

Saturday night I closed out the week with an actual plan - local legend John Boutté, (yes, I only knew him from Treme) was at d.b.a., so I made sure to get there good and early. This show was, unfortunately, a mixed bag - people gabbing loudly in the back of the room made it difficult to enjoy the performance, especially on the quieter tunes.

<rant>Who are these idiots who pay a cover for a show and then pay absolutely no attention to the artist!? WHY ARE YOU EVEN HERE!!!?</rant>

Sigh... Anyway, Boutté and his band (3+ piece horn section, guitar, and bass) did a fine job despite the distractions. Highlights were gentle takes on Time After Time and Hallelujah, with the emotional center being a combination of a nearly-a-cappella You've Got to Be Carefully Taught followed by a funky Southern Man.

And so, as my train departed Sunday, I left satisfied - a great week in and out of the convention center, can't wait until DrupalCon comes back here (hint, hint...)!

mikeryan Mon, 05/16/2016 - 18:00 Tags
Categories: Elsewhere

Bits from Debian: New Debian Developers and Maintainers (March and April 2016)

Planet Debian - Tue, 17/05/2016 - 00:10

The following contributors got their Debian Developer accounts in the last two months:

  • Sven Bartscher (kritzefitz)
  • Harlan Lieberman-Berg (hlieberman)


Categories: Elsewhere

Gizra.com: 12 Things I learned at my first DrupalCon

Planet Drupal - Mon, 16/05/2016 - 23:00

For years I have been hearing about DrupalCon from Brice and Amitai. Every six months they would send me a massive group photo and challenged me to locate them among the crazy mustaches, viking helmets, and identical t-shirts. Needless to say, I failed every time and the number of people in those pictures grew every year. I’m also happy to say that that last group photo - from a week ago - included me as well (Bonus points if you can spot me).

2016 DrupalCon Group Photo.

My first Con was an overwhelmingly great experience and I learned a ton of new things. Here are the top 12:

1) Count down from 100 if you can’t fall asleep at night

DrupalCon’s sessions and keynotes are diverse and engaging. For instance, the Community Keynote by @schnitzel (Michael Schmid), was full of tips to keep your brain ready and aware, such as: Start your day doing things you dislike, drink plenty of water that will force you to take a lot of pee breaks, and play with kids to clear your mind.

The enormous amount of people and ideas exchanged in DrupalCon are so invigorating that you might find it hard to sleep at night. Try counting backwards slowly from hundred to zero. I have already put it to the test and it works - that tip alone was worth the trip.

Michael Schmid (@schnitzel) delivers the Community Keynote 2) Gator omelette for breakfast

New Orleans is a seafood and meat town. Crab, crawfish, sausages, bbq, and alligator - the Queen City is not known for its consumptions of vegetables.

Breakfast portions are huge and everything is golden-brown. But in New Orleans there is a special name for that little strip of green ground in the middle of a boulevard - “neutral ground” (thanks Trivia Night!). Perhaps they can grow fresh vegetables there!

A typical three-person breakfast. We’ve never finished it!

Continue reading…

Categories: Elsewhere

Clint Adams: Canadian Automobile Association

Planet Debian - Mon, 16/05/2016 - 22:18

bind9 in jessie does not support CAA records

Categories: Elsewhere

OSTraining: How to Use Pathauto in Drupal 8

Planet Drupal - Mon, 16/05/2016 - 20:10

Many modules have been in flux during the early stages of Drupal 8's development.

Few modules have changed as much as Pathauto, which the vast majority of Drupal sites use to control their URLs.

In this tutorial, I'll show you the current way to use Pathauto with your Drupal 8 site.

Categories: Elsewhere

Steinar H. Gunderson: stretch on ODROID XU4

Planet Debian - Mon, 16/05/2016 - 17:58

I recently acquired an ODROID XU4. Despite being 32-bit, it's currently at the upper end of cheap SoC-based devboards; it's based on Exynos 5422 (which sits in Samsung Galaxy S5), which means 2 GHz quadcore Cortex-A15 (plus four slower Cortex-A7, in a big.LITTLE configuration), 2 GB RAM, USB 3.0, gigabit Ethernet, a Mali-T628 GPU and eMMC/SD storage. (My one gripe about the hardware is that you can't put on the case lid while still getting access to the serial console.)

Now, since I didn't want it for HTPC or something similar (I wanted a server/router I could carry with me), I didn't care much about the included Ubuntu derivative with all sorts of Samsung modifications, so instead, I went on to see if I could run Debian on it. (Spoiler alert: You can't exactly just download debian-installer and run it.) It turns out there are lots of people who make Debian images, but they're still filled with custom stuff here and there.

In recent times, people have put down heroic efforts to make unified ARM kernels; servers et al can now enumerate hardware using ACPI, while SoCs (such as the XU4) have a “device tree” file (loaded by the bootloader) containing a functional description of what hardware exists and how it's hooked up. And lo and behold, the 4.5.0 “armmp” kernel from stretch boots and mostly works! Well… except for that there's no HDMI output. :-)

There are two goals I'd like to achieve by this exercise: First, it's usually much easier to upgrade things if they are close to mainline. (I wanted support for sch_fq, for instance, which isn't in 3.10, and the vendor kernel is 3.10.) Second, anything that doesn't work in Debian is suddenly exposed pretty harshly, and can be filed bugs for and fixed—which benefits not only XU4 users (if nothing else, because the custom distros have to carry less delta), but usually also other boards as most issues are of a somewhat more generic nature. Yet, the ideal seems to puzzle some of the more seasoned people in the ODROID user groups; I guess sometimes it's nice to come in as a naïve new user. :-)

So far, I've filed bugs or feature requests to the kernel (#823552, #824435), U-Boot (#824356), grub (#823955, #824399), and login (#824391)—and yes, that includes for the aforemented lack of HDMI output. Some of them are already fixed; with some luck, maybe the XU4 can be added next to the other Exynos5 board at the compatibility list for the armmp kernels at some point. :-)

You can get the image at http://storage.sesse.net/debian-xu4/. Be sure to read the README and the linked ODROID forum post.

Categories: Elsewhere

Dries Buytaert: Cross-channel user experiences with Drupal

Planet Drupal - Mon, 16/05/2016 - 16:55

Last year around this time, I wrote that The Big Reverse of Web would force a major re-architecture of the web to bring the right information, to the right person, at the right time, in the right context. I believe that conversational interfaces like Amazon Echo are further proof that the big reverse is happening.

New user experience and distribution platforms only come along every 5-10 years, and when they do, they cause massive shifts in the web's underlying technology. The last big one was mobile, and the web industry adapted. Conversational interfaces could be the next user experience and distribution platform – just look at Amazon Echo (aka Alexa), Facebook's messenger or Microsoft's Conversation-as-a-Platform.

Today, hardly anyone questions whether to build a mobile-optimized website. A decade from now, we might be saying the same thing about optimizing digital experiences for voice or chat commands. The convenience of a customer experience will be a critical key differentiator. As a result, no one will think twice about optimizing their websites for multiple interaction patterns, including conversational interfaces like voice and chat. Anyone will be able to deliver a continuous user experience across multiple multiple channels, devices and interaction patterns. In some of these cross-channel experiences, users will never even look at a website. Conversational interfaces let users disintermediate the website by asking anything and getting instant, often personalized, results.

To prototype this future, my team at Acquia built a fully functional demo based on Drupal 8 and recorded a video of it. In the demo video below, we show a sample supermarket chain called Gourmet Market. Gourmet Market wants their customers to not only shop online using their website, but also use Echo or push notifications to do business with them.

We built an Alexa integration module to connect Alexa to the Gourmet Market site and to answer questions about sale items. For example, you can speak the command: "Alexa, ask Gourmet Market what fruits are on sale today". From there, Alexa would make a call to the Gourmet Market website, finding what is on sale in the specified category and pull only the needed information related to your ask.

On the website's side, a store manager can tag certain items as "on sale", and Alexa's voice responses will automatically and instantly reflect those changes. The marketing manager needs no expertise in programming -- Alexa composes its response by talking to Drupal 8 using web service APIs.

The demo video also shows how a site could deliver smart notifications. If you ask for an item that is not on sale, the Gourmet Market site can automatically notify you via text once the store manager tags it as "On Sale".

From a technical point of view, we've had to teach Drupal how to respond to a voice command, otherwise known as a "Skill", coming into Alexa. Alexa Skills are fairly straightforward to create. First, you specify a list of "Intents", which are basically the commands you want users to run in a way very similar to Drupal's routes. From there, you specify a list of "Utterances", or sentences you want Echo to react to that map to the Intents. In the example of Gourmet Market above, the Intents would have a command called GetSaleItems. Once the command is executed, your Drupal site will receive a webhook callback on /alexa/callback with a payload of the command and any arguments. The Alexa module for Drupal 8 will validate that the request really came from Alexa, and fire a Drupal Event that allows any Drupal module to respond.

It's exciting to think about how new user experiences and distribution platforms will change the way we build the web in the future. As I referenced in Drupalcon New Orleans keynote, the Drupal community needs to put some thought into how to design and build multichannel customer experiences. Voice assistance, chatbots or notifications are just one part of the greater equation. If you have any further thoughts on this topic, please share them in the comments.

Categories: Elsewhere

Red Route: Jumping through hoops with the golden flexbox hammer

Planet Drupal - Mon, 16/05/2016 - 16:11

I've been a big proponent of using Flexbox for a while, especially since hearing Zoe Mickley Gillenwater speaking about it at Smashing Conference Oxford 2014.

In particular, I use justify-content: space-between a lot. But one issue with it is what happens in the last row. If the number of child items doesn't divide nicely into the number of items per row, there will be a big gap between them, as you can see from this Codepen example:

See the Pen space-between by malcomio (@malcomio) on CodePen.

It can look pretty ugly, especially if the parent element is wide. One possible solution is to have the items in the last row fill the available space. But for the tiles layout on the Gallery Guide, that wouldn't work - it would make the last row items much too big. Ideally, the last row would be given a different behaviour - perhaps using a different justify-content value, perhaps using floats, but as far as I'm aware, there isn't a nice CSS way to achieve this.

The suggestion I found on StackOverflow is to add extra elements. Given that the rows are being generated by a Drupal view, we can achieve this using a preprocess function, adding dummy rows, which don't affect small screens because their height is set to zero.

Here's a Codepen example showing the idea:

See the Pen space-between with dummy rows by malcomio (@malcomio) on CodePen.

The relevant views all use the unformatted list format, so in the implementation of template_preprocess_views_view_unformatted we add a variable to say how many extra rows are needed to make it fit nicely:

define('GALL_VIEWS_ITEMS_PER_ROW', 4); /** * Implements template_preprocess_views_view_unformatted(). */ function gall_preprocess_views_view_unformatted(&$variables) { // Add dummy rows so that flexbox looks nice. $view_id = $variables['view']->id(); $tiles_views = _gall_tiles_views(); if (in_array($view_id, $tiles_views)) { $remainder = count($variables['view']->result) % GALL_VIEWS_ITEMS_PER_ROW; $rows_to_add = GALL_VIEWS_ITEMS_PER_ROW - $remainder; if ($remainder && $rows_to_add) { $variables['extra_rows'] = $rows_to_add; } } }

Once we've added this counter, we can use it to create a loop in our views-view-unformatted.html.twig template:

{% if extra_rows %} {% for i in 1..extra_rows %} {% endfor %} {% endif %}

And, as if by magic, the view rows are aligned left. Problem solved.

But maybe the problem was one of my own making. Even before I'd finished building this, I was realising that maybe it would have been easier to just use floats. To paraphrase Abraham Maslow, or perhaps Abraham Kaplan, someone who has just discovered a hammer will always be looking for nails. As always, there's another way I could have solved this, and the new way isn't always better than the old way. Having said that, I do like the way that flexbox helps to keep my margins tidy...

Tags:  Drupal Drupal 8 The Gallery Guide CSS flexbox All tags
Categories: Elsewhere

Tim Millwood: Workflow Initiative - DrupalCon New Orleans 2016

Planet Drupal - Mon, 16/05/2016 - 10:36
Last week I presented the plan for the Drupal Workflow Initiative at DrupalCon New Orleans. Please...
Categories: Elsewhere

Russ Allbery: Review: Gentleman Jole and the Red Queen

Planet Debian - Mon, 16/05/2016 - 05:59

Review: Gentleman Jole and the Red Queen, by Lois McMaster Bujold

Series: Vorkosigan #15 Publisher: Baen Copyright: 2015 Printing: February 2016 ISBN: 1-4767-8122-2 Format: Kindle Pages: 352

This is very late in the Vorkosigan series, but it's also a return to a different protagonist and a change of gears to a very different type of story. Gentleman Jole and the Red Queen has Cordelia as a viewpoint character for, I believe, the first time since Barrayar, very early in the series. But you would still want to read the intermediate Miles books before this one given the nature of the story Bujold is telling here. It's a very character-centric, very quiet story that depends on the history of all the Vorkosigan characters and the connection the reader has built up with them. I think you have to be heavily invested in this series already to get that much out of this book.

The protagonist shift has a mildly irritating effect: I've read the whole series, but I was still a bit adrift at times because of how long it's been since I read the books focused on Cordelia. I only barely remember the events of Shards of Honor and Barrayar, which lay most of the foundations of this story. Bujold does have the characters retell them a bit, enough to get vaguely oriented, but I'm pretty sure I missed some subtle details that I wouldn't have if the entire series were fresh in memory. (Oh for the free time to re-read all of the series I'd like to re-read.)

Unlike recent entries in this series, Gentleman Jole and the Red Queen is not about politics, investigations, space (or ground) combat, war, or any of the other sources of drama that have shown up over the course series. It's not even about a wedding. The details (and sadly even the sub-genre) are all spoilers, both for this book and for the end of Cryoburn, so I can't go into many details. But I'm quite curious how the die-hard Baen fans would react to this book. It's a bit far afield from their interests.

Gentleman Jole is all about characters: about deciding what one wants to do with one's life, about families and how to navigate them, about boundaries and choices. Choices about what to communicate and what not to communicate, and, partly, about how to maintain sufficient boundaries against Miles to keep his manic energy from bulldozing into things that legitimately aren't any of his business. Since most of the rest of the series is about Miles poking into things that appear to not be his business and finding ways to fix things, it's an interesting shift. It also cast Cordelia in a new light for me: a combination of stability, self-assurance, and careful and thoughtful navigation around others' feelings. Not a lot happens in the traditional plot sense, so one's enjoyment of this book lives or dies on one's investment in the mundane life of the viewpoint characters. It worked for me.

There is also a substantial retcon or reveal about an aspect of Miles's family that hasn't previously been mentioned. (Which term you use depends on whether you think Bujold has had this in mind all along. My money is on reveal.) I suspect some will find this revelation jarring and difficult to believe, but it worked perfectly for me. It felt like exactly the sort of thing that would go unnoticed by the other characters, particularly Miles: something that falls neatly into his blind spots and assumptions, but reads much differently to Cordelia. In general, one of the joys of this book for me is seeing Miles a bit wrong-footed and maneuvered by someone who simply isn't willing to be pushed by him.

One of the questions the Vorkosigan series has been asking since the start is whether anyone can out-maneuver Miles. Ekaterin only arguably managed it, but Gentleman Jole makes it clear that Miles is no match for his mother on her home turf.

This is a quiet and slow book that doesn't feel much like the rest of the series, but it worked fairly well for me. It's not up in the ranks of my favorite books of this series, partly because the way it played out was largely predictable and I never quite warmed to Jole, but Cordelia is delightful and seeing Miles from an outside perspective is entertaining. An odd entry in the series, but still recommended.

Rating: 7 out of 10

Categories: Elsewhere

Bits from Debian: What does it mean that ZFS is included in Debian?

Planet Debian - Sun, 15/05/2016 - 22:55

Petter Reinholdtsen recently blogged about ZFS availability in Debian. Many people have worked hard on getting ZFS support available in Debian and we would like to thank everyone involved in getting to this point and explain what ZFS in Debian means.

The landing of ZFS in the Debian archive was blocked for years due to licensing problems. Finally, the inclusion of ZFS was announced slightly more than a year ago, on April 2015 by the DPL at the time, Lucas Nussbaum who wrote "We received legal advice from Software Freedom Law Center about the inclusion of libdvdcss and ZFS in Debian, which should unblock the situation in both cases and enable us to ship them in Debian soon.". In January this year, the following DPL, Neil McGovern blogged with a lot of more details about the legal situation behind this and summarized it as "TLDR: It’s going in contrib, as a source only dkms module."

ZFS is not available exactly in Debian, since Debian is only what's included in the "main" section archive. What people really meant here is that ZFS code is now in included in "contrib" and it's available for users using DKMS.

Many people also mixed this with Ubuntu now including ZFS. However, Debian and Ubuntu are not doing the same, Ubuntu is shipping directly pre-built kernel modules, something that is considered to be a GPL violation. As the Software Freedom Conservancy wrote "while licensed under an acceptable license for Debian's Free Software Guidelines, also has a default use that can cause licensing problems for downstream Debian users".

Categories: Elsewhere

Darryl Norris's Blog: Get Your Libraries And Breakpoint Information From The UI

Planet Drupal - Sun, 15/05/2016 - 19:31

Have you ever try to get data from your libraries and/or breakpoints in Drupal 8 ? Drupal 8 core does not provide a UI for this information.  And sometimes is nice to have the ability to know your data from the UI. Instead of trying to hunt down all that information by searching many files. For this reason, I decide to write few modules that will allow you to get some of the libraries and breakpoint information from the UI. 

Libraries UI

  • Project Page: https://www.drupal.org/project/libraries_ui
  • Module Description: This module will provide a UI to display all libraries provide by modules and themes. Once libraries_ui is been installed visit /admin/config/media/libraries_ui to get all breakpoints information.

Breakpoints UI

  • Project Page: https://www.drupal.org/project/breakpoints_ui
  • Module Description: This module will provide a UI to display all breakpoints provide by modules and themes. Once breakpoints_ui is been installed visit /admin/config/media/breakpoints_ui to get all
Categories: Elsewhere

Attiks: Dream fields for Drupal 8

Planet Drupal - Sun, 15/05/2016 - 17:13

I went to Drupalcon NOLA and was looking for a new way to contribute, since there've been a lot of discussion about the front-end part, and after reading @dries blog post Turning Drupal outside-in I started looking at the field UI. I stumbled upon the core issue titled The options under the Add field drop-down describe the data you want to store, but the user was imagining the widget it would produce and decided that the outside-in approach might be a good approach.

By Peter Droogmans

Categories: Elsewhere


Subscribe to jfhovinne aggregator - Elsewhere