Thank you for taking the time to organize a Magento Contribution Day! This handbook aims to answer any questions you have on the matter, but if you still have questions feel free to email the Community Engineering team:
Before the event
Preparation is paramount for a good Contribution Day.
Contributions can come in many shapes and sizes, and it is important to fit the event to your audience. There tends to be two types of Contribution Days:
- General focus Contribution Days. These events are great for getting people started in contributing. During these events, attendees will normally tackle issues that you and Magento Community Engineering can organize in preparation for the event. Another great starting place is our public GitHub Community Backlog project, but really, attendees should feel free to work on anything they desire.
- Project-specific Contribution Days. These events are tailored to one or more community driven projects (one of the many satellite projects available on GitHub). Before the event the project team will prepare a list of tasks that can be worked on during the event.
An event needs a date, so please feel free to communicate with us and let us know (ideally via e-mail: firstname.lastname@example.org) on which dates you are thinking of running a Contribution Day. This can be helpful to understand if your planned date conflicts with other events. If possible, Magento Community Engineering would like to support your event by sending some people from our team to help participate in the event. As such, sharing the dates with us ahead of time is helpful in organizing our team. Getting in touch with us early also helps us identify potential [co-marketing and promotional opportunities to help make your event a success.
Event attendance & duration
How many people do you foresee attending? Depending on the numbers, you may want to consider running a one or two-day event.
Public or private?
We are big proponents of open source and transparency so we love to see events accessible to the public. That said, there are occasions where private events may be beneficial. For example, an internal Contribution Day could be used as a company developer training opportunity in order to level up your Magento developers and get them involved in the evolution of Magento.
The venue should be chosen to match the attendance and duration of the event.
Accommodation and routes
You should consider what commuting to the venue for out-of-town attendees will be like and prepare route and hotel recommendations.
Food and beverages
Attendees expect food and drinks to be available at the venue. Ensure that the venue can accommodate a lunch and possibly a networking/mixer/wind-down for after the main event. Also, consider providing information about dietary requirements, some attendees may have allergies and need food that has been prepared and served accordingly.
Technical and collaborative events such as Contribution Days require good Wi-Fi. This is not optional. You need to expect that every attendee will come with one or more laptops & mobile devices and they will expect to connect to a speedy wireless network. Please put in extra consideration around making sure that the network access has a good top speed as well as the available bandwidth to support 2+ devices for each attendee. The Wi-Fi password should be readily available to attendees, they should not have to ask or hunt around for it.
Ensure your venue will have enough electrical plugs. It may be necessary to organize extension cables and power bars to be able to accommodate all attendees. If extension cords are necessary, please ensure they are not a trip hazard by taping cables down to the floor or tucking them out of the way when possible.
It is a common need to have organizers and attendees do presentations. As such you should consider how it would be possible to present at your venue. Some top considerations here are:
Will you have a large screen (TV or projector) available and properly visible for your expected event size?
Will you have all necessary adapters and electronics to allow anyone to present? Chargers as well as visual connectors / adapters.
It is highly recommended to test a running presentation before your event to work out any technical difficulties ahead of time.
(Optional) Consider arranging prizes for the best contributions made during your event. A little thank you goes a long way.
While we’d like to encourage making events as accessible as possible, the truth is we’ve seen that free events have a much lower commitment rate than paid events. That is, attendees feel less committed to attending a free event than one even they paid a nominal fee for. As such, consider charging for your event, even if it is a relatively low fee (like the cost of a nice lunch).
Having an event page housing all the information covered above is a necessity before beginning to promote and open registration for your event. Such a page, at a minimum, should include:
A registration page is required for attendees to be able to reserve a spot. Registration should track the following information:
- Company (if applicable)
- GitHub.com username
- Community status: First time contributor? Part of the Magento GitHub Community Maintainer team?
- Areas of expertise? (Frontend, backend, QA, Docs)
- Project or area they are interested in contributing to?
Having the above information can also be useful as feedback into issue backlog preparation as well as helping to shape the goal and/or agenda for the event. Depending on the region of the event, be aware of data regulations (e.g. GDPR) and follow its guidelines.
Instructions for attendees
Once your website and registration page is ready, you should compile materials to send to your attendees after they register and before the event. Some basic information that should be present in this material includes:
- Links to any relevant Contribution Day boards or backlogs containing issues that would be good challenges for attendees.
- A friendly reminder on basic contribution guidelines. A good place to start are the generic DevDocs Contribution Guidelines, but specific community projects focused on during your event may have their own CONTRIBUTION.md with project-specific guidelines in addition to the generic Magento ones.
- Share any social media promotional decisions like which hashtag to use.
Marketing and communications
Marketing is key: if people do not know about your event, they will not come.
We recommend promoting your event on social media: tweeting about the event and writing blog posts about it are two great ways to get started. If using Twitter, determine what hashtag you want to use and ensure your team is coordinated on its use.
Magento Community Engineering can help co-promote your event on Twitter; get in touch with us via email (email@example.com) to start a conversation around co-promotion. Let us know what your marketing approach is like and we will do our best to promote you.
NOTE: We generally do not help promote private / internal events.
What is the best way for (potential) attendees to contact you? Do you have an email? What about a Slack channel? Contact the Community Engineering team and we can help get you set up with a dedicated channel for your event in our Slack.
While we may be able to send one or more members of the Magento Community Engineering team to your event to help with running the event and guiding contributors, please note that these events are organized and run by you - not Magento. As such, Magento should not be mentioned as a sponsor or co-organizer. These events are first and foremost community events by the community and for the community.
It is highly recommended preparing a project backlog (also known as a project board) on GitHub.com tailored to the goals of your event and your audience. This backlog would contain issues you want to encourage attendees to tackle during your event. Ideally, the issues are strongly related to your event goals. Please work with us at the Magento Community Engineering team to tailor an appropriate backlog for your event. Another option is to use our generic and publicly-available High Priority Community Backlog.
During the event
During the event it is good to have an agenda accessible to attendees, so they know what to expect throughout the day. On average events run from 9am to 5pm but of course feel free to fit the schedule around your event and/or local culture. An example timeline for an event could look as follows:
|9AM-10AM||Coffee and Introductions||Start the event off with an introduction round for the attendees, a description of the venue, Wi-Fi information, social media information (hashtags), communication channels (i.e. Slack channel), highlight people to contact for help and key locations such as toilets, coffee and smoking areas. This helps to make sure people feel as comfortable as possible at the event.|
|10AM-11AM||How to contribute, find issues to work on and set up your development environment||An introduction on how to go about contributing, how to find issues to work on and how to get a local development environment going. This is all about helping give attendees context, which is especially important for first-time contributors. Unless your attendees are all veteran Magento contributors, consider having some amount of time allotted for this.|
|11AM-1PM||Development Time||Get hacking!|
|1PM-2PM||Lunch||Enjoy your lunch!|
|2PM-4PM||Development Time||Get hacking!|
|4PM-5PM||Demonstrations and Presentations||It has worked well in the past to finish the event with a demonstration of the work produced during the day. This way the group sees the larger picture of the event and not just the task(s) they have taken part in directly. The final portion of this time slot can be used to celebrate top achievements and hand out any prizes, if any.|
|5 mins||Thank you and Wrap Up||A final note from the main organizer to wrap up the event: thank everyone for attending and remind everyone to keep an eye on their inbox for a feedback survey.|
The Magento Community Engineering team would love it if you are able to track activity and contributions that arise out of your event! This helps us highlight the benefits for the community, from the community, to the Magento ecosystem and provides us with evidence for further supporting such community events in the future. We are particularly interested in understanding how a contributor’s activity evolves before, during and after a Contribution Day event, so information we are most interested in is:
- Number of participants
- URLs to pull requests and issues filed during the event
After the event
Once the event is completed it is important to gather feedback from the attendees and to publish results and a review. This will help to build a stronger connection between the attendees and the event itself and it will also help you, as the organizer, to find out areas of improvement for the next event.
We would also love to keep track of how many contributions were created as part of your event! Keeping track of pull requests issued as part of the event would be greatly appreciated on our part.
One of the best ways to gather feedback is to put together a survey using a tool such as SurveyMonkey. Then after the event send around this link to all the attendees so that they can fill it in. A few recommended questions to cover:
- How would you rate the Contribution Day?
- What did you like about the Contribution Day?
- What did you dislike about the Contribution Day?
- Was there any information that would have been helpful before the Contribution Day?
- How likely is it that you would recommend Magento Contribution Days to a friend or colleague?
- Any comments about the facilities or environment of the event?
- Any additional comments?
After the event it is a good idea to post a review from you, the organizers. It is a good idea to highlight a couple of pull requests from the event as well as adding a quote from an attendee or two. This can be done in a blog post format or even a series of tweets could be sufficient.