Opened 8 years ago
Closed 8 years ago
#940 closed task (fixed)
Release importer
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | critical | Milestone: | Relax v1.0 |
Component: | net.sf.basedb.relax | Keywords: | |
Cc: |
Description
A release importer plug-in or wizard needs to be implemented. It should be able to import a release generated from the Reggie Release exporter plug-in. It should look for the files on a FileServer item.
Change History (36)
comment:1 by , 8 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 8 years ago
comment:3 by , 8 years ago
(In [4368]) References #940: Release importer
The release import plug-in now load and parse all JSON files and create a few items (samples and extracts). So far, only the name and project key properties are set.
This code should be considered proof-of-concept only, and need a lot of re-factoring before it is usable in practice.
comment:4 by , 8 years ago
comment:5 by , 8 years ago
comment:6 by , 8 years ago
(In [4381]) References #940: Release importer
Added support for importing annotation types. Annotation types are created and shared to the active project in the same manner as cohort items. This means that annotation types are only visible in projects(=releases) that they are part of. The project-specific annotation flag is not yet handled.
Parts of the code related to the remote file server has been temporarily disabled or modified to make the plug-in work with files that are located on local file system instead due to not having (easy) access to a real file server at the moment.
comment:7 by , 8 years ago
comment:8 by , 8 years ago
comment:9 by , 8 years ago
comment:10 by , 8 years ago
comment:11 by , 8 years ago
comment:12 by , 8 years ago
comment:13 by , 8 years ago
comment:15 by , 8 years ago
comment:16 by , 8 years ago
comment:17 by , 8 years ago
comment:18 by , 8 years ago
comment:19 by , 8 years ago
(In [4403]) References #940: Release importer
Importing the DataFilesFolder
annotation. We need special handling for this annotation. When creating a new item the default value is always set to the original path. Project-specific values are always created using the release version as a top-level prefix.
For example:
Default value: /S000006/l.r.lib.g/k.a/t Release 0.9: /0.9/S000006/l.r.lib.g/k.a/t
comment:20 by , 8 years ago
comment:21 by , 8 years ago
comment:22 by , 8 years ago
comment:23 by , 8 years ago
comment:24 by , 8 years ago
comment:25 by , 8 years ago
comment:26 by , 8 years ago
comment:27 by , 8 years ago
comment:28 by , 8 years ago
comment:29 by , 8 years ago
(In [4446]) References #940: Release importer
The importer now has support for adding annotations to existing items even if the annotation type is not marked as project-specific. The use case is that the list of annotation types has changed between two releases. Annotations that are new in the later relase are allowed to be set on already existing items. This will not affect the previous release since those annotations are not visible in that release (except if the logged in user is an admin).
In this sense we consider an annotation type to be "new" if it (after importing it) is only shared to the current project.
comment:30 by , 8 years ago
(In [4447]) References #940: Release importer
Resuming after a pause should now be implemented in a more stable manner. There was a risk that the same file was processed twice since there was a rather large gap between the transaction commit and the change of the breakpoint to the next file.
Re-configuration after a pause now checks if the relase version parameter has changed and forces a restart from the beginning in that case since the stored state information is no longer valid.
comment:31 by , 8 years ago
comment:32 by , 8 years ago
comment:33 by , 8 years ago
comment:34 by , 8 years ago
comment:35 by , 8 years ago
comment:36 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(In [4366]) References #940: Release importer
Started to work on a release importer plug-in. It connects to a selected
FileServer
item (we use the generic SSH functionality in the Open Grid extension) and looks for files that the exporter (in Reggie) is supposed to create. Currently it will only count the number of *.json files and check for theexportcomplete
file. Once found the plug-in exits.