Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Projects feature #222

Closed
albertocottica opened this issue Dec 22, 2021 · 2 comments
Closed

Projects feature #222

albertocottica opened this issue Dec 22, 2021 · 2 comments

Comments

@albertocottica
Copy link
Member

albertocottica commented Dec 22, 2021

"Protect projects from modifications of the codes by researchers in other projects" (original title before edit)

Currently, the same codes are available across all research projects on edgeryders.eu. So, it has happened that the same code used by one project was renamed, split and/or merged by researchers in a different project. This is problematic, because it means that the researchers in project A can change the network of codes co-occurrence in project B.

We therefore need to protect each project. To a first approximation, a project could now be identified not by a Discourse tag like ethno-projectname, but by a project entity in the database. It would still be possible to pull existing codes from project A into project B, but this would now create a copy of the codes in question. All annotations with the original code would also be duplicated and assigned to the duplicate code. The latter could then be renamed, split or merged; the duplicate annotations could be removed as needed (for example, if the definition of the code in project B changes). None of this would influence the codes and annotations in project A.

@damingo
Copy link
Member

damingo commented Nov 10, 2022

I noticed that there are 536 topics tagged with more than one (between 2 and 5) ethno- tags.

The db structure looks like this (I skipped posts as they are not relevant and added the new "project" model):

annotations-structure

To isolate codes by means of projects we will have to create copies of the codes and all of the codes dependencies (names, localized-codes, annotations, ranges), whenever a topic is tagged with more than one ethno- tag.

For a topic tagged with three ethno- tags we associate the existing codes with a project with the same name as one of the ethno- tags and create two additional copies of the codes and all their dependencies and associate each of them with the project whose name matches the ethno- tag.

So only when a topic is tagged with more than one ethno- tag we need to create copies of the codes and their dependencies. If a topic is only tagged with one ethno- tag we can simply create a project with the same name as the ethno-tag and associate the relevant codes with this project.

@albertocottica, @tanius shall I proceed to implement it like this or do we need a different solution?

Note: I will not push anything to production unless we have sufficient backups and the changes are approved by you as this significantly changes the annotators data.

@tanius
Copy link
Member

tanius commented Jan 23, 2023

To isolate codes by means of projects we will have to create copies of the codes and all of the codes dependencies (names, localized-codes, annotations, ranges), whenever a topic is tagged with more than one ethno- tag. […]

shall I proceed to implement it like this or do we need a different solution?

For reference, this is the solution that we decided to implement, and that @damingo implemented now. I'm still updating the documentation, and there are a few kinks that will be ironed out in dedicated issues. But:

The good news is, the "project" feature of Open Ethnographer is live now, already deployed on edgeryders.eu and all the Edgeryders Communities platforms that use Open Ethnographer. No data was lost. If anyone is missing some of their codes and annotations, have a look into the project named "z--orphaned-annotations". These were collected from topics without any ethno- tag, which meant we could not know into which corpus they were meant to go.

Closing this as "finally done" 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants