Opened 18 years ago
Closed 17 years ago
#326 closed task (fixed)
Mass annotation plug-in
Reported by: | Johan Enell | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | minor | Milestone: | BASE 2.4 |
Component: | coreplugins | Version: | trunk |
Keywords: | Cc: |
Description (last modified by )
There should be a plugin for doing anotation of item from a file. The file should/could be a tab-separated list where the first column is the item and the following columns is the annotatinos types.
i.e.
Sample | ann1 | ann2 |
sampleA | 1 | yes |
sampleB | 8 | no |
The plugin will know in what context it is run from so the user doesn't have to specify that in the file. The fist column can just be named "name" (or anything).
I was thinking to implement this plugin based on the FlatFileParser used by most other import plugins. The plugin should be usable both with and without a configuration. If used without a configuration it works like this:
- The user selects a file and sets the regular expressions to parse it, possible with help from the "Test with file" function.
- The plugin parses the file to get the data headers. Each header can now be mapped to an annotation type. One column should be mapped to either the name or the external ID of the item to annotate. The plugin should try to match the header names with annotation types to provide a default mapping.
Multiple valued annotations: Either map two or more columns to the same annotation type or use more than one row for items with multiple annotation values.
Finding the items: We must use the name or external ID to find items. Since neither has to be unique there is a possibility of more than one match. This could be an error condition or we could annotate all items. If no item is found it could be an error condition or we could just ignore it. There should also be options to specify which items to search: owned, shared, in active project, etc.
Error handling: Invalid annotation values could be considered an error condition or ignored.
Replace vs. add or update: There should be an option to specify if annotations that can take multiple values should be replaced or if we should just add new values. If the annotation can only take a single value there should be an option if the value should be updated or not.
Using with configuration: A configuration should store regular expressions and mappings. The user has to select a file and specify other options. It should be possible to override the regular expressions and mappings.
Change History (10)
comment:1 by , 18 years ago
Milestone: | BASE 2.x+ → BASE 2.2 |
---|---|
Version: | → trunk |
comment:2 by , 18 years ago
comment:3 by , 18 years ago
Milestone: | BASE 2.2 → BASE 2.x+ |
---|
comment:4 by , 18 years ago
Milestone: | BASE 2.x+ → BASE 2.4 |
---|
comment:6 by , 17 years ago
Description: | modified (diff) |
---|
comment:7 by , 17 years ago
Summary: | Mass annotate → Mass annotation plug-in |
---|
comment:8 by , 17 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:9 by , 17 years ago
comment:10 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
If the plug-in can figure out in what context it is run it will be easier to use and when reducing the workload from the user it will also (hopefully) be less error prone.
How do the plug-in know in what context it is in?
The plug-in gets the context from the job configuration so when the method config(GuiContext context, Request request, Response response) with the request command Request.COMMAND_CONFIGURE_JOB the context should be saved for later use. Store it as a parameter in AbstractPlugin.job.