Elsewhere

Drupal @ Penn State: Install ELMSLN on Digital Ocean in one line

Planet Drupal - Tue, 14/04/2015 - 01:06

This screencast shows how you can use a cloud provider like Digital Ocean to install a working copy of ELMSLN by copying and pasting the following line into the terminal:

yes | yum -y install git && git clone https://github.com/btopro/elmsln.git /var/www/elmsln && bash /var/www/elmsln/scripts/install/handsfree/centos/centos-install.sh elmsln ln elmsln.dev http email@elmsln.dev yes

Categories: Elsewhere

Mehdi Dogguy: DPL campaign 2015

Planet Debian - Tue, 14/04/2015 - 00:28
This year's DPL campaign is over and voting period is also almost over. Many did not vote yet and they really should consider doing so. This is meant as a reminder for them. If you didn't have time to dig into debian-vote's archives and read questions/answers, here is the list with links to candidates' replies:
Compared to past years, we had a comparable number of questions. All questions did not start big threads as it used to be the case sometimes in the past :-) The good side of this is that we are trolling DPL candidates less than we used to do :-P

Now, if you still didn't vote, it is really time to do so. The voting period ends on Tuesday, April 14th, 23:59:59 UTC, 2015. You have only a few hours left!
Categories: Elsewhere

Gizra.com: Shoov - CI tests on the live site

Planet Drupal - Mon, 13/04/2015 - 23:00

Shoov keeps evolving, and now has an example repo that demonstrates how we're trying to make UI regression simpler, we took some time to implement the second feature we were missing - automatic testing on the live site.

We saw a very strange situation everywhere we looked: Dev teams were writing amazing test coverage. They were going the extra mile to setup a Travis box with environment as close as possible to the live site. They tested every single feature, and added a regression test for every bug. Heck, every commit triggered a test suite that run for an hour before being carefully reviewed and merged.

And then the site goes live - and at best they might add Pingdom monitoring to check it's working. Pingdom at its simplest form sends an http request every minute to your site. If the answer is 200 - it means that all is good in the world. Which is of course wrong.

Our mission is to change this, and bring functional testing to the live site. One that is easy to setup and that integrates with your existing testing and GitHub flow.

The Drupal backend holds the CI build data, including the full log, and status

While Pingdom is wonderful and is alerting us on time whenever a site goes down, its "page is fine, move along" approach doesn't cut it for us. Here are some examples why testing on the production server is a good idea:

Continue reading…

Categories: Elsewhere

Drupal @ Penn State: We stole this site, you should too

Planet Drupal - Mon, 13/04/2015 - 21:56

Welcome to the new Drupal @ PSU!

We hope you enjoy the site so much that we want you to have it. No really, go ahead, take it. Steal this site. We did, and we’re proud of that fact. This site is actually a fork of the Office of Digital Learning’s new site that just launched recently.

Categories: Elsewhere

Mediacurrent: Drupalcon LA - Mediacurrent’s Gameplan

Planet Drupal - Mon, 13/04/2015 - 21:02

We’re gearing up for Drupalcon 2015 in sunny Los Angeles and we are looking forward to the exciting plans we have in store. We are Platinum sponsors once again and there are a ton of ways to connect with our team. In fact, here are the highlights:

Categories: Elsewhere

Santiago García Mantiñán: haproxy as a very very overloaded sslh

Planet Debian - Mon, 13/04/2015 - 20:38

After using haproxy at work for some time I realized that it can be configured for a lot of things, for example: it knows about SNI (on ssl is the method we use to know what host the client is trying to reach so that we know what certificate to present and thus we can multiplex several virtual hosts on the same ssl IP:port) and it also knows how to make transparent proxy connections (the connections go through haproxy but the ending server will think they are arriving directly from the client, as it will see the client's IP as the source IP of the packages).

With this two little features, which are available on haproxy 1.5 (Jessie's version has them all), I thought I could give it a try to substitute sslh with haproxy giving me a lot of possibilities that sslh cannot do.

Having this in mind I thought I could multiplex several ssl services, not only https but also openvpn or similar, on the 443 port and also allow this services to arrive transparently to the final server. Thus what I wanted was not to mimic sslh (which can be done with haproxy) but to get the semantic I needed, which is similar to sslh but with more power and with a little different behaviour, cause I liked it that way.

There is however one caveat that I don't like about this setup and it is that to achieve the transparency one has to run haproxy as root, which is not really something one likes :-( so, having transparency is great, but we'll be taking some risks here which I personally don't like, to me it isn't worth it.

Anyway, here is the setup, it basically consists of a setup on haproxy but if we want transparency we'll have to add to it a routing and iptables setup, I'll describe here the whole setup

Here is what you need to define on /etc/haproxy/haproxy.cfg:

frontend ft_ssl bind 192.168.0.1:443 mode tcp option tcplog tcp-request inspect-delay 5s tcp-request content accept if { req_ssl_hello_type 1 } acl sslvpn req_ssl_sni -i vpn.example.net use_backend bk_sslvpn if sslvpn use_backend bk_web if { req_ssl_sni -m found } default_backend bk_ssh backend bk_sslvpn mode tcp source 0.0.0.0 usesrc clientip server srvvpn vpnserver:1194 backend bk_web mode tcp source 0.0.0.0 usesrc clientip server srvhttps webserver:443 backend bk_ssh mode tcp source 0.0.0.0 usesrc clientip server srvssh sshserver:22

An example of a transparent setup can be found here but lacks some details, for example, if you need to redirect the traffic to the local haproxy you'll want to use the xt_TPROXY, there is a better doc for that at squid's wiki. Anyway, if you are playing just with your own machine, like we typically do with sslh, you won't need the TPROXY power, as packets will come straight to your 443, so haproxy will be able to get the without any problem. The problem will come if you are using transparency (source 0.0.0.0 usesrc clientip) because then packets coming out of haproxy will be carrying the ip of the real client, and thus the answers of the backend will go to that client (but with different ports and other tcp data), so it will not work. We'll have to get those packets back to haproxy, for that what we'll do is mark the packages with iptables and then route them to the loopback interface using advanced routing. This is where all the examples will tell you to use iptables' mangle table with rules marking on PREROUTING but that won't work out if you are having all the setup (frontend and backends) in just one box, instead you'll have to write those rules to work on the OUTPUT chain of the mangle table, having something like this:

*mangle :PREROUTING ACCEPT :INPUT ACCEPT :FORWARD ACCEPT :OUTPUT ACCEPT :POSTROUTING ACCEPT :DIVERT - -A OUTPUT -s public_ip -p tcp --sport 22 -o public_iface -j DIVERT -A OUTPUT -s public_ip -p tcp --sport 443 -o public_iface -j DIVERT -A OUTPUT -s public_ip -p tcp --sport 1194 -o public_iface -j DIVERT -A DIVERT -j MARK --set-mark 1 -A DIVERT -j ACCEPT COMMIT

Take that just as an example, better suggestions on how to know what traffic to send to DIVERT are welcome. The point here is that if you are sending the service to some other box you can do it on PREROUTIING, but if you are sending the service to the very same box of haproxy you'll have to mark the packages on the OUTPUT chain.

Once we have the packets marked we just need to route them, something like this will work out perfectly:

ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100

And that's all for this crazy setup. Of course, if, like me, you don't like the root implication of the transparent setup, you can remove the "source 0.0.0.0 usesrc clientip" lines on the backends and forget about transparency (connections to the backend will come from your local IP), but you'll be able to run haproxy with dropped privileges and you'll just need the plain haproxy.cfg setup and not the weird iptables and advanced routing setup.

Hope you like the article, btw, I'd like to point out the main difference of this setup vs sslh, it is that I'm only sending the packages to the ssl providers if the client is sending SNI info, otherwise I'm sending them to the ssh server, while sslh will send ssl clients without SNI also to the ssl provider. If your setup mimics sslh and you want to comment on it, feel free to do it.

Categories: Elsewhere

LevelTen Interactive: DrupalCamp PHX Session: Drupal as an Inbound Marketing Platform

Planet Drupal - Mon, 13/04/2015 - 20:32

A few weeks ago, Brent Bice attended DrupalCamp PHX to host a session on Drupal as an Inbound Marketing Platform. The video of the PowerPoint presentation of the session, along with audio were made available for everyone to visit and listen to this session.... Read more

Categories: Elsewhere

Liran Tal's Enginx: The Drupal Rap song – Everyday I’m Drupalin’

Planet Drupal - Mon, 13/04/2015 - 19:26

This YouTube video doesn’t need any further explanation beside it’s title: The Drupal Rap song – Everyday I’m Drupalin’

 

 

 

Lyrics:

Chorus
Everyday I’m drupalin

Verse
Where them forms you gettin fapi with I’m the fapi boss/ hookin into edit form and webforms is my specialty sauce/ I’ll hook form alter by form id’s or entities/ put a list on Ajax/ just to keep it callin back/

I got them distrobutions, I’m like acqia/
Check my public repos, I didn’t copy nuttin/ I know dries n webchick, I kno Ryan szrama/ all the commerce guys we hipchat when they got some drama/
Might not be pretty code but it gets me paid/ I’m using rules like php loopin through arrays/ I put it all in features, so the code is stable/ it might take longer, but next time I just click enable/ These dudes clearin caches, on every hook init/ queries by thousands, page loads by the minutes

Verse
No matter the language we compress it hard/ drugs cc all, we just drugs cc all/
Where’s all of the changes, you never saw/ so drush cc all, we just drugs cc all/ I lean heavy on smacss, compass compilin my sass/ you just installed flexslider now you teachin a class/
I seen your content types, I don’t need to kno you/ to know that we ain’t even in the same nodequeue/
I’m on drupal answers, check my reputation/ I’m on my tablet earnin karma while I’m on vacation/ ya girl like a module, she stay hookin n/ you couldn’t code an info file, without lookin in/
Mo scrums, equals better sprints, break the huddle, n the work begins

Thanks to New Valley Media for helping with the video http://www.newvalleymedia.com/
Thanks to Broadstreet Consullting http://www.broadstreetconsulting.net

(adsbygoogle = window.adsbygoogle || []).push({});

The post The Drupal Rap song – Everyday I’m Drupalin’ appeared first on Liran Tal's Enginx.

Categories: Elsewhere

Drupal Association News: Drupal Newsletter: Jobs, Events, News, and Conversation

Planet Drupal - Mon, 13/04/2015 - 18:58

A long, long time ago—7 years, if you remember—the Drupal Newsletter faded away. On March 26th, the Drupal Association rebooted it. The community does so much that we want to share.

We partnered with TheWeeklyDrop to bring blog posts, articles, podcasts, and more to your inbox. Now, once a week, we’re taking all the effort out of keeping up with the best in Drupal news and events.

The fourth issue hit more than 32,000 inboxes on April 9. Inside it, subscribers from all around the world found Drupal 7.36 and Webform 7.x-3.24 releases, an introduction to D8Upgrade.org (a service offering advice for when you should upgrade to Drupal 8), and more.

To get the newsletter, subscribe via your Drupal.org profile.

The (Renewed) Drupal Newsletter

The Drupal Newsletter will be an opt-in-only thing. Once you’ve subscribed, you’ll get the newsletter in your inbox once a week, every Thursday, at about 06:30 PT / 13:30 GMT.

What kind of content will you get?

  • Drupal 8 progress updates
  • Jobs, so you can find work (or people who get work done)
  • Tutorials, guides, and podcasts
  • Events throughout the community
  • Projects and releases
  • News and conversation

It’s all brought to you by TheWeeklyDrop and us, the Drupal Association. It’s content hand-picked by humans, not bots or aggregators. You’ll get an uncluttered, distraction-free snapshot of the latest from the Drupal community. (Though we could be swayed by community vote to add gratuitous pictures of cats.)

It’s Like the Amazon Dash Button

Ok, no, it’s not. That’s not true. Unless you want it to be, in which case it sort of is.

Subscribe and never run out of the latest news, announcements, and innovations from the Drupal community. We made an animated gif to show you how.

  1. Log in to your Drupal.org profile <www.drupal.org/user>.
  2. Choose Edit.
  3. Scroll to the bottom, to the Subscribe to section.
  4. Check the box next to Drupal Weekly Newsletter.
  5. Hit the Save button.
Keep Up with the Drupal Community

The Drupal Newsletter is the easiest way to keep up with the Drupal community. Don’t already have a Drupal.org account? Create your profile today.

Oh, and two more things:

  1. Please add newsletter@drupal.org to your address book as an approved sender, so the newsletter doesn’t get lost in a pesky spam folder.
  2. Tell us what you think. Comment on this post, or send feedback to newsletter@drupal.org. We’d love to hear from you.
Personal blog tags: Drupal Newsletter
Categories: Elsewhere

Drupal @ Penn State: The year, is 2020.

Planet Drupal - Mon, 13/04/2015 - 18:46

The year is 2020.

Categories: Elsewhere

Drupal core announcements: Drupal core security release window on Wednesday, April 15

Planet Drupal - Mon, 13/04/2015 - 16:51
Start:  2015-04-15 (All day) America/New_York Online meeting (eg. IRC meeting) Organizers:  David_Rothstein

The monthly security release window for Drupal 6 and Drupal 7 core will take place on Wednesday, April 15.

This does not mean that a Drupal core security release will necessarily take place on that date for either the Drupal 6 or Drupal 7 branches, only that you should prepare to look out for one (and be ready to update your Drupal sites in the event that the Drupal security team decides to make a release).

There will be no bug fix/feature release on this date; the next window for a Drupal core bug fix/feature release is Wednesday, May 6.

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: Elsewhere

Darryl Norris's Blog: How To Replace The Title Field To a Term Of Reference (Taxonomies)?

Planet Drupal - Mon, 13/04/2015 - 16:15

How can you replace the title field to a term of reference (taxonomies)? This is very tricky because the title field is been hardcore written on a content type (in Drupal 7) and by default it cannot be easily replace. In this article I would explain you how I was able to use a term of reference as my title. But first why use a term of reference instead of a title?

These are the reasons why I need it to use term reference instead of title field:

  • Facets - I’m building a system with Search Api + Views + Facets. And I wanted to use the title field on one of the Facets. If you used the title field facets would recognize it as Full Text and it would display it very weird with lower cases and separate words.
  • Standardize – I was building a system where the title is
  • ...Read more
Categories: Elsewhere

Andrew Shadura: UI translation tools and version control

Planet Debian - Mon, 13/04/2015 - 15:59

Today I decided to try some translation tools I could install on my laptop locally to translate Kallithea, so I’d not need to be on-line to use Michal Čihař’s wonderful Weblate.

The first tool I tried was Gtranslator. I edited about 5 strings, and then wanted to commit my changes. To my surprise, the diff was huge. Apart from obvious changes in the file header, like changing the team address or X-Generator field, Gtranslator has reformatted almost every other entry in the file, adding meaningless line breaks or reflowing the strings I didn’t edit.

@@ -3092,8 +3093,8 @@ msgstr "" #: kallithea/templates/admin/permissions/permissions_globals.html:72 msgid "" -"Write permission to a repository group allows creating repositories " -"inside that group." +"Write permission to a repository group allows creating repositories inside " +"that group." msgstr "" #: kallithea/templates/admin/permissions/permissions_globals.html:77

Apart from that it has quite a dumb user interface, so I most probably won’t ever use it again unless things improve.

Well, I thought, I need to try Lokalize which I understand is a Qt4 port of KBabel, which I remember was quite a reasonable translation tool.

Just as with Gtranslator, I created a project, edited one line and hit ‘Save’. As I expected, Lokalize updated the file header, and also changed the formatting of some entries, though the number of changes was significantly lower.

Yet the winner of this competition is Weblate, which indeed avoids unnecessary changes as much as it can, just as advertised. Probably, I’ll just stick with it, setting up a local instance.

Categories: Elsewhere

Chuva Inc.: Advanced Metadata wrappers

Planet Drupal - Mon, 13/04/2015 - 15:46
Are you familiar with entity_metadata_wrappers? If you are, take these two tips for your life.
If you’re not read this article to get to know metadata wrappers. Tip 1: with list fields, quickly display what you really want to display

Now, to the juicy stuff.

Suppose you have a list field, named “field_shipping_type”, with two options:

exp|Express shipping regular|Regular shipping

If you use:

<?php print $node->field_shipping_type->value(); ?>

It will print the word “exp”. But I want to display the human-readable value. How to do that? Quick!

<?php print $node->field_shipping_type->label(); ?> Tip 2: with any kind of field, display its label

Suppose I’m again, with a bunch of fields, trying to display them in a page. I need the field’s label to show it. With the magical function ->info() of the wrappers, I can do just that:

<?php print $node->field_shipping_type->info()[‘label’]; ?>

Neat, uh? There are a few more things hidden in this ->info(), actually all the information concerning the field. You may find it useful someday. 

Image credits:  https://www.flickr.com/photos/danielygo/11377205686

Subtitle: Two tips for advanced Entity Metadata Wrapper usage
Categories: Elsewhere

Deeson: Drupal: Setting a higher value for a multi-value field

Planet Drupal - Mon, 13/04/2015 - 15:02

When setting up a multi-valued field in Drupal you have the option of either having unlimited values of a fixed nunber of values. For the fixed number, you only get the option of having between 1 and 10 values.

 

But what if you need to have a fixed value of items higher than 10?

Well there's a hook for that.

Using the hook 'hook_form_FORM_ID_alter' you can override this value for specify a higher range of values.

/** * Implements hook_form_FORM_ID_alter(). */ function MYMODULE_form_field_ui_field_edit_form_alter(&$form, &$form_state, $form_id) { $form['field']['cardinality']['#options'] = array(FIELD_CARDINALITY_UNLIMITED => t('Unlimited')) + drupal_map_assoc(range(1, 20)); }

Now you can select a value between 1 & 20 for any multi-valued fields on your site.

Categories: Elsewhere

Don't Panic: A blog about Drupal: Another 5 Drupal resources you might have missed

Planet Drupal - Mon, 13/04/2015 - 15:00

When classic Drupal-sites like GotDrupal, YadaDrop, NodeOne and DrupalDude aren't updating their Drupal resource sites and/or pages anymore, there are always new sites around the corner to help you in your Drupal quest. I've listed 5 of them earlier, and here's five more...

ModuleNotes

If you find the information for the different modules on drupal.org too long and hard to get a grip on, ModuleNotes might ease your pain. Written by users for users, in plain English - "this is what this module do, and it's awesome!".
Visit http://modulenotes.com/

Drupalstatus

Do you have a bunch of Drupal sites out there? Tired of getting email messages whenever there's an update available? A rather new, and free, way of keeping track is Drupalstatus.org. Through a module you connect your site to Drupalstatus and get an overview, and a weekly summary of what modules you should update, security information and such. Came along when Droptor was on the slope, and became the savior for all of us who looked for an alternative. (See related post here.)
Visit https://www.drupalstatus.org/

DrupalDump

Slightly older and not so updated anymore, but it still holds a lot of information and tips and tricks. Hundreds of knowledge snippets, sorted into different categories makes this a good place to collect good information about Drupal - at least for a couple of years.
Visit http://www.drupaldump.com/

DrushCommands

If you're an avid Drupal developer or just building one site, one time there's a lot to gain of using Drush. Drush is a bunch of terminal commands that speeds up development and/or theming Drupal. It's like an AddOn-pack for your favourite boardgame. With Drush, your terminal usage will increase but you will also spare a lot development time. Just clearing cache is a dream in Drush, and with that you can skip opening up the Performance page and clicking the button to clear your cache. Anyway, DrushCommands.com offers a comprehensive list of all different versions of Drush available to us as users and which commands that works in which version. Great to have around if you want to start using - or improve your usage of - Drush.
Visit http://www.drushcommands.com/

DrupalShowcase

"I've never heard of this Drupal, I don't like, I don't think anything is built with that Durpel thingamabob..." Ever heard something like that from a client, a friend (ex-friend!) or other. Well, if you want to stick it to them, and show them that there are many beautiful, clever and useful sites out there, running on Drupal - DrupalShowcase is a great way to start. Thousands of Drupal-sites are listed here - and you can easily add your own!
Visit http://www.drupalshowcase.com/

Categories: Elsewhere

Dirk Eddelbuettel: inline 0.3.14

Planet Debian - Mon, 13/04/2015 - 14:02

The inline package facilitates writing code in-line in simple string expressions or short files. The package is mature and in maintenance mode: Rcpp used it greatly for several years but then moved on to Rcpp Attributes so we have a much limited need for extensions to inline.

But we now have a new inline version 0.3.14. It brings both a few minor code updates since the last release in 2013, but also new extensions to both support Fortran better (for several flavours including f95) and to make working with dynamic library files easier. These were contributed by long-time R author Karline Soetaert who thereby became a package co-author. Also, the package moved to GitHub sometime last year and now lives in this repo.

See below for a detailed list of changes extracted from the NEWS file.

Changes in inline version 0.3.14 (2015-04-11)
  • Removed call to Rcpp::RcppLdFlags() which is no longer needed

  • With move of repository to GitHub, added a .travis.yml file and corresponding entry in .Rbuildignore

  • Replaced calls to require() with calls to requireNamespace(); also updated one call

  • Much improved support for Fortran and Fortran95 thanks to Karline Soetaert who became a package co-author

  • New helper functions writeDynLib and readDynLib as well as new methods print and code (also by Karline)

Courtesy of CRANberries, there is a comparison to the previous release.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: Elsewhere

Chris Hall on Drupal 8: Responsive Breakpoints in D8, the breakdown

Planet Drupal - Mon, 13/04/2015 - 14:00
Responsive Breakpoints in D8, the breakdown chrishu Mon, 04/13/2015 - 12:00
Categories: Elsewhere

Web Wash: How to Use WordPress Style Shortcodes in Drupal 7

Planet Drupal - Mon, 13/04/2015 - 13:02

If you've ever had to migrate a client from WordPress to Drupal, one of the first things they'll ask for is how to add shortcodes in Drupal.

Shortcodes in WordPress are macros that you can drop into content and have it render an object. For example, if you want to embed a gallery in WordPress you simply add [gallery id="123" size="medium"] into the content and when a post is displayed a gallery is rendered.

Implementing similar functionality in Drupal is very easy thanks to the Shortcode module. The module is not an exact copy of the Shortcode API but implements very similar functionality. If your clients are use to shortcodes in WordPress then they'll feel right at home using them in Drupal.

In this tutorial, you'll learn how to configure and use the Shortcode module in Drupal.

Now, you may be thinking to yourself, can't Token do this? The short answer is yes. You can implement similar functionality using Token Filter. The module implements a custom filter which can be added to text formats. If you add [site:name] into the body, it'll render the site name.

Categories: Elsewhere

YesCT: Identifying Mentors at Sprints (example: creative t-shirts at DrupalCon Latin America)

Planet Drupal - Mon, 13/04/2015 - 12:56
Identifying Mentors at Sprints (example: creative t-shirts at DrupalCon Latin America) DrupalCon Latin America Sprint was Big

DrupalCon Latin America took place in Bogotá, Columbia this past February. 270 people attended the conference. There was a training day, two days of sessions and the last day was the big sprint day. It is tradition at Drupal events (and many other Open Source events) for people to gather together and work to improve the software we use. We had lots of people from the conference attend the big sprint day, 101 people, 37% of conference attendees. It was the highest percentage wise ever at a DrupalCon.

As an event attendee: should you attend a sprint?

Yes. But.. Sometimes participating at Sprints can be intimidating especially if you have never been to one. Where do you start? How do you participate? Who can you ask for help? Sprint mentors! And your next question might be, "Great… where can I find one of those?"

As an event organizer: What can you do to help attendees have a good sprint experience?

Having a way for attendees to identify people there to assist them, improves the experience for everyone.

Identifying Sprint Mentors

One way to identify mentors is with sticker name tags. (Note for future sprints: Name tags that hang from lanyards often end up below the table edge, and then other people around the table cannot see the name tag.)

Another way is with bright colored mentor shirts. However, at DrupalCon Latin America, we unfortunately did not have pre-printed special color mentor shirts.

Making Mentor T-shirts that Standout T-shirts

Jared Smith (jsmith) had some black t-shirts with subtle bluehost branding on them, and positive messages people could identify with like: GEEK, and Helping OpenSource Projects Make an Impact. Some people were already wearing dark grey or black t-shirts.

Andres Yajamin (andrefy) mentoring while wearing a Helping OpenSource Projects Make an Impact t-shirt. Photo credit: jsmith

Tape

Carlos Ospina (camoa) bought some green easy release painters tape.

Sleeves

We decided to use the green tape on t-shirts sleeves. This helped people identify mentors from the front and side.

Joaquin Bravo (jackbravo ) mentoring while wearing black t-shirt with green stripes on the sleeves. Photo credit: dasjo

Some sleeves had a lot of detail.

Emma Karayiannis (emma.maria) had their name, username, green stripes and a transparent Drupal 8 sticker on their sleeves. Photo credit: jsmith

Back of the t-shirts

Mentors are often leaning over, sitting in a group at a table, ... or wandering around. So, we also put markings on the backs of our shirts.

Novella Chiechi (italiatina ) adding their name to the list of people sprinting, with a big visible exclamation mark on the back of their t-shirt. Photo credit: jthorson

Different Shapes

We helped each other, and put different shapes on the back of our shirts. Like balloons and a star trek insignia.

Mentors standing together. One has two balloons, another a star trek insignia made out of green tape. Photo credit: jthorson

We had a lot of creative ideas for shapes, like a smiley face with fangs. And it was really fun!

Back of a mentor t-shirt with a big smiley face, with fangs, made out of green tape. Photo credit: jsmith

In Action

The shirts were noticeable in a crowd.

James Wilson (jwilson3) mentoring at a table. Photo credit: dasjo

Mentors standing out in a crowd. Photo credit: jthorson

Lots of shirts!

I like having brightly colored unique mentor shirts at DrupalCons... but this was fun to tape up our own!

Back row: Novella Chiechi (italiatina ), Jared Smith (jsmith), Sebastian Ferrari ( sebas5384 ), Tess (socketwench), Cathy Theys (YesCT), Emma Karayiannis (emma.maria), Renato (revagomes), Darwin Betancourt (drw), Andres Yajamin (andrefy). Front row: Alina Mackenzie (alimac), Eric Aguayo (Ericmaster), Joaquín Bravo Contreras (jackbravo), James Wilson (jwilson3), Fernando Paredes García (develcuy). Photo credit: jsmith

More Photos

See even more mentor photos from DrupalCon Latin America. Please let me know of any I am missing.

Reusable mentor T-shirts

We have also been discussing having reusable mentor T-shirts.

Categories: Elsewhere

Pages

Subscribe to jfhovinne aggregator - Elsewhere