The Debian Events team is responsible of the addition of upcoming events to the Debian website. This is a brief howto for members of the team.
The ''events'' section of the Debian website
Obtain a working copy
The Debian website is handled via the webwml CVS repository: in order to work on it, you'll need to:
request to join the webwml project on alioth specifying in the request form that you are a member of the Events team
- do a partial checkout of the website, containing the /events/ section of the site and the needed template files:
cvs -d :ext:firstname.lastname@example.org:/cvs/webwml checkout -l webwml webwml/english cvs -d :ext:email@example.com:/cvs/webwml checkout webwml/english/template webwml/Perl webwml/english/Pics webwml/english/events
For more information on how CVS (and WML) work, please refer to the website documentation.
Overview of the events section
The events section of the Debian website is under the direct control of the Events team: this means that no one else is entitled to add or delete things, while minor correction and fixes are welcome.
This is a general overview of it, please look at the relevant part of the CVS repository if you need more details.
webwml/english/events/$year directories: in each of these there are the events for the corresponding year: this is where you'll need to add single events pages
webwml/english/events/speakers/*: this section contains a list of people available for delivering Debian related talks in various events, sadly this part is obsolete and needs a revive (i.e. contact people listed here asking if they're still available and if they want to update their infos)
webwml/english/events/Makefile: yeah, we have makefiles on the website! This is how we generate html pages from wml sources. Hopefully you'll don't need to touch anything in here, if in doubt please ask to debian-www people (at firstname.lastname@example.org or debian-www IRC chan on irc.debian.org)
webwml/english/events/README: some basic info on this directory. Don't feel scared by the big fat warning: if you are a member of the Events Team, you *can* work on this part of the site (with the blessing of the debian-www people)
webwml/english/events/admin.wml: a description of the team, to be rewritten as is kinda obsolete (maybe we can add some pointers to the team's wikipage)
webwml/english/events/booth.wml: the idea is to collect here useful resources for the organization of booths. This page is obsolete as well, and we'd probably need to decide if delete it or if update it with the info present on DebianEvents page.
webwml/english/events/checklist.wml: a long list of things to do/check when organize a booth (improvements welcome!)
webwml/english/events/event.form: this is the template we use to add an upcoming event, the file is quite well commented (so it would be easy to fill the form) but in case of doubt you can refer to old events (in the $year dir) and use them as example.
webwml/english/events/index.include: this file contains the scripts to fetch the list of future and past events and the definitions of the tag to render this list in the index page
webwml/english/events/index.wml: the (not automatically generated) text of the main index for events section
webwml/english/events/keysigning.wml: instructions on how to organize a keysigning party
webwml/english/events/makeics.pl: the perl script to generate ics entries for the events
webwml/english/events/material.wml: list of useful materials for booths as flyer, posters, etc. (probably obsolete)
webwml/english/events/requirements.wml: booth requirements. I'm not sure but we probably merge this with booth.wml
webwml/english/events/talks.data: data for the talks page (a page listing all Debian related talks)
webwml/english/events/talks.defs: definition of tags used in the talks.data page
webwml/english/events/talks.wml: a list of Debian-related talks, sadly incomplete. I'd really like to change it in a browsable database, but ENOTIME (patch welcome!)
How to add an upcoming event
Assuming that you've already a working copy, you just need to:
- copy event.form in webwml/english/events/$year (where $year is the year when the event will be held), naming it as MMDD-eventname.wml (for the event name an abbreviation is fine, check if the same event took place in the previous years: if yes you can re-use the same abbreviation, if not just invent a new one!)
fill the file with the requested info (in case of doubt you can check past events file). Hint: for the event description (in the <define-tag intro>) you can check the website page of the event for ispiration; Hint: for the Debian involvment part (in the <define-tag involve) you can check previous events for ispiration (in general it'll be enough to specify if we have a booth and where, if there will be merchandise items, if there will be DDs or Debian contributors to replies to visitor's questions, if there will be Debian related talks and when and where). If you don't know all details you can ask to the main organizer of the booth or check the event's website.
- add the new file to the repository with:
cvs add $newfilename
- now you can commit it with a brief message:
cvs commit -m "added new event" $newfilename
- the changes will be visible in few hours, depending on the building time of the website (the build is triggered 4 times a day)
How to tag an event as past
After the event we need to manually tag it as past in order to not have it in the list of upcoming event. It would be great to automate this step (hint!). Please note that the first method is the preferred one, as it avoid to mess up all translations, but youcan use it only if you have a complete checkout (i.e. one with all languages).
If you have a complete checkout (i.e. with all languages)
We can use a script to change simple things (like wrong urls and or tags) in order to have it changed also in the translations and not only in the english file. This way we also avoid that the system mark translations as outdated. For this, we need to use the webwml/.smart_changes.pl script. For more information on how to use this script please see the website documentation (scroll down to the "Update translation too, if possible" paragraph. You can use this script only if you have a complete checkout (i.e. with all languages, not only english). Below an example on how to use it for tagging events as past:
- first of all, go in the webwml root directory (where the script is located):
- now, run the script with the following options:
./smart_change.pl -v -s "s,#use wml::debian::event,#use wml::debian::past_event,g" path-to-the-event-file
- now check that is all ok:
cvs diff -u */events/$year/$filename
- if is all ok, you can commit:
cvs commit -m "[smart-change] added past-tag" */events/$year/$filename
If you have a partial checkout (with only the english language)
- open the event file you want to tag as past
- s/#use wml::debian::event/#use wml::debian::past_event/g
- commit the file