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-release
script with the release and previous version - review changes
- run the
resources/scripts/finish-release
script with the release and next version
- run the
- Create release from github releases (creates the tag)
- Create the doc for the release
yarn run doc
and push it on thegh-pages
branch - Publish npm package:
npm publish
in the main directory on themaster
branch - Check the examples: on class doc or examples
- Create snapshots
- Update dependent plugins: wordpress dicom-support, dwv-orthanc-plugin, dwv-dcm4chee-web