Organising a Drupal Contrib Port-a-Thon
4 Nov
Brian Gilbert
In my last blog I wrote about 7 things you can do to help get Drupal 8 contribs faster, where I mentioned that organising a contributed module port- a- thon was one way you could help, in this post I am elaborating on how to actually go about doing that.
Decide if it is a general or targeted port-a-thon
How you tackle organisation changes considerably depending on if you are focusing on a particular contrib module or allowing attendees to work on any module. It will also depend on the size of the event which type is best for you to target.
Small event
For a small event you will likely be far more productive selecting a single contrib to work on and in some ways I think this is the best approach.
Large Event
In this scenario you are likely expecting your attendees to already have a project to work on, it would be worth sending them an email before the event encouraging them to touch base with maintainers of the modules they would like to work on.
The steps I would recommend for organising the actual event are as follows:
Teach or patch
A code sprint can either be intended for experienced developers only, ready to dive in and write patches for the software. It can also be open for anyone to participate in any way they can.
It can be for both, but you will need to decide this in advance so you can set expectations and plan accordingly. At least one person should be planning to spend much of their time teaching rather than coding to make it a good event for beginners. It's generally good to have around 1 mentor for every 8 participants.
Find your core team
You will need a few well experienced developers that can help direct any less experienced attendees that may attend, it's a good idea to lock down these volunteers before you proceed.
Experience that can be useful for these volunteers to have (depending on the module)
- Patch Reviewing
- Documentation
- UX
Also you may want to think about how to set up a development environment for attendees: https://www.drupal.org/tools
The main thing with development environments is that you don’t want to spend all your time helping users fix a broken one, make them aware they are free to use what they are comfortable with, but if it isn’t working ask them to use the suggested setup just for today.
Select a contrib to focus on
If you are planning a smaller focused sprint you will want to select the contrib to work on, without doing that it will be hard to move on to the next step.
Contact the maintainers
If attendees will be picking the contribs they want to work on themselves, I would suggest you have a google doc where they can list their name and what module they want to work on so that like minded attendees can pair up with them.
Once this google doc has settled a bit I would suggest you encourage attendees to reach out to the module maintainers, make sure you allow ample time (up to a month) for a response as maintainers are often a busy group of people. Here is a sample message that can be posted in the issue queue or to the maintainers contact form:
Hi [name],
My local community is currently planning a contribution sprint and during the event I would like to help with porting [project name] to Drupal 8.
The event is advertised at: [event link]
It is being held on: [event date including timezone]
It would be really helpful if you could find some time beforehand to let me know anything that would be relevant to your plans before the event so that my work can be as useful to the project as possible.
Cheers
[your name]
If you’re lucky one, or several of them may be able to attend your event (in person or virtually). They will be able to give insight and some background on their plans which will be invaluable for attendees to make sure that their development work during the sprint will have a chance of being committed.
Also take the opportunity to try and pick a date when a maintainer will be available so that you can move on to the next step.
Find a venue
It’s generally good if you can find a location that is easily accessible via public transport, the other main concerns are food and internet access.
Plan to provide enough access points with enough capacity for 2.5 devices per person.
For a small sprint of around 10 people: Bandwidth: 20-30 MBps down, 5 MBps up should handle 20-25 devices.
If your venue is close to food outlets this will be sufficient, but you will get a better turnout if you can get food sponsorship from local companies that use Drupal.
Also getting food delivered means more time for coding!
Schedule the actual event
Be sure to publicise the event to the relevant places:
- Relavant groups at groups.drupal.org
- Relevant meetup.com groups
- Twitter
Remember to use the #Drupal hashtag on twitter and also send a tweet to @drupalmentoring to help spread the word. - Drupal planet
- Have someone who can be a point of contact before and during the event
- Tell attendees if food is or isn’t being catered
At the Port-a-Thon
As a first order of the day it would be good to run around the group and introduce yourself and have everyone give some indication of their background and Drupal experience, as well as what they would like to do to help with the port of this particular module.
As with any sprint it is a good idea to have people group up and work on things together, and for an event focusing on a particular module it's a good idea to have a discussion about the overall plan for how the group plans to tackle the work involved.
- Have name tags for everyone, ones that won’t be below the table when sitting down.
- Make sure you have access to whiteboards or butcher paper for brainstorming and assigning tasks.
- Having a group focus on documentation will really help the maintainers so don’t forget that part.
- Git can make the process of contributing so much easier. There are many great Git tutorials out there, but [Git Immersion] http://gitimmersion.com/ is a great resource
- Ensure everyone knows about the ‘Version control’ tab on d.o
- Make time for people to communicate their achievements
- Think about having a social event at the end of the port-a-thon
- Have a great time!
Resources
One last thing
Those who have organised events in the past will usually be happy to help you with advice, feel free to contact me if you have any questions.
image: https://www.flickr.com/photos/wallyonwater54/9756901164/
drupal planetdrupal 8