Feed aggregator

Joseph Bisch: My First Package

Planet Debian - Thu, 04/09/2014 - 16:14

I got my first package uploaded to Debian this week. That package is winetricks. It was orphaned and I adopted it. Now the lastest version (0.0+20140818+svn1202) is available in sid and should migrate to testing in nine days.

I moved the vcs from collab-maint to a personal repo, since I don’t have access to collab-maint.

I also have a sponsor for slowaes. It is also a package that was orphaned that I am adopting. The changes I made are more minor than those for winetricks. Besides adding myself as a maintainer, I just fix some lintian warnings. Slowaes should be uploaded soon.

Categories: Elsewhere

Code Karate: Drupal 7 Node Class Module

Planet Drupal - Thu, 04/09/2014 - 15:39
Episode Number: 166

In this episode you will learn how the Drupal 7 Node Class module works with the basic page content type. The simplicity of the Node Class module provides an easy way for site builders and themers to add a CSS class directly to the wrapper on the node. Using this module allows for various different layouts and styles to be called based on defined CSS rules.

Tags: DrupalContent TypesDrupal 7Layout ToolsDrupal PlanetCSS
Categories: Elsewhere

Jakub Wilk: Joys of East Asian encodings

Planet Debian - Thu, 04/09/2014 - 14:01

In i18nspector I try to support all the encodings that were blessed by gettext, but it turns out to be more difficult than I anticipated:

$ roundtrip() { c=$(echo $1 | iconv -t $2); printf '%s -> %s -> %s\n' $1 $c $(echo $c | iconv -f "$2"); } $ roundtrip ¥ EUC-JP ¥ -> \ -> \ $ roundtrip ¥ SHIFT_JIS ¥ -> \ -> ¥ $ roundtrip ₩ JOHAB ₩ -> \ -> ₩

Now let's do the same in Python:

$ python3 -q >>> roundtrip = lambda s, e: print('%s -> %s -> %s' % (s, s.encode(e).decode('ASCII', 'replace'), s.encode(e).decode(e))) >>> roundtrip('¥', 'EUC-JP') ¥ -> \ -> \ >>> roundtrip('¥', 'SHIFT_JIS') ¥ -> \ -> \ >>> roundtrip('₩', 'JOHAB') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 1, in <lambda> UnicodeEncodeError: 'johab' codec can't encode character '\u20a9' in position 0: illegal multibyte sequence

So is 0x5C a backslash or a yen/won sign? Or both?

And what if 0x5C could be a second byte of a two-byte character? What could possibly go wrong?

Categories: Elsewhere

Adnan Hodzic: Debian PPA Utility

Planet Debian - Thu, 04/09/2014 - 13:55

Debian remains to be my favorite distribution, however there’s one thing that’s missing, that thing is called PPA.

There were numerous discussions on this topic inside of Debian, but AFAIK without any visible movement. Thus, I decided to publish a utility I’ve been using for some time now.


Since its introduction, PPA’s are exclusively connected to Ubuntu and its derivatives (Mint, Elementary, etc …). But over time, a number of interesting projects appeared whose whole development is happening inside of PPA’s. To name few, I’m talking about TLP, Geary, Oracle Java Installer, Elementary OS and etc … Some of these projects are in WNPP without much happening for a long time, i.e: TLP

One option was to repackage these packages and then have them uploaded to Debian, or just go rogue and install them directly from its PPA’s. Title of this post might hint which path I took.

In theory, adding Ubuntu packages on your Debian system is a bad idea, and adding its PPA’s is probably even worse. But, I’ve been using couple (TLP, Geary, couple of custom icon sets) of these PPA’s on my personal/work boxes, and to be honest, never had a single problem. Also, setting Pinning priority to low for the PPA you added is never a bad idea.

Most of the PPA’s I use, are usually fairly simple packages with single binary and dependencies which are found in Debian itself. Of course, I don’t recommend adding PPA’s on production boxes, or even PPA’s such as GNOME3 Team PPA’s, but rather add Apt Pinning on your system and fetch those packages directly from Debian.

Debian PPA Utility

Is a very simple utility, which adds “add-apt-repository” binary script that allows you to add PPA’s on Debian. Code is available on GitHub, it’s licensed as GPLv3, so feel free to fork it, improve it, use it and abuse it.

How to use it?

Download/Build package

You can download my signed package (source and changes file are in same directory)

Or you can build your own by running "dpkg-buildpackage -uc -us" inside of the debian-ppa source directory.

Install/Add PPA’s

After you install the package, you’re able to run “add-apt-repository” and add PPA’s. i,e:

sudo add-apt-repository ppa:linrunner/tlp

Currently, Debian PPA Utility only works on >= Wheezy.

At this point I have no plans to try pushing this utility into Debian, as I’m sure even this blog post will be labelled as heresy by many.


It was just pointed to me that “add-apt-repository” is available in “software-properties-common” package. However, PPA’s added by “add-apt-repository”  binary present in this package instead of adding Ubuntu codename’s to your list file, will add Debian codenames which without change will make whole PPA entry useless.

I believe codename handling is better in “Debian PPA Utility”. I admit, my only mistake is, instead of fixing things in “software-properties-common” package, I made a completely new utility which aims to do the same thing.

Added: conflicts/replaces: software-properties-common to debian/control file.

Anyway, enjoy!

Categories: Elsewhere

Drupal core announcements: Drupal core updates for September 4, 2014

Planet Drupal - Thu, 04/09/2014 - 11:59
What's new with Drupal 8?

It has been a month since the last update on Drupal core development. In the meantime we met and worked hard together at TCDrupal and Drupalaton at the start of August triaging outstanding critical issues and resolving some. Also we collaborated on making Drupal's frontend better at Frontend United at the end of the month.

We've been doing such a great job taking care of the beta blocker issues that we are currently down to only one beta blocker as of this writing. What does this mean? Once we are down to no beta blockers left, a final alpha release is published. If there are no more beta blockers identified during a two-week window, the first beta release is published. Then we'll focus on resolving the hundred or so remaining critical issues to get to release candidates (once all of them are resolved).

Right now, help with the remaining beta blocker as well beta deadline and beta target issues is most welcome. Beta target issues may get in anytime later, but beta deadlines may not unless re-evaluated for inclusion regardless.

The best opportunity to get to work with Drupal developers in person is the 9 (nine) days of sprint opportunities coming up at the end of September at and around DrupalCon Amsterdam. It is the best way to learn Drupal 8 hands-on and help on the way.

Where's Drupal 8 at in terms of release?

Last week, we fixed 8 critical issues and 12 major issues, and opened 4 criticals and 7 majors. That puts us overall at 104 release-blocking critical issues and 644 major issues.

Where can I help? Top criticals to hit this week

Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem-space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a draft change record, we could use your help!

More ways to help
  • Pick a critical issue or beta deadline issue, take the time to thoroughly read the issue (including doing some background reading if necessary to understand the problem space), and then update the issue summary for the issue. Include a summary of the current status and remaining tasks for the issue, and identify any API changes the issue would introduce. Consider whether the change would require a change record or updates to existing change records. Consider what the implications of not resolving the issue would be, or of resolving it after the first beta or after release.
  • We also need help writing help text for core modules like Field UI, Image, Taxonomy and Toolbar. This is an easy way to learn the Drupal Core contribution process and start contributing to Drupal Core.

As always, if you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.

You can also help by sponsoring individual Drupal core development.

Notable Commits

Some of the best of git log --since "August 4, 2014" --pretty=oneline (277 commits in total):

  • Issue 1510544 by swentel, Bojhan, Gábor Hojtsy, merlinofchaos, Cottser, Wim Leers, plopesc, aspilicious, sannejanssen, larowlan, tim.plunkett, nod_: Fixed Show previews in front-end theme, able to select different view modes. This was a long time coming. Finally, your node preview will not appear on the backend!
  • Issue 2248767 by effulgentsia, beejeebus, alexpott: Use fast, local cache back-end (APCu, if available) for low-write caches (bootstrap, discovery, and config). Improves performance for some critical data a great deal.
  • Issue 2224761 by Gábor Hojtsy, alexpott, pfrenssen, effulgentsia, xjm, mlncn: Add a generic way to add third party configuration on configuration entities and implement for field configuration. Resolved a beta blocker by adding a facility for configuration entities to support third party settings. To be used for node types and other things as needed as well. Provides a simple solution when a full-on plugin architecture as in views is not suitable, but extension mechanisms are needed for configuration.
  • Issue 1966436 by naveenvalecha, cesarmiquel, Berdir, mr.york, jlbellido, segi, vasi1186, Leksat, Gábor Hojtsy, Schnitzel, grisendo, Aron Novak, likin, penyaskito, vijaycs85, kfritsche, fago: Fixed Default *content* entity languages are not set for entities created with the API. Now made Drupal properly create entities in the right language regardless of through the UI or API (eg. when adding a tag or uploading a file). Also makes entities created from the creation of the site be in the right language always.
  • Issue 2295469 by Cottser, dawehner | effulgentsia: Add support for static permission definitions with *.permissions.yml. Makes it possible to simply define permissions in a simple YAML file making this system consistent with several other in Drupal 8.
  • Issue 2271529 by attiks, alexpott, Lowell, YesCT, Jelle_S | mdrummond: Move breakpoint settings to theme and module *.breakpoints.yml files at root level. Improves developer experience providing breakpoints.
  • Issue 2317085 by pfrenssen | rteijeiro: Added the possibility to create a REST export when creating a new view. Makes it much easier to create simple web service views of Drupal content.
  • Issue 2250119 by ParisLiakos, Devin Carlson: Run updates in a full environment. Now that updates are not supposed to operate in API-incompatible environments, their implementation was unified with any other Drupal environment.

You can also always check the Change records for Drupal core for the full list of Drupal 8 API changes from Drupal 7.

Drupal 8 security

With the API stabilizing we are focusing on security again. In our last issue we already reported on Twig autoescape now being on, sometimes resulting in unwanted HTML strings appearing on the page because of double escape bugs. Please check the meta issue if you see these.

  • The router service is now access aware so there is no need now to separately access check the routes returned from it.
  • Building on this, now menu links, shortcuts and link fields use a unified path validator service..
Drupal 8 Around the Interwebs Drupal 8 in "Real Life" Whew! That's a wrap!

Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or git pull origin 8.0.x every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. Read more about how you can volunteer to help with these posts!

Categories: Elsewhere

Rapha&#235;l Hertzog: The problem of distributing applications

Planet Debian - Thu, 04/09/2014 - 10:29

A few days ago I watched a Q/A session with Linus Torvalds at Debconf 14. One of the main complaint of Linus towards Linux distribution was the way that distribution ends up using different versions of libraries than what has been used during application development. And the fact that it’s next to impossible to support properly all Linux distributions at the same time due to this kind of differences.

And now I just discovered a new proposal of the systemd team that basically tries to address this: Revisiting how we put together Linux Systems.

They suggest to make extensive use of btrfs subvolumes to host multiple variants of the /usr tree (that is supposed to contain all the invariant system code/data) that you could combine with multiple runtime/framework subvolumes thanks to filesytem namespaces and make available to individual applications.

This way of grouping libraries in “runtime subvolumes” reminds me a bit of the concepts of baserock (they are using git instead of btrfs) and while I was a bit dubious of all this (because it goes against quite a few of the principles of distribution integration) I’m beginning to believe that there’s room for both models to work together.

It would be nice if Debian could become the reference distribution that upstream developers are using to develop against Linux. This would in turn mean that when upstream distribution their application under this new form, they will provide (or reference) Debian-based subvolumes ready for use by users (even those who are not using Debian as their main OS). And those subvolumes would be managed by the Debian project (probably automatically built from our collection of .deb).

We’re still quite far from this goal but it will interesting to see this idea mature and become reality. There are plenty of challenges facing us.

17 comments | Liked this article? Click here. | My blog is Flattr-enabled.

Categories: Elsewhere

tanay.co.in: Telize - Simple IP-based Redirection Module for Drupal Sites

Planet Drupal - Thu, 04/09/2014 - 09:54

Was working with a customer who required simple IP-based redirection for Drupal Sites.

Was analyzing the various existing options:

  • Smart IP : Looks good. But sets sessions which break Varnish Caching. Most Drupal sites run from behind Varnish Reverse Proxy and using Smart IP would mean either forgoing varnish caching or having to add complex VCL rules.

  • Geo-Redirect : Again, would not work well with Varnish. The first redirection will be cached on Varnish and all subsequent users from different countries might be redirected to the cached redirection. Requires additional GeoIP.dat file to be downloaded and this should be updated frequently.

  • Using MaxMind API : Most hosts like Acquia allow the Maxmind API to be integrated on the balancers so that Varnish maintains country code in the cache (preventing the same redirection to be cached). The country code is added to the headers in both request and response. This is the ideal way to implement GeoIP for any enterprise site. But it requires dedicated load balancers, and there is no plug-and-play module to utilize the API requiring custom development.

  • And a plethora of other modules that break varnish in similar ways..

What I wanted:

  • Simple country-based redirection

  • Should not break caching / varnish

  • Should not require GeoIP datafiles to be downloaded and maintained

  • Should be simple and light-weight

  • Good-to-have, though not mandatory : Zero or Low subscription cost

A hour-long search resulted in nothing significantly useful for Drupal.

Finally found this API : http://www.telize.com/ . Sounded promising.

  • The API powering the site is opensource

  • There is no rate limit of any sort at the moment, and the service is free for everyone to use.

  • Used GeoLite data created by MaxMind

The API was exciting but still it was not something that could be plug-n-play’ed on Drupal.

Built this module - https://www.drupal.org/project/telize

  • Simple Country-based redirection

  • Redirection happens at front-end through JS. Works on top of Varnish

  • Does not set any session cookies. Won’t break your Varnish

  • No subscription required

  • No additional files/libraries required

Try it out of you have simple GeoIP redirection requirements.

Categories: Elsewhere

Russell Coker: Inteltech/Clicksend SMS Script

Planet Debian - Thu, 04/09/2014 - 06:19


I’ve just written the below script to send SMS via the inteltech.com/clicksend.com service. It takes the above configuration in /etc/sms-pass.cfg where the username is assigned with the clicksend web page and the API key is a long hex string that clicksend provides as a password. The LOG_SERVICE is which syslog service to use for the log messages, on systems that are expected to send many messages I use the service “local1″ and I use “user” for development systems.

I hope this is useful to someone, and if you have any ideas for improvement then please let me know.

# $1 is destination number
# text is on standard input
# standard output gives message ID on success, and 0 is returned
# standard error gives error from server on failure, and 1 is returned

. /etc/sms-pass.cfg
TEXT=`tr "[:space:]" + | cut -c 1-159`

logger -t sms -p $LOG_SERVICE.info "sending message to $1"
wget -O $OUTPUT "https://api.clicksend.com/http/v2/send.php?method=http&username=$USER&key=$API_KEY&to=$1&message=$TEXT" > /dev/null 2> /dev/null

if [ "$?" != "0" ]; then
  echo "Error running wget" >&2
  logger -t sms -p $LOG_SERVICE.err "failed to send message \"$TEXT\" to $1 – wget error"
  exit 1

if ! grep -q ^.errortext.Success $OUTPUT ; then
  cat $OUTPUT >&2
  echo >&2
  ERR=$(grep ^.errortext $OUTPUT | sed -e s/^.errortext.// -e s/..errortext.$//)
  logger -t sms -p $LOG_SERVICE.err "failed to send message \"$TEXT\" to $1 – $ERR"
  rm $OUTPUT
  exit 1

ID=$(grep ^.messageid $OUTPUT | sed -e s/^.messageid.// -e s/..messageid.$//)

logger -t sms -p $LOG_SERVICE.info "sent message to $1 with ID $ID"
exit 0

Related posts:

  1. Parsing Daemontools/Multilog dates in Shell Script I run some servers that use the DJB Daemontools to...
Categories: Elsewhere

Steve Kemp: systemd, a brave new world

Planet Debian - Thu, 04/09/2014 - 03:47

After spending a while fighting with upstart, at work, I decided that systemd couldn't be any worse and yesterday morning upgraded one of my servers to run it.

I have two classes of servers:

  • Those that run standard daemons, with nothing special.
  • Those that run different services under runit
    • For example docker guests, node.js applications, and similar.

I thought it would be a fair test to upgrade one of each systems, to see how it worked.

The Debian wiki has instructions for installing Systemd, and both systems came up just fine.

Although I realize I should replace my current runit jobs with systemd units I didn't want to do that. So I wrote a systemd .service file to launch runit against /etc/service, as expected, and that was fine.

Docker was a special case. I wrote a docker.service + docker.socket file to launch the deamon, but when I wrote a graphite.service file to start a docker instance it kept on restarting, or failing to stop.

In short I couldn't use systemd to manage running a docker guest, but that was probably user-error. For the moment the docker-host has a shell script in root's home directory to launch the guest:

#!/bin/sh # # Run Graphite in a detached state. # /usr/bin/docker run -d -t -i -p 8080:80 -p 2003:2003 skxskx/graphite

Without getting into politics (ha), systemd installation seemed simple, resulted in a faster boot, and didn't cause me horrific problems. Yet.

ObRandom: Not sure how systemd is controlling prosody, for example. If I run the status command I can see it is using the legacy system:

root@chat ~ # systemctl status prosody.service prosody.service - LSB: Prosody XMPP Server Loaded: loaded (/etc/init.d/prosody) Active: active (running) since Wed, 03 Sep 2014 07:59:44 +0100; 18h ago CGroup: name=systemd:/system/prosody.service └ 942 lua5.1 /usr/bin/prosody

I've installed systemd and systemd-sysv, so I thought /etc/init.d was obsolete. I guess it is making pretend-services for things it doesn't know about (because obviously not all packages contain /lib/systemd/system entries), but I'm unsure how that works.

Categories: Elsewhere

Dries Buytaert: Visiting China and Japan

Planet Drupal - Wed, 03/09/2014 - 19:55
Topic: Drupal

After spending the summer in Boston, I'm ready to fly across the world ... literally, as I'm leaving on a two week trip to China and Japan later this week. I'm very excited about it as I've never had the opportunity to see either of these countries.

I will arrive in Beijing on Saturday, September 6th, for the Young Global Leaders Annual Summit. A private path from where I'll be staying, Commune by the Great Wall, leads to a non-restored section of the epic Great Wall of China. Exploring this truly untouched piece of Chinese history still in its original landscape should be a special experience! Stay tuned for photos.

Following my time in Beijing, I'll transfer to Tianjin to attend Summer Davos. In addition to that, we're organizing a meetup with the local Drupal community - https://groups.drupal.org/node/434658. If you are in the area on September 10th, please stop by for a drink. I'd love to meet you and learn about the State of Drupal in China.

I'll end my two week trip in Tokyo, Japan. My time will be split between meeting the local Drupal community - https://groups.drupal.org/node/440198, understanding the adoption rate of Drupal in the Japanese market, and attending private meetings with digital agencies, Acquia partners and others to learn about the state of the web and digital in Japan.

Xièxiè and dōmo arigatō to those that have helped plan these events and gather the Drupal community for some fun evenings!

If you aren't able to make either Drupal meetup, feel free to leave your thoughts in the comments.

Categories: Elsewhere

Cruiskeen Consulting: Yet Another Drupal News Source

Planet Drupal - Wed, 03/09/2014 - 18:55

The world is full of Drupal news sources - Planet Drupal, Drupal Fire, Groups.Drupal.Org, and many many more.  So of course we've decided to build another one. 

Why?  Because we can. And because we've been spending a lot of time playing around with Rebelmouse.  So - aggregating content from all over the planet, we bring you Drop News

Categories: Elsewhere

Phase2: Better Development Through Emotional Intelligence

Planet Drupal - Wed, 03/09/2014 - 18:11

I am unabashedly an engineer. I obsess over the pursuit of finding the most efficient solution to any problem.

In the realm of open source software, this approach has served me well. We read, reverse-engineer, fork, improve, and share. I want my process to be faster, more flexible, and maintainable for the long haul.

As I’ve investigated different methodologies, one characteristic I constantly underestimate is the team dynamic. I tend to pigeon-hole my mind into thinking that the solution to a problem is the most important goal.

Hey look! There’s a problem! I must find a solution for it.

  • What if complex problems can’t be solved by me?
  • What if, when I suggest a tool or a programming philosophy, it masks the need to dive deeply into other factors?

The more I researched my approach, I came across a concept that is vital to team effectiveness when solving complex problems: emotional intelligence.

Emotional Intelligence, sometimes referred to as EQ (emotional intelligence quotient) to complement IQ (intelligence quotient), is the ability to be aware of, express, control, reason, and interpret emotions appropriately.

Within a team, many, many, many studies have shown that EQ, more than IQ, is the key to solving complex problems.

The team dynamic is engrained with the DNA of open-source projects. Any Drupal issue queue or Packagist library commit log supports that.

The better question I ask myself, however, is:

  • Are the teams I work on the most emotionally intelligent?
  • If not, what am I doing to improve that metric?

Peeling back this onion revealed the societal constructs that affected how I view an effective team.

Typically, I look to the most technical people I know for answers. In some cases, I follow the stereotypical engineer playbook of positing a hypothesis, demanding evidence, and playfully browbeating a decision.

Put another way, how many times have I jokingly used the phrase ” Are You  doing it wrong?” and is that the most effective solution?

As the research suggested, this emotionally oblivious approach was philosophically incongruent with proven science!

  • How could I call myself an engineer?!?!
  • How could I obsess about the pursuit of efficiency and solution, when my own attitude was blunting my team’s effectiveness?

I needed to do better.

I needed to find something, rooted in math and science, that helped me understand how to refactor my way of thinking.

I then learned about perspective and heuristic techniques. Perspective is how one looks at a problem. Heuristic is the mental shortcut one uses to arrive at a solution. Both are shaped by experience and knowledge, but the nuance in process from a variety of individuals is key.

Dr. Scott Page elaborates :

The diversity of an agent’s problem-solving approach, as embedded in her perspective-heuristic pair, relative to the other problem solvers is an important predictor of her value and may be more relevant than her ability to solve the problem on her own. Thus, even if we were to accept the claim that IQ tests, Scholastic Aptitude Test scores, and college grades predict individual problem-solving ability, they may not be as important in determining a person’s potential contribution as a problem solver as would be measures of how differently that person thinks.

It opened my eyes to how I’ve been going about solving complex problems all wrong.

In the context of a complicated problem, there is a higher likelihood of finding a global optimum (the best solution) when you have a diverse set of team members with local optimum (their best solution). Put simply, I needed to engage more (not less) with people who were different than me.

In essence, given the right conditions, diversity trumps ability!

What’s interesting about this research, however, is the fact that communication among members with different perspectives is very difficult.

In fact, as Dr. Page continues:

Problem solvers with nearly identical perspectives but diverse heuristics should communicate with one another easily. But problem solvers with diverse perspectives may have trouble understanding solutions identified by other agents.

Thus, we’ve come full circle to why EQ is so important.

If team members are not in-tune with each other, the benefits gained from their diversity can be lost. It is vital, therefore, in my unabashed obsession to being an engineer, that I not only need to improve my EQ, but surround myself with colleagues who have a high EQ and learn from them.

So what are the characteristics of high EQ individuals? Statistically, who has high EQ?

Some of our thought leaders here at Phase2 have answered that question.

If you’re interested in learning more, find me as I share my ideas on a building a more inclusive community at various conferences and camps!

Categories: Elsewhere

Michael J. Ross: Drupal 8 Core's Own Directory

Planet Drupal - Wed, 03/09/2014 - 17:08


This article was published in the print magazine Drupal Watchdog, Volume 4 Issue 1, 2014-05, on page 21, by Tag1 Publishing. The magazine was distributed at Drupalcon Austin, 2014-06-02.

Prior to Drupal 8, the core directories (includes, misc, modules, profiles, scripts, and themes) were located in the installation's root directory. Drupal 8 consolidates them into a new "core" subdirectory, which tidies up the root directory and should make it easier to track changes to core versus contrib or custom files. There are still three root subdirectories for modules, profiles, and themes, which can be used for custom and contrib projects. Each directory initially contains only a README.txt file explaining the repurposing and how developers can still use the pre-D8 "sites/all" scheme.

Figure 1. Drupal 8 root directories and files

Copyright © 2014 Michael J. Ross. All rights reserved.

Categories: Elsewhere

Michael J. Ross: Drupal 8 Core Theme Improvements

Planet Drupal - Wed, 03/09/2014 - 17:07


This article was published in the print magazine Drupal Watchdog, Volume 4 Issue 1, 2014-05, on page 21, by Tag1 Publishing. The magazine was distributed at Drupalcon Austin, 2014-06-02.

When custom and contributed themes are added to a fresh Drupal installation, the core themes often fade into the background, even though they are valuable, particularly for learning theming. In Drupal 7, those core themes are: Bartik (enabled by default), Garland (Drupal 6's default), Seven (optimized for site administration), and Stark (minimalist and thus useful for module output debugging). The sole template engine is the venerable PHPTemplate. Drupal 8 adds Twig as the canonical template engine. Garland is gone, while Bartik, Seven, and Stark have been HTML5-ified and Twig-ified.

Figure 1. Drupal 8 core themes

Copyright © 2014 Michael J. Ross. All rights reserved.

Categories: Elsewhere

Michael J. Ross: Drupal 8 Core Module Changes

Planet Drupal - Wed, 03/09/2014 - 17:05


This article was published in the print magazine Drupal Watchdog, Volume 4 Issue 1, 2014-05, on page 20, by Tag1 Publishing. The magazine was distributed at Drupalcon Austin, 2014-06-02.

Compared to its predecessor, Drupal 8 offers website builders far more capabilities without the use of contributed modules, because it incorporates many of the most popular ones into core (e.g., Actions, CKEditor, Configuration Manager, Entity, and Views), as well as useful field types (e.g., Datetime, E-mail, Entity reference, Link, Options, and Telephone). Conversely, less popular core modules (e.g., Dashboard, OpenID, Overlay, PHP, and Poll) have been dropped. These improvements greatly increase the range of websites that can be built with vanilla Drupal, and reduce the time spent downloading commonly-used modules and scrolling past rarely-used ones.

Figure 1. Drupal 8 core modules sample

Copyright © 2014 Michael J. Ross. All rights reserved.

Categories: Elsewhere

Michael J. Ross: Admin Toolbar Changes in Drupal 8

Planet Drupal - Wed, 03/09/2014 - 17:03


This article was published in the print magazine Drupal Watchdog, Volume 4 Issue 1, 2014-05, on page 20, by Tag1 Publishing. The magazine was distributed at Drupalcon Austin, 2014-06-02.

In Drupal 7, site administrators can utilize its core Toolbar module for speeding navigation. Drupal 8's equivalent improves upon it, sporting a more readable interface, with clear icons. Admin menu items are grouped into: "Manage" (encompassing the menu items of its predecessor, with "Modules" renamed to "Extend"), "Shortcuts", and a user menu for profile management and logging out. The toolbar is responsive to the device's screen width, switching to a vertical orientation for narrow displays — which can be forced by clicking the arrow button on the far right of the toolbar's (white) second level.

Figure 1. Drupal 8 admin toolbar vertical

Copyright © 2014 Michael J. Ross. All rights reserved.

Categories: Elsewhere

DrupalCon Amsterdam: Training spotlight: Views from the Ground Up

Planet Drupal - Wed, 03/09/2014 - 14:41

Drupal users who want to build or customize displays or layouts, or simply build their own administrative areas will love Views from the Ground Up and now is your chance to attend this training at DrupalCon Amsterdam!

Views from the Ground Up consists of 8 real world (and useful) views that are created with an increasing level of complexity. By the end of this class, students will be able to take almost any views display currently being used in Drupal, and override it, to fit better to their particular admin style and needs.

Meet the Trainer from the NorthCross Group

Chris Porter (netw3rker) has spoken at DrupalCon Barcelona, Munich, and San Francisco and has provided this training for the past four years to a variety of global clients, including Fortune 500 companies.

Attend this Drupal Training

This training will be held on Monday, 29 September from 09:00-17:00 at the Amsterdam RAI during DrupalCon Amsterdam. The cost of attending this training is €400 and includes training materials, meals and coffee breaks. A DrupalCon ticket is not required to register to attend this event.

Our training courses are designed to be small enough to provide attendees plenty of one-on-one time with the instructor, but large enough that they are a good use of the instructor's time. Each training course must meet its minimum sign-up number by 5 September in order for the course to take place. You can help to ensure your training course takes place by registering before this date and reminding friends and colleagues to attend.

Register today

Categories: Elsewhere

Modules Unraveled: 117 The Drupal Project Application Process with Jeremy Rasmussen - Modules Unraveled Podcast

Planet Drupal - Wed, 03/09/2014 - 13:07
Published: Wed, 09/03/14Download this episodeProject

It’s easier than you think to publish your module on Drupal.org. This is my experience going through the entire process. Sharing this experience I hope to convince you and others to do the same. Contributing back to the community that gives all of us so much, to many of us our livelihood.

  • When Doug first recommended that I talk to you about this, I wasn’t really thrilled. But, I took a look at your slides, and thought that it actually looked like really good information. So, what made you decide to put together a presentation on the project application process in the first place?
    My “Why”
    Finally published a module to help solve my own problem
    My project that took me through this process is Display Suite Extra Layouts
    Projects don’t have to be the 100% perfect solve for everyone, everywhere
    It’s more about: Giving back, centralizing code, helping others make great projects too.

  • So what are the steps to getting a project reviewed and accepted?
    Where to start and basically the entire guide to submitting a module
    “Apply for permissions to create full projects” https://www.drupal.org/node/1011698
    Some things to know
    One time process
    Reviews are primarily by your peers
    Learns/reiterates code standards and best practices
    Do your Research First
    Check if your idea exists already
    Combine efforts where you can
    Volunteer as a co-maintainer where needed

  • Okay, let’s get down to the nitty-gritty. What are the technical steps you need to follow to get your project approved?
    Setup Git Access
    Learn some Git basics
    Google is your friend
    Github & Code School’s tutorial http://try.github.io
    Setup your Git Access in your D.o profile
    Basically just need to add an SSH key
    Instructions here: https://www.drupal.org/node/1047190
    With Git access setup you can now create sandboxes or “experimental” projects
    Instructions here: https://www.drupal.org/node/1011196
    Take advantage of these, having a commit history of changes is a good thing.
    Use sandboxes to get your code “production ready”
    The Checklist (Pre-Application)
    Before starting the application make sure you run through the checklist
    Setup Readme, Git Branches, well commented, etc...
    Link to checklist: https://www.drupal.org/node/1587704
    The process goes much much faster, many people skip it
    PA Review Bonus
    Part of the checklist asks you to run your sandbox through a bot.
    Catches the majority of problems.
    You can setup your own Review Bot
    “Full Stop” - Took me a while to figure that out.
    You get a review bonus when everything is fixed.
    The Application
    In the title include core version: [D7]
    Write a Clear Descriptions… can be the same as your project/sandbox page
    Clear descriptions help people understand better the purpose of your project
    Provide links to your Sandbox, the Git clone command, and PA Review
    When you are ready set the status to “Needs Review”

  • I noticed when I looked through your slides that you mentioned reviewing other projects as a part of this. Why is that needed?
    Reviewing other projects
    You must review at least 3 other people’s projects
    Post a link to your reviews in your own project application
    It’s just like trying a new module.
    Download it, enable it, try it
    Report back your findings… good, bad, and suggestions
    I learned a lot from doing this
    Now you wait.
    Others will review your project and post feedback.
    be prompt to fix issues
    Once all is well someone should mark your project “Reviewed and Tested by the Community”
    Then you wait for someone with the “Power” to grant you full project status

  • Once someone has approved your project, what’s involved with getting the official project page setup?
    Into the Wild!
    You can now create your project page
    be mindful of your project URL, you can’t change it
    Create a new release on your project page and in Git
    Creating a release: https://www.drupal.org/node/1068944
    Tag Nameing Convention: https://www.drupal.org/node/1015226

Questions from Twitter
  • timani.co.zw
    Will this cover D.O vs github for projects? Pros & cons of staying with current design vs migrating to github?
  • Joshua Turton
MUP117 When are we going to see movement on the project application issue queue? MUP117 process seems broken - have to apply... but once past "quality control" you can release any junk u want. MUP117 Also: encouraged to review others to boost your app's priority, but why would we trust reviews from users who haven't passed through process? (speaking of high priority list/review bonuses) Episode Links: Jeremy on drupal.orgJeremy on TwitterJeremy on Google PlusDrupalCamp Utah Session PageSession SlidesCreating a SandboxApplication ChecklistPareview.shProject ApplicationTags: drupal.orgProjectsplanet-drupal
Categories: Elsewhere

Stefano Zacchiroli: interview for the gnu linux setup

Planet Debian - Wed, 03/09/2014 - 10:48
my setup, take #1

Among the various things I've catched up with during the summer, I've finally managed to set aside some time to answer a pending interview request for The [GNU/]Linux Setup: a blog run by Steven Ovadia that collects interviews about how people use GNU/Linux-based desktops.

In the interview I discuss my day to day work-flow, from GNOME Shell to Mutt, from Emacs to Notmuch, and the various glue code tools I've written for integrating them.


Feedback is most welcome.

Categories: Elsewhere

Junichi Uekawa: Can't link qemu with static.

Planet Debian - Wed, 03/09/2014 - 10:04
Can't link qemu with static. I was puzzled but this looks wrong that pkg-config libssh2 doesn't output -lgpg-error. gcrypt depends on gpg-error.

Categories: Elsewhere


Subscribe to jfhovinne aggregator