Feature #10928
closedFurther GRSF Management panel enhancements
100%
Description
Implemented:
- similar records cannot be added or removed, "merge" is the only allowed operation;
- similar records can be a lot; this has to be taken into account (scrollable panel);
- the panel should offer the possibility to suggest records to be merged (via UUID for now);
- connections can be suggested (the panel will offer the possibility to add the UUID of a record and to inspect its content);
- annotation message is not mandatory;
To be implemented:
handle merge operation:
- involved records' status is immediately set to "To Be Merged";
- KB will perform immediate updates (e.g. Traceability Flag) by keeping the same "To Be Merged" status;
- there is a 24h window to revert the changes: the link will be sent to GRSF Editors and Reviewers (the link format will be decided ASAP to avoid multiple usages). The link allows only to ignore merges (other applied changes must be reverted manually);
- if no revert is asked, the new merged record will be published (its first status will be Pending)(1)
handle revert after successful merge:
- rejecting operation on a record derived from a merge should do it (again, see note 1)
about Connections:
- The KB suggests potential connections through Exploiting Fisheries and Resources Exploited fields (in a stock record and fishery record respectively). It puts there the urls in the catalogue of these records;
- initially the administrator can "Connect" one or more of the suggested records. This means that these will be moved into another field, i.e. "Connected Records";
- From there the "Connected Records" can be either unconnect (the url is put back into the Exploited field) or "Removed"(see note 2);
about notifications:
- actions will be notified via mail to the editor who asked the changes as well as the reviewers (see note 3);
- a post with a proper hashtag will be created in the GRSF Admin VRE to keep track of the changes;
1) This should follow: a new grsf record is created and the oldest removed from the catalogue. The reviewers/editors can still recover the old data by rejecting the newly created record. The reject operation should then remove the merged record and republish the original grsf records somehow.
2) The connections field accepted by the grsf-updater service from FORTH now looks like:
"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "..." }]
We should change it a bit. Something like this may work:
"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "...", "remove" : true/false }]
"Remove" allows to completely remove the record among the connected ones (and it is not put back into the Exploited field). The management panel will NOT send the connections to be "unconnect" (in this case their urls are put back into the Exploited field)
Moreover, the object accepted by the grsf-publisher is still:
"connected": [{ "semantic_identifier": "...", "short_name": "...", "knowledge_base_id": "..." }]
3) On merge and dissect operations a link is sent to editors/reviewers by which they can ask the knowledge base to ignore the operation (no, it won't be put in a post)
Updated by Yannis Marketakis over 7 years ago
Thanks for this Costantino. Based on the information in the description. Let me know if it does make sense to use the following object as a request.
{ "catalog_id": "...", "knowledge_base_id": "...", "old_status": "...", "new_status": "...", "annotation_message": "...", "short_name_old": "...", "short_name_new": "...", "traceability_flag": true/false, "administrator_name": "...", "similar_grsf_records": [{ "knowledge_base_id": "...", "merge": true/false }]"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "..." }] }
and the response remains unchanged. i.e.
{ "catalog_id": "...", "knowledge_base_id": "...", "new_status": "...", "short_name_new": "...", "update_result": true/false, "error_message": "..." }
Updated by Yannis Marketakis over 7 years ago
Furthermore, as regards merging, we could do the following. As soon as there are records to be merged, I can re-publish them with a new status type that you will use as a flag for annotating the records as a record to be merged.
The status could be "to_be_merged". This means that when we republish a record that will be merged it will contain this status and then the publisher service could identify (from the status) that this record will be merged and you will annotate it in a proper way in the catalog.
Let me know.
Updated by Costantino Perciante over 7 years ago
- Status changed from New to In Progress
Updated by Costantino Perciante over 7 years ago
Yannis Marketakis wrote:
Thanks for this Costantino. Based on the information in the description. Let me know if it does make sense to use the following object as a request.
{ "catalog_id": "...", "knowledge_base_id": "...", "old_status": "...", "new_status": "...", "annotation_message": "...", "short_name_old": "...", "short_name_new": "...", "traceability_flag": true/false, "administrator_name": "...", "similar_grsf_records": [{ "knowledge_base_id": "...", "merge": true/false }]"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "..." }] }and the response remains unchanged. i.e.
{ "catalog_id": "...", "knowledge_base_id": "...", "new_status": "...", "short_name_new": "...", "update_result": true/false, "error_message": "..." }
Yep Yannis, it seems ok to me.
Let me just clarify if I got it right with the "connections": once an admin connects a record, there is no way to remove such connection. Is this right?
Yannis Marketakis wrote:
Furthermore, as regards merging, we could do the following. As soon as there are records to be merged, I can re-publish them with a new status type that you will use as a flag for annotating the records as a record to be merged.
The status could be "to_be_merged". This means that when we republish a record that will be merged it will contain this status and then the publisher service could identify (from the status) that this record will be merged and you will annotate it in a proper way in the catalog.
Let me know.
Also this sounds ok to me. I'm just wondering about the involved records. For instance, I'm working on record A and I suggest to merge it with record B. We update both records and mark them as "to_be_merged"; that's fine. The management panel cannot be opened to perform other operations but the revert one (I still need to figure out how I can do it). Now, let's suppose I open record C and I suggest a merge of this record with either B or A (or both): is this allowed? I guess so
Updated by Yannis Marketakis over 7 years ago
Costantino Perciante wrote:
Let me just clarify if I got it right with the "connections": once an admin connects a record, there is no way to remove such connection. Is this right?
I think @aureliano.gentile@fao.org should answer this (if we want to add/remove connections). From the service perspective, I just suggest submitting always the list of connections (so if there are connections to be removed they will simply be absent from the submitted json request).
Costantino Perciante wrote:
Also this sounds ok to me. I'm just wondering about the involved records. For instance, I'm working on record A and I suggest to merge it with record B. We update both records and mark them as "to_be_merged"; that's fine. The management panel cannot be opened to perform other operations but the revert one (I still need to figure out how I can do it). Now, let's suppose I open record C and I suggest a merge of this record with either B or A (or both): is this allowed? I guess so
IMHO, we should somehow prevent merging records that have not been actually merged (i.e. they are in status to be merged).
Updated by Aureliano Gentile over 7 years ago
1) connect records and merge records are two different actions; 2) both actions performed by the management panel should be revertible; 3) merged records and connected records are displayed/referenced also in the GRSF sheet, the merged ones in the data source box, the connected ones in a dedicate field next to the similar records.
Updated by Costantino Perciante over 7 years ago
Thanks for your feedback. I see, but If I'm not wrong we said the all actions but merges do have immediate effects. This means that if one just suggests connections, then the records will be updated immediately. Does the "remove connection" facility still make sense here?
However, I guess it is better to discuss about the workflow in a telco (I will send an email to schedule a date for it)
Updated by Costantino Perciante over 7 years ago
- % Done changed from 0 to 30
- Estimated time changed from 5.00 h to 30.00 h
Updated by Costantino Perciante about 7 years ago
Costantino Perciante wrote:
To be implemented:
- about Connections:
- The KB suggests potential connections through Exploiting Fisheries and Resources Exploited fields (in a stock record and fishery record respectively). It puts there the urls in the catalogue of these records;
- initially the administrator can "Connect" one or more of the suggested records. This means that these will be moved into another field, i.e. "Connected Records";
- From there the "Connected Records" can be either unconnect (the url is put back into the Exploited field) or "Removed"(see note 2); ... 2) The connections field accepted by the grsf-updater service from FORTH now looks like:
"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "..." }]We should change it a bit. Something like this may work:
"connections": [{ "source_knowledge_base_id": "...", "dest_knowledge_base_id": "...", "source_domain": "...", "remove" : true/false }]"Remove" allows to completely remove the record among the connected ones (and it is not put back into the Exploited field). The management panel will NOT send the connections to be "unconnect" (in this case their urls are put back into the Exploited field)
Moreover, the object accepted by the grsf-publisher is still:
"connected": [{ "semantic_identifier": "...", "short_name": "...", "knowledge_base_id": "..." }]
@aureliano.gentile@fao.org could you check if the above steps are correct/make sense?
Updated by Costantino Perciante about 7 years ago
- Assignee changed from Costantino Perciante to Aureliano Gentile
Updated by Aureliano Gentile about 7 years ago
looks good as proposed.
Regarding rejecting a GRSF record merged from two sources: this means that the GRSF rejected record is deleted and the two sources goes back to generate two distinct NEW GRSF records (or back to the formers) in pending status for being re-analyzed and approved/re-merged.
@minadakn@ics.forth.gr @costantino.perciante@isti.cnr.it Please confirm such understanding.
Updated by Costantino Perciante about 7 years ago
Aureliano Gentile wrote:
looks good as proposed.
Regarding rejecting a GRSF record merged from two sources: this means that the GRSF rejected record is deleted and the two sources goes back to generate two distinct NEW GRSF records (or back to the formers) in pending status for being re-analyzed and approved/re-merged.@minadakn@ics.forth.gr @costantino.perciante@isti.cnr.it Please confirm such understanding.
Yes, this is what I understood.
@marketak@ics.forth.gr and @minadakn@ics.forth.gr since the dissect requires 24 hours as well, we should add a new temporary status for a record born from a merge but rejected. Does "To be dissected" sound good to you?
Updated by Nikos Minadakis about 7 years ago
As we discussed yesterday with @aureliano.gentile@fao.org the rejected merged records will be re published not after 24 hours but when the periodical refreshing of the GRSF will take place (one per two weeks for example). So imagine GRSF record A that has been merged from GRSF B ( that comes from source record S1) and GRSF C (that comes from source record S2) then by rejecting this merging the GRSF record is being deleted directly and at the reconstruction of the GRSF KB the records S1 and S2 will produced again GRSF B and GRSF C. So there is no need for flagging or doing anything else.
Updated by Costantino Perciante about 7 years ago
Nikos Minadakis wrote:
As we discussed yesterday with @aureliano.gentile@fao.org the rejected merged records will be re published not after 24 hours but when the periodical refreshing of the GRSF will take place (one per two weeks for example). So imagine GRSF record A that has been merged from GRSF B ( that comes from source record S1) and GRSF C (that comes from source record S2) then by rejecting this merging the GRSF record is being deleted directly and at the reconstruction of the GRSF KB the records S1 and S2 will produced again GRSF B and GRSF C. So there is no need for flagging or doing anything else.
This means that there is no way of reverting the operation, doesn't it? If the administrator rejects the record, then he/she cannot say "no, I was wrong, please ignore this operation" later on
Updated by Costantino Perciante about 7 years ago
- % Done changed from 30 to 50
Let me update this ticket with two new requirements:
- There will be no way of reverting a Reject operation
- Connections will just display the urls of the connected records (as Exploited fields do)
Updated by Costantino Perciante about 7 years ago
- Assignee changed from Aureliano Gentile to Costantino Perciante
Updated by Costantino Perciante about 7 years ago
- % Done changed from 90 to 100
Let's discuss the testing phase in a separated ticket
Updated by Costantino Perciante about 7 years ago
- Status changed from In Progress to Feedback
Updated by Costantino Perciante about 7 years ago
- Status changed from Feedback to In Progress
After a short call with FAO and FORTH (here for the details https://support.d4science.org/projects/stocksandfisherieskb/wiki/18-02-26a-GRSF_validation) the following enhancements are required:
- when suggested connections and merges are shown, they should report the semantic identifier of the suggested records (✔);
- the width and the height of the management panel should be both increased (✔);
- connections must be symmetric (i.e. both the current record and the one "connected" must report this information, FORTH support is needed here) ;
- the GRSF type can be changed by editors/reviewers (✔):
- the json object submitted by the management panel will append "grsf_type_old" and "grsf_type_new" (always, even if no change has been done);
- checks on the correct type will be controlled by the panel itself;
- SDG flag support must be added (✔):
- the grsf-publisher service will accept "sdg_flag" as boolean value when submitting/updating a record in the catalogue;
- the flag could be modified via management panel, thus it will append its current/new value and send it to the grsf-updater service ("sdg_flag" should be fine there too)
- the link for rejecting a merge will open the management panel on the same record and let perform the "rejecting merge" operation by changing the status of the record from "To Be Merged" to "Reject Merge". The "Rejected" status does have a different semantic.
"(✔)" means already done
Updated by Massimiliano Assante about 7 years ago
please @costantino.perciante@isti.cnr.it reassign the ticket to the person responsible for this component from tomorrow.
Updated by Pasquale Pagano about 7 years ago
- Assignee changed from Costantino Perciante to Francesco Mangiacrapa
Updated by Luca Frosini almost 7 years ago
- Tracker changed from Task to Feature
- Project changed from 8 to StocksAndFisheriesKB
- Category deleted (
Default) - Target version changed from WP05 to GRSF
Updated by Francesco Mangiacrapa almost 7 years ago
- Due date set to Jul 27, 2018
due to changes in a related task
Updated by Francesco Mangiacrapa almost 3 years ago
- Status changed from In Progress to Closed
This ticket is too old. New improvements will be managed via new ticket(s).