May 20-24 2019 - Basel, Switzerland
The fifth Project Helix Hackathon will happen in Basel, Switzerland during the week of May 20th. If you feel like attending, please sign up here.
(See the Hackathon Archive for past Hackathons)
Where is this going to happen? Do you have a windowless conference room blocked out?
The hackathon will take place at the Orangerie at Grellingerstrasse 75, 4052 Basel. The nearest international airports are BSL
and ZRH
.
Who is going to be there? Can I come?
- @rofe
- @tripodsan
- @kptdobe
- @simonwex
- @koraa
- @trieloff (Monday-Thursday night)
- @stefan-guggisberg
- @kgera
- @kamendola
- @bdelacretaz (Tuesday-Thursday)
- @dominique-pfister
- @lkrapf (Thursday)
- @asanso (Thursday)
- @acollign (Thursday)
- @meryllblanchet (Tuesday, Wednesday evening, Friday)
- @raho (Tuesday, Wednesday evening, Friday)
- @dunguyen (Tuesday, Wednesday evening, Friday)
- @davidnuescheler (Monday afternoon-Thursday night)
- @anfibiacreativa (Wednesday to Friday)
We have room for 20 people. First come, first served :)
Please share this page with people inside Adobe that you'd like to invite. Add yourself to the list if you want to attend.
I hear this is a hackathon, are you going to hack all day?
Although this is a hackathon, we won't be hacking all the time, there will also be plenty of programming and coding.
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
Morning | - | Helix Introduction & Demo Format | Programming | Documentathon | Demos |
Afternoon | Airport Transfer & Arrival | Coding | Documentathon | Coding | Departure & Airport Transfer |
Evening | Set-up, drinks | Hacking | Team dinner @ Mägd | Hacking | - |
What are you planning to show at the end of the week?
- Refine our on-call policy (see here for initial discussion)
- Discuss and work on next UI iteration with @kamendola
- Where and how do we document Helix?
- Improve Developer Experience for devs new to Helix, see helix-cli/711 (@stefan-guggisberg, @rofe, ...)
- Integration with project management tools (@bdelacretaz), looking at parallels with similar work that I'm doing for assets management.
- Discuss cold-start timing issues and expectations (@meryllblanchet @dunguyen @tripodsan @davidnuescheler)
As part of the hackathon there are a couple of items that require more attention and alignment, please find below a couple of proposals for breakouts and breakout hosts...
Proposed Time: Tuesday 14h-16h
Moderated by Karolin
- Pre-requisite: Have some exposure/understanding of helix pages
- Roundtable: What do you think of helix pages and how does it fit into your overall vision of helix.
- Everyone should be able to voice their opinion even if it is not a popular opinion
- We accept all opinions for now; this is a brainstorming
- I (Karolin) do have some controversial opinions to voice here; I know that and that's OK; I will also accept if we as a group decide to go in a different opinion (although no decisions are absolutely final)
- We will at first just collect opinions (white board?); we will discuss them at the end
- Discussion
Goals: Shared understanding and definition of terminology and scope of things like Helix Pages, helix-cli, Bot, etc. Come up with specific areas for an overall Roadmap (inclusive of helix pages) and architecture Roadmaps should be specific, try to include who is most suited to perform the tasks, what needs to be done and how hard the task is. Come up with a documented development plan, who does what?
Proposed Time: Wednesday 14h-16h
Moderated by Rofe
Some ideas for the breakout...
- Statement: What is the current state of operations?
- Who will be responsible to react to outages
- Who can be notified when that person needs to escalate
- Who from the adobe.io team can be contacted
- How can we determine which person is qualified to fix what error
- Who is level one
- Will there be an oncall rotation
- How to deal with nights?
- How will devs be notified about incidents
- Just looking at a slack channel seems unsafe
- SLA? What are our performance targets? How will we define those?
- What will be our process to perform post mortems
- Who will manage the on call schedules, organize post mortems and such?
Goal: Come up with a documented plan, and assign responsibilities to implement a plan.
Moderated by Karolin
We plan to have two documentathons; during these, each of us will work to improve the documentation on some helix component they did not write themselves:
- What is the api of that component
- Why was it build?
- What is it good for?
- What should it not be used for?
- Are there any caveats to using that module?
Goal: Improve the documentation, share knowledge of parts of helix and reduce the truck factor in the helix team.
- Awesome error messages
- Helix Pages Admin UI
Goal: Iterate/implement mock for error page, discuss & refine needs for config/admin UI in Helix Pages
Moderated by Rofe
Moderated by Stefan
Work on helix-cli/711
Goal: Improve Developer Experience for devs new to Helix. A Developer new to Helix should be able to get his first Helix project running locally (including debugging), customized and published within half an hour, by just following a short concise tutorial and without any need for external help.
Recommended hotels for our out-of-town visitors:
- Sevogelhof - Bed & Breakfast in historic 19th century building in the Gellert borough(5 min walk)
- ibis budget simple & modern 1-star hotel (8 min walk)
- Novotel modern 4-star hotel (10 min walk)
- DASBREITEHOTEL - ecologically & socially sustainable hotel overlooking the Rhine (15 min walk, or 2 min by tram #3 + 8 min walk)
- Motel One - great 1-star hotel in the city center, right next to Adobe Basel (20 min walk, or 7 min by tram #14 + 3 min walk)
- Hotel Alfa classic 3-star hotel in Birsfelden (20 min walk, or 3 min by tram #3 + 8 min walk)
- Radisson Blu modern 4-star hotel in the city center (22 min walk, or 5 min by tram #14 + 7 min walk)
- Hotel Euler century-old 4-star hotel at the train station (19 min walk, or 4 min by tram #14 + 8 min walk)
What can I do to prepare for the Hackathon?
- Read the
README.md
and linked vision documents in this repo - Join
#helix-chat
on Slack - Install the
hlx
Command Line app and create your first project - Comment on the GitHub issues you think would be good candidates for the Hackathon
- Check out the changes made to Helix since the last Hackathon
For occasional contributors to Helix it can get hard to keep track of what has changed in Helix since the last hackathon. Below, you can find a curated (i.e. incomplete) list of some of the most interesting changes to Helix since the fourth Hackathon, i.e. Feb 1st, 2019.
- You can no longer use custom Docker containers for Helix, and Helix is using the Adobe I/O Runtime standard node.js by default, which speeds up cold starts v0.13.4
- When starting a Helix project, make sure to run
hlx auth
, which will authenticate the Helix GitHub app with your repository v0.13.9 - You can now use
.env
files to keep track of frequenly used environment variables likeHLX_FASTLY_AUTH
v0.13.9 hlx publish
now uses a remote service to update your Fastly config, so that you always have the lastest VCL, even when yourhlx
is slightly outdated. You can specify with service to use with the new--api-publish
flag v0.13.12- There is no longer a binary distribition for macOS. You have to install Helix CLI now using
npm i -g @adobe/helix-cli
v0.13.13 - The default pipelines are now even more customizable using the new
before
andafter
extension points v0.13.13 - In production, static assets will now get URLs that are immutable and can be cached in the browser for a long time. This improves performance v2.0.0
- Selective publishing is possible through the
--only
and--exclude
flags inhlx publish
. All non-matched strains will get published with the latest configuration frommaster
. v2.1.0 - You can now create (but not yet use)
cgi-bin
actions v2.2.0 - Helix supports JSX as an additional templating language v2.5.0
- The
content.html
property has been removed from thecontext
v0.11.0 - In section-content-detection, the
is-paragraph
class name is now calledis-text
v1.0.0 - The HTML pipeline now has additional extension points with
before
andafter
that can be used in apre.js
v1.1.0 - Some pipeline steps are now allowed to mutate the return value (this disables merging for the current step) v1.2.0
- The context dumps in (
logs/debug
) now have more meaningful file names v1.3.0 - HTML heading tags (
h1
,h2
, etc.) now haveid
attributes, so that they can be used as link targets for deep linking v1.5.0 - The XML pipeline exposes the same extension points as the HTML pipeline v1.7.0
- Markdown documents can now have internal embeds (include another Markdown document) v1.8.0
- HTML in Markdown is now supported v1.8.0
- Links to static assets are now detected and rewritten into URLs that are cachable for a long time v1.10.0
- HTTP headers can now be set from a HTL template by using
<link>
or<meta>
tags v1.11.0 - The HTML pipeline now parses the complete HTML document before it is rendered, allowing modifications through the
hast
extension point v1.12.0 - breaking change: Helix Pipeline now allows Pipeline steps to modify the
context
, which means all custom pipeline steps need review. v2.0.0
Find security report in here
You can watch the entire recording here.
- Server timing & DOM based HTL engine (@tripodsan)
- Helix Pages & auto-generated sequence diagrams (@ktpdobe)
- Performance analysis of Helix OpenWhisk actions (@dunguyen)
- Authoring user journey (@kamendola)
- Dev experience: Helix 6 months ago and today (@anfibiacreativa)
Thanks a lot to all presenters!