This page lists recommendations for getting the code, developing and debugging dwv.
Version control system
Not much choice on this one, Git is, these days, the de-facto version control system. Git comes with most Linux distributions. For Windows see: git-scm.com/downloads. To remember the commands, I like this cheatsheet
Github provides some help on [[working-with-key-passphrases|http://help.github.com/working-with-key-passphrases/]]. Github uses the Open-ssh2 format. These keys can be generated using the ssh-keygen command. On windows, if you have installed Git, you should have a Git-bash from which you can run the command. The full command is: ssh-keygen -t rsa -C "tekkub@gmail.com". You can then paste the public part in your Github account settings. The EGit extension of Eclipse also allows you to create a key.
If you are using Tortoise-git, you need to convert your Open-ssh2 key to the putty key format. You can do this using the PuttyGen software by opening your Open-ssh2 key and then saving it. Then load the putty key in the Pageant application and you are ready to pull code with tortoise!
Implementation
A text editor can be enough to play with javascript, I use VSCodium with the the vscode-eslint extension.
Debugging
Browsers do provide very extensive debugging tools:
- Chrome: {Settings Icon} > Tools > Developer tools (or
F12) - Firefox: {Firefox} > Web Developer > Inspector (or
F12)
Chrome allows to simulate touch events: in the Developer tools window, popup the Drawer from its button (top right) or press Esc and tick Emulate touch screen from its Emulation tab. Beware that this changes the way Chrome fires events, for example it stops sending mousemove events...
For the application behaviour, check these tools:
- Google lighthouse
- Using service workers from mozilla
Release tasks
- Fix all current issues
- Check that help information is in sync
- Check the build status
- Check DICOM conformance by loading the test data
- Check integrations by launching dwv in some PACS
- Check module integration
- Create release:
- run the
resources/scripts/prep-releasescript with the release and previous version - review changes
- run the
resources/scripts/finish-releasescript with the release and next version
- run the
- Create release from github releases (creates the tag)
- Create the doc for the release
yarn run docand push it on thegh-pagesbranch - Publish npm package:
npm publishin the main directory on themasterbranch - Check the examples: on class doc or examples
- Create snapshots
- Update dependent plugins: wordpress dicom-support, dwv-orthanc-plugin, dwv-dcm4chee-web