The Process of Adding New Events to the calendar.thaiprogrammer.org Database and Facebook Page

0.  Introduction

This document describes the process to add a new event to the calendar.thaiprogrammer.org database. It also describes the process the event gets shared on the Facebook page.

Purpose

  • The purpose of this process is to ensure that the database would contain high-quality data, which can not be accomplished automatically.

Process overview

Please check out this diagram.

Prerequisites

You need
  • A GitHub account
  • A Facebook account

1.  Verifying event’s suitability

To avoid information clutter on this calendar, we have a guideline of what events should be in the calendar and what should not. Before adding an event, please make sure the event is suitable by verifying that the event meets the criteria.

1.1   Verify that event is not already on the calendar

  • Take a look at the calendar first. Make sure that the event is not already on the calendar.

1.2  Verify criteria for the event

  • It should be a public event (e.g. meetups, conferences, hackathons, workshop).
  • The event should be organized for the community.
  • Events organized by businesses are OK, but they should be for the benefit of the community.
  • Therefore, paid training courses and paid workshops of commercial nature are not allowed.
  • For recurring events, only 1–2 upcoming event should be on the calendar.

1.3  Ensure that the necessary data for an event is available

The events should have enough information before publishing to the calendar.
  • Date and time of the event
  • Location of the event (title and Google Maps link)
  • Topic of the event
  • Where to get ticket (website title and URL)
  • Facebook Event URL (try asking the organizer to create the event on facebook)

2.  Creating an event data file

To add an event to the calendar, you need to create a data file.

About data file format

Data file is a Markdown file with YAML front matter.

2.1   Open the data editor

  • You will see this page:
Some tools are available under the tools section.

2.2  Import event information from Facebook event (optional)

This will make it easier to get started.

2.2.1  Enter Facebook URL into “tools → data assistant” and click “Download ICS file”
After clicking, an ICS file will be saved to your computer.

2.2.2  Drag the file into the data textbox.
After dropping the file, the event data will be filled with data from the ICS file.

2.3  Add a category to the event

Under tools → categories, select an appropriate category for this event.

2.4  Add topics to the event


2.4.1  Use the data assistant to add a topic
Under tools → data assistant, type in the topic of the event.
If the text matches an existing topic, you can click on it to add to the event data.

2.4.2  Add a topic manually
In case topic doesn’t exist yet, edit the event data manually.

2.5  Add event location


2.5.1  Use the data assistant to add an existing location
Under tools → data assistant, type in the name of the location.
If the text matches an existing location, you can click on it to set the location on the event data.
After clicking, the location is added:


2.5.2  If location is new, use the data assistant to add a new location
  1. Open the location on Google Maps and copy the full URL. The URL should look like https://www.google.com/maps/place/…/@13.7427516,100.5477524,15z/data=!4…
  1. Paste it into tools → data assistant.
  1. A button should appear to set the location to the pasted URL. Click on it.

2.6  Edit the event ID (slug)

  • For more friendly URLs, you can edit the event ID manually in the data field.
  • An event ID must be unique, so the name should uniquely identify the occurence of the event.
  • Add numbers or month/year to the ID to make it unique.
  • Example ID: line-developer-meetup-2

2.7  Add ticket links

Try pasting the ticket URL into the tools → data assistant.
If ticket provider is recognized, the Add ticket URL button will appear.
If ticket provider is not recognized, it will not appear:
In this case, update the data manually:

2.8  Edit summary and description

Edit the summary and description manually.
The event summary is the 1st block quote after the event title (prefixed with > ).

2.8.1  Event summary
  • Event summary should advertise the event and make target visitors interested in the event.
  • Event summary must not be longer than 280 characters.

  • If event summary is too long, an error will be shown in the problems area below the text area.
  • To make the summary shorter: Remove redundancy and focus on the contents of the event.

2.8.2  Event description
  • Make it as short as possible.
  • Remove redundant information, e.g. event date, location and time.

2.10  Fix the remaining problems

Edit the data file until no more problem is left.

2.10.1  Remove unavailable links
  • By default, there are links of type website, ticket, rsvp.
  • If a link is not available, you can remove it.

After fixing, the problem area should be green:

2.11  Preview the event

  • Below the problem area you will find the event preview section.
  • Expand it to see how the event would look like.

2.12  Revise

Make it look great!

3.  Submit the event to the project

3.1  Click “Copy text and submit event”

  • When all problems are eliminated, a button appears. Click on Copy text and submit event button.
  • The button will (1) copy the event data into clipboard and (2) take you to GitHub.
  • If this is your first time, you will see this. Click Fork this repository and propose changes.

3.2  Paste the event data

Paste the event data into the file contents area.

3.3  Propose the new file

  • Scroll down to Propose new file section.
  • Enter the title: [Event]  followed by event name.
  • Click the Propose new file button.

3.4  Create a new pull request

  • Click the green Create pull request button:
  • You will see this form:
  • Click Create pull request.

3.5  We will review your pull request.

  • If everything looks good we will accept it and add to the calendar.
  • Otherwise, we may ask you for more information or ask you to edit the data.

4.  Adding events to Facebook page

NOTE: This section is for Facebook Page Admins.
It is possible to add any public event to the page’s event section, locate at https://www.facebook.com/pg/thtechevents/events/.

4.1  Preconditions

  • The event data file should be created and submitted to the project. 
  • That is, step 3.4 should be completed.

4.2  Add the event to Facebook page.

  1. Go to the event’s Facebook Event page.
  1. Click the menu and select Add to Page
  1. Under Select a Page, select calendar.thaiprogrammer.org.
  1. Click Add Event.

Now, the event should be added to the Facebook page.


5.  Share the event on the page

NOTE: This section is for Facebook Page Admins.
This will make the event appear on the subscriber’s news feed.

5.1  Preconditions

  • You must be a page admin.

5.2  Activate admin mode

  • If admin mode status is OFF, click the Toggle button to turn it ON.

5.3  Copy event text to post

  • Once admin mode is ON, inside the event page, you will see the for admin” section.
  • When you open you will see this.
  • Click the Copy button.

5.3  Share the event on the page

  1. Click the Share button.
  1. In the share dialog, select Share on a Page You Manage and select calendar.thaiprogrammer.org.
  1. Paste the copied text from step 5.2.
  1. Optionally add a public service message on the 3rd line (text should fit in one line).
  1. Click the Post button.