blockr.workshop
What is block and why you should care?
Despite widespread adoption of tools such as Shiny and dplyr, creating dashboards in R remains challenging for non-coding developers. Solutions like PowerBI or Tableau, while popular, are proprietary and expensive, offer limited reproducibility, and have restricted integration with the R ecosystem. To address this gap, we introduce blockr, an open-source dashboard builder (https://github.com/blockr-org). blockr simplifies the construction of parameterised data pipelines as a web application, enabling collaboration and easy sharing of results through self-contained code generation. We emphasize modularity by decomposing pipelines into ‘blocks’. These ‘blocks’ can be assembled into ‘stacks’, which can be connected so that the output of one stack serves as the input for others. This architecture results in a reactive dashboard that allows upstream changes to cascade through the analysis, providing instant feedback to the user. General-purpose blocks provided by blockr can be combined with user-created blocks to expand functionality to use-case specific needs. This approach makes it easy to leverage the vast and mature ecosystem of R packages.
Prerequisites
This workshop is made for blockr users without coding experience (first part), and blockr developers with coding experience (first and second part).
- Users: The first part of the workshop does not require any coding experience.
- Developers: experience in R programming (knowledge about S3: https://adv-r.hadley.nz/s3.html and metaprogramming: http://adv-r.had.co.nz/, will help but are not mandatory), creating R packages.
We actually recommend people to create groups with at least a user and a developer. Each group will go to a breakout room during the exercises. John, Karma and David will check out each room one by one.
Program (CEST Europe time)
Time | Activity |
---|---|
14:00-14:10 | 👋 Welcome |
14:10-15:30 | 📚 blockr as an end-user |
15:30-15:45 | ☕ Break |
15:45-16:45 | 📚 blockr as a developer |
16:45-17:00 | 🎁 Wrap up |
Detailed schedule
Introduction to blockr (1h30):
- Data analysis is like cooking!
- Definition of fields (ingredients), blocks (instructions), stack (cooking recipie), workspace (dinner party).
- Exercise: create your first stack interactively: some data + plots.
- Exercise: Use the previously created stack and connect it to anothe within the workspace.
Your first new block (1h30):
- Intro about blocks constructors: new_block.
- Exercise: Develop a clinical table block.
- Introduction to the registry, the blocks “supermarket”.
- Exercise: use the registry to expose this block to the outside world.
- Leverage S3 to customise part of the UI/server.
- Exercise: Add a new render method to display interactive tables.