Background

This workshop is an initiative of the tranSMART Architecture Working Group of the Code stream of tranSMART Foundation. The aim of the workshop is to create a first draft of a tranSMART 2.0 reference architecture, and a draft 2.0 development roadmap aligned with that reference architecture. The attendees of the workshop are all currently active tranSMART core developers (as evidenced by GitHub activity). The idea is to try and make a practical first draft for the architecture, partly inspired by the thinking in Simon Brown's Software Architecture for Developers.

Further background of why the architecture of tranSMART needs to be re-thinked at this point in time can be found here.

Details

  • Where: Utrecht, The Netherlands (at The Hyve)
  • When: January 19-23, 2015
  • Who:

Goals

  • Create a formal strategy for contributing tranSMART code, for the core as well as for plugins
  • Formulate a roadmap for the development of tranSMART 2.0
  • Kick off tranSMART 2.0 development by cleaning up the backend codebase

Deliverables

All these deliverables pertain to tranSMART 2.0:

Contribution workflow

  • Code Contribution Guidelines
  • Plugin Development Guide

TranSMART 2.0 roadmap

  • Development Roadmap (including dependencies on Community and Content streams)
    • Specification of Clinical data API : cf. i2b2 API, list of currently implemented calls and their output (data model discussed already in December workshop)
    • Specification for High Dimensional API : extend current API as is - in light of the use cases (current tranSMART UI, bioinformatics use cases) | data model: revisit tables or leave as is
  • Architecture Specification

TranSMART 2.0 development kickoff

  • Cleaned up codebase on GitHub

Agenda

Monday

Tuesday

Wednesday

Thursday

Friday

Actions

Contribution workflow

- Agree on a workflow for reviewing and accepting contributions to the core

- Agree on a workflow for reviewing and accepting plugins for the standard distribution

- Define relevant review groups, initial members, and procedure for becoming a member

TranSMART 2.0 roadmap

- Identify guiding principles (quality attributes) for tranSMART architecture

- Identify current system, technical gaps and major improvements needed

- Create a joint architecture overview for tranSMART 2.0 (e.g. using C4 methodology)

- Identify concrete milestones for the tranSMART 2.0 core development efforts

- Identify interaction points with Community and Content committees

- Using all this input, create a joint development roadmap for tranSMART 2.0

TranSMART 2.0 development kickoff

Concrete action: Clean up the current tranSMART codebase, taking the good parts and use that as the basis for tranSMART 2.0:

- Identify the part of the current codebase that can be used as core for tranSMART 2.0

- Agree on project structure (Git repositories) to contain core app, database schema and seed data, and plugins

- Clean up tranSMART Github accordingly

- Document the new project structure on the wiki

- Identify potential plugins and respective core maintainers

- Agree on minimal plugin metadata and recommended structure for plugins

- Agree on and document relevant coding conventions

- Create a nascent standard distribution of tranSMART 2.0


  • No labels