MXCuBE
past
present
future
MXCuBE meeting - SOLEIL Synchrotron, 12/06/2017
presented by D. De Sanctis & M. Guijarro
Current issue:
technical debt
- Lack of automatic tests
- Lack of collaboration between institutes, development process
- Lack of technical documentation
Technical debt
- 2 MXCuBE under development (Qt 4, web)
- legacy version, still in use at ESRF and SOLEIL (Qt 3)
- little ressources, beamlines upgrades, new hardware...
Saving the future
Solving the lack of automatic tests
Hardware Objects:
- one Hardware Object == one Abstract class
- one Abstract class == one mockup class
- let's implement functional tests using pytest
User Interface:
- many possibilities exist for MXCuBE 3
- for example, see talk by F. Bolmsten (last MXCuBE meeting)
Let's enable Continuous Integration in github
Solving the lack of collaboration,
improving development process
Developers meetings
- face-to-face: every 3 months
- video conference: every 2 weeks
Development tasks & priorities
- should be agreed between us beforehand
- github issue => discussion => task assignment => implementation => test => github pull request
Solving the lack of collaboration,
improving development process
- stop sharing all the code
- lack of time : meetings cancelled (too busy or nothing new to say...)
- disagreements (on the tasks, or on technical implementation)
- divergence of views, different priorities
Risks should not be underestimated
Solving the lack of technical documentation
Favor self-documenting solutions
- Dockerfile : "recipe" on how to install
- Abstract classes : minimum set of methods to be implemented for each component
- Mockup classes : implementation details
Changelog
- summary of changes between 2 version tags
Architecture document
Helping with
Resources spreading
Few developers
2 major versions to develop and maintain
Let's redefine realistic, common objectives for the months and years to come
- "MX drivers"
- technical evolution
Developers' Roadmap proposal
1. Let's finish Abstract Classes (started in 2012)
2. Let's finish Mockup classes (started in 2012)
3. Implement tests for Continuous Integration
4. Collaborate more(better)
MXCuBE3, Past Present Future
By Matias Guijarro
MXCuBE3, Past Present Future
- 1,355