Skip to content

Commit

Permalink
Merge branch 'master' into docs_lili
Browse files Browse the repository at this point in the history
* master:
  fix docs formatting
  Remove experimental auto brush feature (#6107)
  Fix markdown issues in docs (#6105)
  Unify long-running RPC timeouts (#6103)
  Disallow deactivating users with active tasks (#6099)
  Add remote origin headers also in error case (#6098)
  Linking layers during upload no longer restricted to public datasets (#6097)
  Fix layer headers layout (#6087)
  Fix more docs links (#6095)
  Update datasets.md (#6094)
  More PR feedback for Docs (#6091)
  Updates to wK Docs (#5995)
  Connectome Tab (#5894)
  Fix duplicating annotations via toggling show archived annotations button and fix downsample modal rendering errors (#6058)
  • Loading branch information
hotzenklotz committed Mar 29, 2022
2 parents 5583e1e + ecd9b04 commit 47b95b7
Show file tree
Hide file tree
Showing 109 changed files with 2,571 additions and 1,682 deletions.
3 changes: 2 additions & 1 deletion .circleci/slack-notification.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ if [ "${CIRCLE_BRANCH}" == "master" ] ; then
author=${author/tmbo/<@tmbo>}
author=${author/valentin-pinkau/<@valentin>}
author=${author/youri-k/<@youri>}
author=${author/Dagobert42/<@Arthur Hilbert>}
author=${author/Dagobert42/<@Arthur>}
author=${author/leowe/<@leowe>}
channel="webknossos-bots"
commitmsg="$(git log --format=%s -n 1)"
pullregex="(.*)#([0-9]+)(.*)"
Expand Down
33 changes: 33 additions & 0 deletions CHANGELOG.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,39 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`.
For upgrade instructions, please check the [migration guide](MIGRATIONS.released.md).

## [22.04.0](https://github.com/scalableminds/webknossos/releases/tag/22.04.0) - 2022-03-22
[Commits](https://github.com/scalableminds/webknossos/compare/22.03.0...22.04.0)

### Highlights
- The visible meshes are now included in the link copied from the "Share" modal or the "Share" button next to the dataset position. They are automatically loaded for users that open the shared link. [#5993](https://github.com/scalableminds/webknossos/pull/5993)
- Added a new "Connectome Tab" which can be used to explore connectomes by visualizing neurites and their synaptic connections. Connectome files need to be placed in a `connectomes` folder inside of the respective segmentation layer. It is possible to craft links that automatically load specific agglomerates and their synapses when openend. For more information refer to https://docs.webknossos.org/webknossos/sharing.html#sharing-link-format. [#5894](https://github.com/scalableminds/webknossos/pull/5894)

### Added
- Added a context-menu option when right-clicking on skeleton trees to hide/show all other trees but the selected one. Great for inspecting a single tree in isolation. Identical to keyboard shortcut "2". [#6102](https://github.com/scalableminds/webknossos/pull/6102)
- Added support for reading Zarr image data. [#6019](https://github.com/scalableminds/webknossos/pull/6019)

### Changed
- The maximum brush size now depends on the available magnifications. Consequentially, one can use a larger brush size when the magnifications of a volume layer are restricted. [#6066](https://github.com/scalableminds/webknossos/pull/6066)
- Improved stability and speed of volume annotations when annotating large areas. [#6055](https://github.com/scalableminds/webknossos/pull/6055)
- In dataset upload, linking layers of existing datasets is no longer restricted to public datasets. [#6097](https://github.com/scalableminds/webknossos/pull/6097)
- Deactivating users with currently active tasks is no longer allowed. [#6099](https://github.com/scalableminds/webknossos/pull/6099)

### Fixed
- Fixed a bug that led to crashing the layer settings once the icon for the downsample modal was clicked. [#6058](https://github.com/scalableminds/webknossos/pull/6058)
- Fixed a bug where toggling between not archived and archived annotations in the "My Annotation" of the dashboard led to inconsistent states and duplicates of annotations. [#6058](https://github.com/scalableminds/webknossos/pull/6058)
- Fixed a bug where deactivated users would still be listed as allowed to access the datasets of their team. [#6070](https://github.com/scalableminds/webknossos/pull/6070)
- Fixed occasionally "disappearing" data. [#6055](https://github.com/scalableminds/webknossos/pull/6055)
- Fixed a bug where remote-origin headers were omitted in error case. [#6098](https://github.com/scalableminds/webknossos/pull/6098)
- Increased the timeouts for some internal operations like downsampling volume annotations. [#6103](https://github.com/scalableminds/webknossos/pull/6103)
- Fixed a bug where there was a suggested change in the `datasource-config.json` was shown for resolution `1` instead of `[1,1,1]` or vice-versa. [#6104](https://github.com/scalableminds/webknossos/pull/6104)

### Removed
- The previously disabled Import Skeleton Button has been removed. The functionality is available via the context menu for datasets with active ID mappings. [#6073](https://github.com/scalableminds/webknossos/pull/6073)
- Removes experimental (and hidden) automatic brushing feature. Consequentially, the corresponding feature flag `autoBrushReadyDatasets` is not used, anymore. [#6107](https://github.com/scalableminds/webknossos/pull/6107)

### Breaking Changes


## [22.03.0](https://github.com/scalableminds/webknossos/releases/tag/22.03.0) - 2022-02-21
[Commits](https://github.com/scalableminds/webknossos/compare/22.02.0...22.03.0)

Expand Down
12 changes: 2 additions & 10 deletions CHANGELOG.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,15 @@ and this project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MIC
For upgrade instructions, please check the [migration guide](MIGRATIONS.released.md).

## Unreleased
[Commits](https://github.com/scalableminds/webknossos/compare/release-YY.MM...HEAD)
[Commits](https://github.com/scalableminds/webknossos/compare/22.04.0...HEAD)

### Added
- The visible meshes are now included in the link copied from the "Share" modal or the "Share" button next to the dataset position. They are automatically loaded for users that open the shared link. [#5993](https://github.com/scalableminds/webknossos/pull/5993)
- Added a new "Connectome Tab" which can be used to explore connectomes by visualizing neurites and their synaptic connections. Connectome files need to be placed in a `connectomes` folder inside of the respective segmentation layer. It is possible to craft links that automatically load specific agglomerates and their synapses when openend. For more information refer to https://docs.webknossos.org/webknossos/sharing.html#sharing-link-format. [#5894](https://github.com/scalableminds/webknossos/pull/5894)

### Changed
- The maximum brush size now depends on the available magnifications. Consequentially, one can use a larger brush size when the magnifications of a volume layer are restricted. [#6066](https://github.com/scalableminds/webknossos/pull/6066)
- Improved stability and speed of volume annotations when annotating large areas. [#6055](https://github.com/scalableminds/webknossos/pull/6055)

### Fixed
- Fixed a bug that led to crashing the layer settings once the icon for the downsample modal was clicked. [#6058](https://github.com/scalableminds/webknossos/pull/6058)
- Fixed a bug where toggling between not archived and archived annotations in the "My Annotation" of the dashboard led to inconsistent states and duplicates of annotations. [#6058](https://github.com/scalableminds/webknossos/pull/6058)
- Fixed a bug where deactivated users would still be listed as allowed to access the datasets of their team. [#6070](https://github.com/scalableminds/webknossos/pull/6070)
- Fix occasionally "disappearing" data. [#6055](https://github.com/scalableminds/webknossos/pull/6055)
- Fixed a bug that led to an error when drag-'n-dropping an empty volume annotation in the dataset view. [#6116](https://github.com/scalableminds/webknossos/pull/6116)

### Removed
- The previously disabled Import Skeleton Button has been removed. The functionality is available via the context menu for datasets with active ID mappings. [#6073](https://github.com/scalableminds/webknossos/pull/6073)

### Breaking Changes
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM openjdk:8-jdk
RUN apt-get update \
&& apt-get -y install postgresql-client \
&& apt-get -y install libblosc1 postgresql-client \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir -p /webknossos
Expand Down
3 changes: 3 additions & 0 deletions MIGRATIONS.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ See `MIGRATIONS.unreleased.md` for the changes which are not yet part of an offi
This project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`.
User-facing changes are documented in the [changelog](CHANGELOG.released.md).

## [22.04.0](https://github.com/scalableminds/webknossos/releases/tag/22.04.0) - 2022-03-22
[Commits](https://github.com/scalableminds/webknossos/compare/22.03.0...22.04.0)

## [22.03.0](https://github.com/scalableminds/webknossos/releases/tag/22.03.0) - 2022-02-21
[Commits](https://github.com/scalableminds/webknossos/compare/22.02.0...22.03.0)
- The config field `googleAnalytics.trackingId` needs to be changed to [GA4 measurement id](https://support.google.com/analytics/answer/10089681), if used.
Expand Down
2 changes: 1 addition & 1 deletion MIGRATIONS.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ This project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`.
User-facing changes are documented in the [changelog](CHANGELOG.released.md).

## Unreleased
[Commits](https://github.com/scalableminds/webknossos/compare/release-YY.MM...HEAD)
[Commits](https://github.com/scalableminds/webknossos/compare/22.04.0...HEAD)

### Postgres Evolutions:
36 changes: 24 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,26 +72,34 @@ For non-localhost deployments, check out the [installation guide in the document
* [sbt](http://www.scala-sbt.org/)
* [PostgreSQL 10+](https://www.postgresql.org/)
* [Redis 5+](https://redis.io/)
* [Blosc](https://github.com/Blosc/c-blosc)
* [node.js 12+](http://nodejs.org/download/)
* [yarn package manager](https://yarnpkg.com/)
* [git](http://git-scm.com/downloads)

### OS X
If you are using OS X try using this awesome installer:
https://gist.github.com/normanrz/9128496

Or install Java manually and run:

### MacOS
```bash
# webKnossos needs to be run from x86_64 environment (only applicable for arm64-based Macs)
arch -x86_64 /bin/zsh

# Install Homebrew package manager
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install git, node.js, postgres, sbt, gfind, gsed
brew install git node postgresql sbt findutils coreutils gnu-sed redis
npm install -g yarn

# Start postgres
brew install openjdk@8 openssl git node postgresql sbt findutils coreutils gnu-sed redis yarn

# Set env variables for openjdk and openssl
# You probably want to add these lines manually to avoid conflicts in your zshrc
echo 'if [ $(arch) = "i386" ]; then' >> ~/.zshrc
echo ' export PATH="/usr/local/opt/openjdk@8/bin:$PATH"' >> ~/.zshrc
echo ' export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
echo ' export LDFLAGS="-L/usr/local/opt/openssl/lib"' >> ~/.zshrc
echo ' export CPPFLAGS="-I/usr/local/opt/openssl/include"' >> ~/.zshrc
echo 'fi' >> ~/.zshrc

# Start postgres and redis
brew services start postgresql
brew services start redis

# Create PostgreSQL user
createdb
Expand All @@ -102,8 +110,12 @@ psql -c "GRANT ALL PRIVILEGES ON DATABASE webknossos TO postgres;"

# Checkout the webKnossos git repository
git clone [email protected]:scalableminds/webknossos.git


```

Note: On arm64-based Macs (e.g. M1), you need to run webKnossos in an x86_64 environment (Rosetta 2). In case you accidentally started webKnossos in an arm64 environment, it is advisable to delete several caches `~/.m2`, `~/ivy2`, `~/.sbt`, `~/.yarn-cache` and run `./clean`. Since Postgres and Redis are isolated processes, they can be run either from arm64 or x86_64 environments.


### Ubuntu 20.04 LTS

Expand All @@ -118,7 +130,7 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update
sudo apt install -y nodejs git postgresql postgresql-client scala sbt openjdk-8-jdk yarn redis-server build-essential
sudo apt install -y nodejs git postgresql postgresql-client scala sbt openjdk-8-jdk yarn redis-server build-essential libblosc1

# Assign a password to PostgreSQL user
sudo -u postgres psql -c "ALTER USER postgres WITH ENCRYPTED PASSWORD 'postgres';"
Expand Down
4 changes: 1 addition & 3 deletions app/controllers/Application.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package controllers
import com.mohiva.play.silhouette.api.Silhouette
import com.scalableminds.util.accesscontext.DBAccessContext
import com.scalableminds.util.tools.{Fox, FoxImplicits}
import com.scalableminds.webknossos.datastore.rpc.RPC
import com.typesafe.config.ConfigRenderOptions
import io.swagger.annotations.{Api, ApiOperation, ApiResponse, ApiResponses}
import javax.inject.Inject
Expand All @@ -23,8 +22,7 @@ class Application @Inject()(multiUserDAO: MultiUserDAO,
releaseInformationDAO: ReleaseInformationDAO,
conf: WkConf,
storeModules: StoreModules,
sil: Silhouette[WkEnv],
rpc: RPC)(implicit ec: ExecutionContext, bodyParsers: PlayBodyParsers)
sil: Silhouette[WkEnv])(implicit ec: ExecutionContext, bodyParsers: PlayBodyParsers)
extends Controller {

@ApiOperation(value = "Information about the version of webKnossos")
Expand Down
2 changes: 0 additions & 2 deletions app/controllers/Controller.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import com.mohiva.play.silhouette.api.actions.{SecuredRequest, UserAwareRequest}
import com.scalableminds.util.accesscontext.{AuthorizedAccessContext, DBAccessContext}
import com.scalableminds.util.mvc.ExtendedController
import com.scalableminds.util.tools.Fox
import com.scalableminds.webknossos.datastore.controllers.ValidationHelpers
import com.typesafe.scalalogging.LazyLogging
import models.user.User
import oxalis.security.{UserAwareRequestLogging, WkEnv}
Expand All @@ -17,7 +16,6 @@ import scala.concurrent.ExecutionContext
trait Controller
extends InjectedController
with ExtendedController
with ValidationHelpers
with UserAwareRequestLogging
with I18nSupport
with LazyLogging {
Expand Down
Loading

0 comments on commit 47b95b7

Please sign in to comment.