opencarecc / graph-ryder-dashboard

A dashboard for exploring and summarizing an online forum with ethnographic coding
http://opencare.cc
Apache License 2.0
3 stars 1 forks source link

Links to comments in context now broken #26

Closed albertocottica closed 6 years ago

albertocottica commented 7 years ago

Edgeryders moved to a new platform based on Discourse. Discourse has a different URL naming convention from Drupal, so the links present in GraphRyder (for example: https://edgeryders.eu/comment/28348#comment-28348) are broken.

jason-vallet commented 7 years ago

Ok, as of now, I can not fix this properly. In the website html source, Discourse does not provide anchors based on the comment id so I cannot simply reuse the trick I had previously going on to access to the comments directly.

We can still access the comments using urls like: https://edgeryders.eu/t/6258/11 to get the 11th comment on the post ided 6258, but because the order of the post is not solely based on the creation date but also on the thread structure, adding a new response to the first comment will shift all the following comments' indexes. It means that new activity unreported on our side will make the proposed links redirect to the wrong content.

Is there a way to add the comment's id as id markup to the webpages?

jason-vallet commented 7 years ago

Additionally, the most recent posts also propose broken links. I thought that a complete regeneration of the database could fix it by updating the ids to conform with the new system. However, I found out that I can no longer access the views to request the data nor find the admin panel, and consequently neither can GraphRyder so the database is no longer updated.

albertocottica commented 7 years ago

Yes, Jason. This is related to this issue, and will be fixed with it.

The views' URLs will be renamed legacy.edgeryders.eu/viewname. At that point, everything will work.

There is no need to point the links in GraphRyder to the new edgeryders.eu. To see them in context, it will be enough to point them to the old legacy.edgeryders.eu, without any changes in your code other than adding the third-level domain legacy. This will fix things for now (as soon as @tanius redeploys the Drupal site as legacy.edgeryders).

Later, we plan to deploy full API access to the new site and import all of the OpenEthnographer annotations and codes into Discourse (issue). At this point, we will be able to (and should) have GraphRyder query the new website. Only the OpenEthnographer user interface will be missing.

In practice, we will need to fine tune a bit the timeline of (on the Edgeryders side) hardening the new edgeryders.eu and (on the Bordeaux-OpenCare side) adapting GraphRyder to it. It may be that the thing to do now is nothing, or simply removing the dead links.

guywiz commented 7 years ago

Can you develop on "the OpenEthnographer user interface will be missing"? This is of interest in the context of RECODE, as it would give room to rethink how OE works, how codes are organized/hierarchized internally, etc.

?

albertocottica commented 7 years ago

OpenEthnographer is a Drupal module based on Annotator. Annotator code interacts with the user, and our own code reads and writes into the Drupal database. @tanius believes we can re-fork Annotator and make a tool that does the same, but with the Discourse database. Just like the current OpenEthno re-uses Drupal taxonomy terms, the new one will re-use Discourse tags.

The data model for the OpenEthno (and, in general, our "digital ethnography stack") is described here.

tanius commented 7 years ago

In fact, I rather hope we can re-fork Annotator.js and integrate it in a way so it does not rely on the Discourse database, but lives its own life, only "observing" the Discourse site. It's done that way out-of-the-box with the Annotator.js browser extension.

tanius commented 7 years ago

Also @jason-vallet:

because the order of the post is not solely based on the creation date but also on the thread structure, adding a new response to the first comment will shift all the following comments' indexes.

Rather not. These comment numbers in Discourse are permanently valid. A new comment will always be attached to the bottom, and get "latest index plus one" as its number. (Discourse has this rather neat hybrid model of flat and threaded discussions, where the data model is threaded, but the presentation is flat, solely ordered by date.)

jason-vallet commented 7 years ago

Hum, that is not what I see on the posts I looked at. For instance: a first comment https://edgeryders.eu/t/on-microfluidics-data/6258/10 is from May 23rd, a reply https://edgeryders.eu/t/on-microfluidics-data/6258/11 is from May 25th and another comment https://edgeryders.eu/t/on-microfluidics-data/6258/12 is from May 24th, so it has been submitted after the first comment and before the response but still is indexed after the response.

Or maybe it is due to the export from the previous website?

albertocottica commented 7 years ago

In fact, I rather hope we can re-fork Annotator.js and integrate it in a way so it does not rely on the Discourse database, but lives its own life, only "observing" the Discourse site.

Hmm. Will this not break the linked data feature? By this I mean keeping track of all the network links across entities: A is a code to comment B, authored by C, who also replied to thread D, coded with code E...

tanius commented 7 years ago

that is not what I see on the posts I looked at. For instance: a first comment is from May 23rd, a reply is from May 25th

@jason-vallet Ok you're into the details :) Yes, my statement does not apply to imported content – but since it applies afterwards, it still means that comment numbers of imported content do not change, either. The reason we did not order posts strictly by date when importing, rather by flattening the thread structure, is this: the different discussion formats "threaded vs. semi-flat" in Drupal vs. Discourse lead to different content. In Drupal, nobody would care to quote or refer to content because there was threading. So when re-ordering this "the Discourse way" strictly by date, this content becomes very hard to follow when reading through.