Skip to content

Commit

Permalink
fix: release 23.10, fix minor issues found during testing
Browse files Browse the repository at this point in the history
  • Loading branch information
KonradHoeffner committed Oct 27, 2023
1 parent b9fc304 commit d3d4404
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 54 deletions.
2 changes: 1 addition & 1 deletion js/browser/menu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ ${Menu.gitInfo()}`,
["html/troubleshooting.html", "Troubleshooting"],
["html/contribute.html", "Contribute"],
["https://www.snik.eu/", "Project Homepage"],
["https://www.snik.eu/public/SNIK_Metamodell_V8.svg", "SNIK Meta Model"],
["https://www.snik.eu/public/SNIK_Metamodell_V10.svg", "SNIK Meta Model"],
[Menu.about, "About SNIK Graph"],
["https://github.com/snikproject/ontology/issues", "Submit Feedback about the Ontology"],
[Menu.visualizationFeedback, "Submit Feedback about the Visualization"],
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "snikgraph",
"version": "23.10-master",
"version": "23.10",
"description": "SNIK Graph",
"main": "js/browser/main.ts",
"type": "module",
Expand Down
4 changes: 2 additions & 2 deletions paper/codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
"identifier": "",
"codeRepository": "https://github.com/snikproject/graph/",
"datePublished": "2016-07-13",
"dateModified": "2023-07-18",
"dateModified": "2023-10-27",
"dateCreated": "2016-07-13",
"description": "Visualization of a Medical Informatics Ontology",
"keywords": "semantic web, information management, hospital information management, visualization, javascript",
"license": "MIT",
"title": "SNIK Graph",
"version": "23.07"
"version": "23.10"
}
99 changes: 49 additions & 50 deletions releasechecklist.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Checklist before releasing a new version of SNIK Graph

Our releases have a major and minor version x.y with a corresponding milestone and git tag.
Our releases have the form YY.MM with a corresponding milestone and git tag.

## Preparations

### Code

- switch to master branch
- git pull
- `npm install --include=dev && npm update`
- `cp js/config.dist.ts js/config.ts`
- change the version number in package.json to the new release
- [ ] switch to master branch
- [ ] git pull
- [ ] `npm install --include=dev && npm update`
- [ ] `cp js/config.dist.ts js/config.ts`
- [ ] change the version number in package.json to the new release

### Upgrade major dependency versions

Expand All @@ -21,25 +21,25 @@ If that doesn't help, keep the old version.

### GitHub

- close all open issues in the milestone or move them to another one
- close the milestone
- [ ] close all open issues in the milestone or move them to another one
- [ ] close the milestone

## Automated tests

### Unit Tests

There must be no errors.

- `npm run test`
- [ ] `npm run test`

### Linting

There should be no errors and as few warnings as possible.
There must be no errors and as few warnings as possible.
Configured in `.eslintrc.json`.
Can be integrated into IDEs and editors like Atom.

- `npm run lint`
- Some errors can be fixed automatically via `npx eslint js --fix`.
- [ ] `npm run lint`
- [ ] Some errors can be fixed automatically via `npx eslint js --fix`.

### Typechecking

Expand All @@ -51,44 +51,43 @@ Static code analysis can help uncover some otherwise hard to find bugs.
All manual tests need to be successfull.
Create a local web server and test it on localhost using `npm run dev`.

- clone a fresh copy of SNIK Graph into a temporary folder, see code preparations above
- run it in different browsers
- the most important test: it needs to load without errors. Make sure to open the console groups. `npm run dev` may fail to load the submenu indicator image but that should work with `npm run build && npm run preview`.
- clear the cache and local storage and try to load again (press F5)
- open a new tab
- copy some nodes in the main tab
- paste them in the new tab
- go back to the main tab
- test all the filters (by turning them on and off, some subontology filters like meta may have no effect if they aren't set to load in the config)
- hide inter-ontology relations
- press recalculate layout
- all subontologies should be separate now if meta isn't loaded
- show inter-ontology relations again and recalculate
- test the day mode (options)
- test all links (under Services and Help)
- check if the mouseover tooltips are shown when hovering over menu entries (not all entries have tooltips)
- "About SNIK Graph" should be correct if Babel and Webpack are used, else there will be just a placeholder
- test the zoom elements
- try if the language switches from English to German and back to English
- the language switch should apply both to the menu and to many BB classes
- search for "3lgm2 mentity type"
- click on "Highlight All"
- there should now be several nodes with thick white borders
- select 3LGM² Entity Type from the blue book with the main mouse button. it should be highlighted with a yellow color now.
- click and hold the secondary mouse button on "Logical Tool Layer" and choose path, release the mouse button
- check if the path is displayed and the labels (on nodes and edges) are existing (scroll to zoom in)
- reset view
- go to the options menu and enable "extended mode"
- choose any two not directly connected nodes and test spiderworm, doublestar and starpath in that order (see the manual for what they should do)
- reset view
- select any node and test star and circlestar
- reset view
- hide at least one node and one edge using the contextmenu and del-button
- check if the description and the other entries in the contextmenu are working
- [ ] clone a fresh copy of SNIK Graph into a temporary folder, see code preparations above
- [ ] run it in different browsers
- [ ] the most important test: it needs to load without errors. Make sure to open the console groups. `npm run dev` may fail to load the submenu indicator image but that should work with `npm run build && npm run preview`.
- [ ] clear the cache and local storage and try to load again (press F5)
- [ ] open a new tab
- [ ] copy some nodes in the main tab
- [ ] paste them in the new tab
- [ ] go back to the main tab
- [ ] test all the filters (by turning them on and off, some subontology filters like meta may have no effect if they aren't set to load in the config)
- [ ] hide inter-ontology relations
- [ ] press recalculate layout
- [ ] all subontologies must be separate now if meta isn't loaded
- [ ] show inter-ontology relations again and recalculate
- [ ] test the day mode (options)
- [ ] test all links (under Services and Help), Developer Documentation won't work locally
- [ ] check if the mouseover tooltips are shown when hovering over menu entries (not all entries have tooltips)
- [ ] "About SNIK Graph" must be correct
- [ ] test the zoom elements
- [ ] try if the language switches from English to German and back to English
- [ ] the language switch must apply both to the menu and to many BB classes
- [ ] search for "3lgm2 mentity type"
- [ ] 3LGM² Entity Type from the blue book must be highlighted with a yellow color now.
- [ ] search for "Logical Tool Layer" as well, it must also be highlighted with a yellow color now.
- [ ] select 3LGM² Entity Type
- [ ] click and hold the secondary mouse button on "Logical Tool Layer" and choose path, release the mouse button
- [ ] check if the path is displayed and the labels (on nodes and edges) are existing (scroll to zoom in)
- [ ] reset view
- [ ] choose any two not directly connected nodes and test spiderworm, doublestar and starpath in that order (see the manual for what they should do)
- [ ] reset view
- [ ] select any node and test star and circlestar
- [ ] reset view
- [ ] hide at least one node and one edge using the contextmenu and del-button
- [ ] check if the description and the other entries in the contextmenu are working

## Publish the release

- add, commit and push the release commit
- create the release on GitHub, attach package-lock.json to the assets
- ssh into the server
- check out the gh-pages branch
- [ ] add, commit and push the release commit
- [ ] create the release on GitHub, attach package-lock.json to the assets
- [ ] ssh into the server
- [ ] check out the gh-pages branch

0 comments on commit d3d4404

Please sign in to comment.