Giter Site home page Giter Site logo

perseids-project / digital_milliet Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 4.0 22.62 MB

The Digital Milliet

Home Page: https://digmill.perseids.org

Python 8.49% CSS 26.31% HTML 4.59% JavaScript 53.04% Makefile 0.06% Puppet 0.30% Shell 0.04% Dockerfile 0.04% SCSS 7.14%

digital_milliet's People

Contributors

annakrohn avatar balmas avatar ponteineptique avatar zfletch avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

digital_milliet's Issues

Don't save an empty image annotation

if you edit an entry which doesn't have images, you get a nice ui to add one, but this adds an annotation to the images [] set for the record which has an empty body (it has a dc:publisher with an empty string)

Should validate the image annotation on save and only add it if it's populated.

possible to corrupt a translation entry

Reported by Spiros:

So I logged in to review entry 289 last night around 2 o'clock in the morning, and I did it successfully in terms of correcting and amending the commentary, the bibliography and the French translation. But when I tried to correct the English translation, which, by the way, was only an e-mail address to Perseus I think and not the text of the translation, the system blogged and I received the following message:

β€œThe server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error.”

Looking at the database, the entry for the english translation did not conform to the correct structure. The code assumes that if the hasBody of a translation is text then it will be a CTS URN and if not, then it will be an object with chars and lang attributes. This was neither -- it was the text of the translation Spiros entered. It should not be possible for the edit form to save an invalid data structure, so this needs to be investigated.

Also noted that some of the annotation ids seem a little weird - i.e. invalid english translation had an id of digmilann.5404602 rather than a full CITE URN.

add a delete option

it would be good to be able to delete annotation documents from the edit ui

Linking commentary and Mirador Annotations

Where in the model would you like me to add the link between an annotation and the model ?

[{
	"@context": "http://iiif.io/api/presentation/2/context.json",
	"@type": "oa:Annotation",
	"motivation": [
		"oa:commenting"
	],
	"_id": {
		"$oid": "591ad46c87407e232f03fb97"
	},
	"on": [
		{
			"@type": "oa:SpecificResource",
			"full": "http://gallica.bnf.fr/iiif/ark:/12148/btv1b8304485j/canvas/f1",
			"selector": {
				"@type": "oa:Choice",
				"default": {
					"@type": "oa:FragmentSelector",
					"value": "xywh=5355,1538,1607,1329"
				},
				"item": {
					"@type": "oa:SvgSelector",
					"value": "<svg xmlns='http://www.w3.org/2000/svg'><path xmlns=\"http://www.w3.org/2000/svg\" d=\"M5355.44812,1625.14423l803.31731,1241.49038l803.31731,-861.74038l-686.47115,-467.38462l-920.16346,43.81731l0,87.63462l861.74038,1197.67308\" data-paper-data=\"{&quot;strokeWidth&quot;:1,&quot;editable&quot;:true,&quot;deleteIcon&quot;:null,&quot;annotation&quot;:null}\" id=\"rough_path_04b19925-49d8-4d3f-b4bf-050bd885017d\" fill=\"none\" fill-rule=\"nonzero\" stroke=\"#00bfff\" stroke-width=\"1\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\" stroke-miterlimit=\"10\" stroke-dasharray=\"\" stroke-dashoffset=\"0\" font-family=\"none\" font-weight=\"none\" font-size=\"none\" text-anchor=\"none\" style=\"mix-blend-mode: normal\"/></svg>"
				}
			},
			"within": {
				"@type": "sc:Manifest",
				"@id": "http://iiif.biblissima.fr/manifests/ark:/12148/btv1b8304485j/manifest.json"
			}
		}
	],
	"resource": [
		{
			"@type": "dctypes:Text",
			"format": "text/html",
			"chars": "<p>Test 2</p>"
		}
	]
}]

active language tab should match language displayed

commit 22d7a4b improved language handling but we need to make a tweak to make sure the active tab gets set to the right language

Eg. if an entry has only a french translation and not an english, the english tab is active even though it's the french that is displayed.

probably a minor javascript fix is all that's required.

Glossary for terms

Different from tags, just general terminology that some people might not know. Link to from words

deploy at root path

now that it's a single service, we should deploy the app at the root path of the server.

Implement Tagging

Perhaps put together quick system for this as stop-gap until we can get it working in Perseids.

document the application

Items to be documented:

  • installation
  • use cases for the application
  • CTS based data entry/edit workflow
  • mongodb schema and annotation model
  • application/deployment dependencies
  • step-by-step guide to using the digital milliet + perseids client apps to create a cts+oa+iiif publication

externalize the collection names

Author records are now stored in the db collected named according to the AUTHORS_COLLECTION config file setting. It would be nice to externalize the names of the commentaries and mirador collections as well.

Phase 2 Workplan

The Phase 2 work has the following main goals:

  1. Add unit tests and documentation to the code so that it can be packaged and reused by other projects and developers
  2. Work towards further integration into the Perseids infrastructure to take advantage of upcoming semantic annotation functionality
  3. Add support for displaying and annotating images via IIIF

Assuming we continue with current plans for the CapiTaiNs Nemo application in Perseids, the immediate term vision for the digital milliet application would be for it (and perseids-client-apps), to be refactored as a Nemo plugins. However, given that most of the work has to take place in July and that the Nemo plugin docs need further work before they can efficiently guide developers unfamiliar with the code, we need to do this refactoring in stages.

I've setup 3 milestones in the issues list which cover goals 1 and 2, and suggest we proceed in this order:

Milestone 1: Fix outstanding bugs, add unit tests of all existing functionality and framework for documentation

Milestone 2: Refactor as Flask Extension, add missing routes, and move CTS passage retrieval from client to server.

Milestone 3: Document, package, deploy

The work in Milestones 1 and 2 will lay the groundwork to ease the eventual refactoring as a Nemo plugin without tying us to that approach in the short term.

Image support will come after Milestone 3, as will continued integration with the Perseids and CapiTaiNs infrastructure. The latter will bring along user authentication and semantic annotation, both of which are actively being worked on through Perseids in parallel with Milestones 1-3 here.

cleanup the commentary targets

due to a change mid development, commentary targets in the data take any of the following forms

  • a single URN string
  • an Object containing Markdown text
  • an Array of a URN string (possibly empty) and an Object containing Markdown text

The code now always creates the last of these whenever a new commentary is added, or an existing commentary is edited.

We should clean up the data so that it's consistent, and insert the URNs when they are known.

author search

perhaps save additional mongo docs that are just author name, works, and ids? or do I add to the current mongo docs?

Editing page

Create a quick means of editing submitted entries.

Refinement of handling of multiple images

  1. it would be nice if the image viewer gave some indication of whether multiple manifests are available. I can't see anyway to determine this other than by clicking on add slot

  2. if possible it would be good to hide or remove the "Add new object from URL" option from the Mirador viewer, since we don't allow editing of the manifests in this view.

If these require changes in Mirador code, we they can be postponed to a later phase, just noting them for now.

accomodate alphanumerics in cite urns for dig mill commentary

it seems its possible for invalid cite urns to be assigned to commentary items. For example, we have this:

urn:cite:perseus:digmil.76a.c1

which was causing the app to fail in process_comm. I've caught the error now (see 78cbe7f) but we need to investigate how this occurs and prevent it.

Rrevent creating new annotations if user isn't logged in

it would be nice if we could hide or remove the ability for users to create new annotations on images in the mirador viewer if they aren't logged in. It seems the ability edit or delete existing annotations is alreayd triggered by that, but the new annotation features are still there. saving doesn't do anything but it also doesn't warn the user that it won't.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.