Opened 9 years ago

Closed 9 years ago

#1910 closed enhancement (fixed)

Disable annotation inheritance for annotation types

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: major Milestone: BASE 3.5
Component: core Version:
Keywords: Cc:

Description

Since annotations can contain sensitive data it may be a good idea to be able to block annotations to be inherited. This should be a flag on the annotation type that can be either on (=do not allow) or off (=allow).

Changing the flag from off to on should remove all currently inherited annotations for that annotation type.

Note that annotations can also be inherited as part of a complete set and this can of course not be blocked. It needs to be investigated how to prevent using annotation types (eg. in queries, exports, etc.) in a way that makes it possible to bypass the block by inheriting the annotation set instead of individual annotations.

Change History (13)

comment:1 by Nicklas Nordborg, 9 years ago

Owner: changed from everyone to Nicklas Nordborg
Status: newassigned

comment:2 by Nicklas Nordborg, 9 years ago

(In [6728]) References #1910: Disable annotation inheritance for annotation types

Added AnnotationType.getDisableInheritance() which is a flag that if set will disable the inheritance. Schema version is updated and all existing annotation types are set to FALSE.

A permission check when calling AnnotationSet.inheritAnnotation has been implemented and setting the flag with AnnotationType.setDisableInheritance() will trigger a removal of existing inherited annotations.

This should complete the core part of the functionality but we also need some supporting functionality (mainly in the gui).

comment:3 by Nicklas Nordborg, 9 years ago

(In [6729]) References #1910 and #1908.

Batch inherit annotations has been updated to not allow selection of annotation type that has been disabled for inheritance.

comment:4 by Nicklas Nordborg, 9 years ago

(In [6730]) References #1910: Disable annotation inheritance for annotation types

Experiment view page checks if inheritance is disabled before trying to inherit annotations for an experimental factor.

comment:5 by Nicklas Nordborg, 9 years ago

(In [6731]) References #1910 and #1906.

Filter out annotation types which has disabled inheritance when selecting columns for inherited annotations.

comment:6 by Nicklas Nordborg, 9 years ago

(In [6732]) References #1910: Disable annotation inheritance for annotation types

Do not return annotations for annotation types with inheritance disabled when querying for inherited annotations. This is needed since when inhering an annotation set, all annotations would otherwise be included.

comment:7 by Nicklas Nordborg, 9 years ago

(In [6733]) References #1910: Disable annotation inheritance for annotation types

Do not return annotations for annotation types with inheritance disabled when using the SnapshotManager to find inherited annotations. This is needed when inheriting an annotation set, since all annotations would otherwise be included.

comment:8 by Nicklas Nordborg, 9 years ago

(In [6734]) References #1910 and #1906.

Do not show columns for inherited annotations if the annotation type has been disabled for inheritance.

comment:9 by Nicklas Nordborg, 9 years ago

(In [6735]) References #1910 and #1906.

Ingore filters on inherited annotation columns if the annotation type has disabled inheritance.

comment:10 by Nicklas Nordborg, 9 years ago

(In [6736]) References #1910: Disable annotation inheritance for annotation types

Do not include inherited annotation columns in the table exporter if the annotation type has disabled inheritance.

comment:11 by Nicklas Nordborg, 9 years ago

(In [6737]) References #1910: Disable annotation inheritance for annotation types

Do not include annotations for annotation types with inheritance disabled in the manual "Inherit annotations" dialog.

comment:12 by Nicklas Nordborg, 9 years ago

(In [6805]) References #1910: Disable annotation inheritance for annotation types

Updated documentation with some information about this (and about the older feature for disabling change log #1784).

comment:13 by Nicklas Nordborg, 9 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.