Giter Site home page Giter Site logo

digirati-co-uk / madoc-platform Goto Github PK

View Code? Open in Web Editor NEW
49.0 12.0 14.0 15.29 MB

A platform for the display, enrichment, and curation of IIIF-based digital objects

Home Page: https://docs.madoc.io

License: MIT License

Dockerfile 0.06% Shell 0.15% HTML 0.04% PHP 0.02% JavaScript 0.34% TypeScript 98.63% PLpgSQL 0.68% Makefile 0.01% CSS 0.09%
madoc-platform digital-objects iiif transcription annotation-server enrichment w3c hacktoberfest

madoc-platform's Introduction

Madoc

This documentation is for the 2.x version of Madoc. The legacy Madoc is available on the v1.x branch.

LICENSE

MIT License

Copyright Digirati Ltd. © 2018-2021

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

madoc-platform's People

Contributors

davyverbeke avatar dependabot[bot] avatar donaldgray avatar garyttierney avatar heather0k avatar ionab avatar mattmcgrattan avatar nlw-paulm avatar robmarch2 avatar stephenwf avatar tomcrane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

madoc-platform's Issues

Breadcrumb and button consistency

Breadcrumb!
The 'all collections' link in the breadcrumb goes to a collections/all page, but this only shows a few of the collections. However the 'All collections' button above the breadcrumb shows all the actual collections. These two should goto the same place and show all the content.

TAGS:NLW, BUG

Is it possible to annotate imported canvases?

I run the madoc-example-config with docker. All configurations are kept as default. After I follow the documentation to sucessfully import the Scottish Bridges collection and its built-in manifests and canvases. On a canvas media page (for example: admin/media/273), however, I cannot annotate either bookmark with the [email protected] account. The screenshot is as below:
image

I also check the default site settings (admin/site/s/default/settings), annotation studio & crowdsourcing features should be OK and kept as default.
So why?

mysql error on start

I am using Vagrant and Virtualbox on Win 10. I have been having issues getting the omeka install to work. After running madoc init and then madoc start I get the following error.

Some installation requirements were not satisfied.

An exception occured in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not know

I downloaded a new box (cognacbox),
vagrant up
vagrant ssh into the machine
Install docker and docker-compose
git clone the madoc repo
run bin/madoc init
run bin/madoc start
goto http://localhost:8888/install

here is a Gist showing the output from bin/madoc start (note i had run madoc/start and madoc/stop before)
https://gist.github.com/NLW-paulm/0f1cd3b0ed22ba1585e69a431ad4f818

here is a Gist of the output from bin/madoc logs
https://gist.github.com/NLW-paulm/f18826529e6352176bcc2d55ea66c988

Autosuggest Tags not suggesting

Gle - Tags
When you type something, no auto-suggestions show.
The box expects you to select something, therefore anything you type does not count as input or a selection, so the 'next' button doesnt become active to move onto the next stage.

TAGS: NLW, BUG

Upgrade to the latest Omeka S version?

Madoc platform seems to be using its own copy of Omeka S. If one wants to upgrade to the latest Omeka S version, would that be possible, and if so, how?

Interact with this document

The options under interact with this document, Mark as Complete, Bookmark, Flag are missing for some users.

This is an odd one, because the first time I tested, these appeared, last week when the volunteers reported it I also did not get the menu when logging in, but today it appears to be back.

Im leaving this bug here until I can capture more information from the volunteers, as its seems to come and go and maybe in specific circumstances only.

Translate capture models inside of Omeka

At the moment you can translate capture models externally by providing a PO file for each. Since Omeka has added locale to the Omeka items, we should switch this over to use those and select the correct language values based on this when serving up the capture models.

The capture models will still use the header to request the correct locale to avoid canonical URL issues and generator values.

Status Bar on images

The Green, Orange, Red status bar that used to appear under images to show if they had been started or not are missing.

Configuration for pulling translations upstream from Transifex

The old module provided the following through an environment variable OMEKA__TRANSIFEX_KEY and also module configuration:

    'transifex' => [
        'apikey' => getenv('OMEKA__TRANSIFEX_KEY'),
        'secret_key' => '-unused-',
    ],

These should be moved to the module configuration and used only when Transifex is enabled.

Allow page blocks / media to be translated inside of Omeka

Page blocks will be translated inside of Omeka if this is shown to be possible. You will be able to add more than one page block to a page, one for each locale, and choose wether to display all of the blocks with the different locales, or to only show a block when the end-user navigating the site's locale matches the resource.

Alternatively, an exporter will be configured to export the contents of the media blocks into the .po files in #77 and translated externally. It's possible that both options can be made available in the future.

error if Madoc Dropdown default input translated.

If when creating a content model field of type madoc:dropdown the uiInputDefaultValue is translated.

PB-Type-of-Page-·-Items-·-NLW

This then leads to an error on the front end with rendering the drop down when a user selects a previously input annotation. However it does not cause an error on initial load and input of annotation.

Photo-Books-Ffoto-·-p-3-·-Llyfr-Ffoto-J-L-Thomas-Album-2-·-NLW

You can see examplers on this page by clicking on the first annotation by 'Gwyneth' https://torf.llyfrgell.cymru/en/s/hwiangerddi/manifests/view/60465/62570
and here
https://torf.llyfrgell.cymru/s/ffoto/manifests/view/40886/43731

As the Default Value doesnt show anyway on the front end, we have removed the translation for now so recently added data doenst through the error although without being able to remove old annotations, it means the error shows up a fair bit.

Restrict to 1 annotation per canvas.

Is it possible to restrict Madoc to only allowing one annotation per canvas? This annotation can be edited, but there is only one annotation. We have an edge case where a user wants a single authorative record per canvas, although people can edit and add too that single annotation. This would allow them to export one annotation per canvas with all the information they need.

Tags NLW, Enhancement, Question.

Note - as an enhancement, there will be a cost to this, please let us know what this might be and I can pass it onto people involved.

Add locale to annotation studio configuration

At the moment there is not any configuration passed down to the annotation in the templates. We need to add locale option to the core component so that the context of the whole Annotation Studio changes to the configured language.

Profile page - bookmarks,stats.

When a user adds a bookmark, how do they access them? They should appear in the profile page, but items bookmarked do not appear anywhere, also the stats that used to show on the user profile page are not visible any more.

Tags: NLW, BUG, API?

Annotations server not starting in current docker-compose installation

What I did

  • I ran madoc init and madoc start
  • I navigated to localhost:8889

What did I expect

  • To see the annotation server

What did I see

  • I saw the Tomcat successful installation page If you're seeing this, you've successfully installed Tomcat. Congratulations!

The other components have set-up and configured properly but the annotation server doesn't seem to have kicked in. I haven't changed any of the .env files, the documentation suggests a different port but I can see from the docker-compose file that it should be on 8889.

I'm not sure how to move this one forward.

Ensure modules are translatable

Ensure string literals in custom templates and forms have @translate annotations or translate() functions around them. This will be tested with the extract tagged strings code that will extract from phtml, php and twig files.

Navigating to a canvas page after a IIIF manifest import displays error

What I did:

  • I used the base install of madoc-platform, running madoc init and madoc start with no changes to the config
  • I logged as the admin user
  • I selected Create IIIF Manifest from the side panel and left all other items blank
  • I clicked Add
  • I monitored the IIIFStorage\Job\ImportCanvases until the status was Completed
  • I ran an empty search on the front end
  • I see all of the item results
  • I click on one result

What I expect to see:

  • A view related to the IIIF item

What I see instead:

  • An error Omeka S encountered an error
  • The log file says: "2019-06-24T11:36:50+00:00 ERR (3): TypeError: Argument 2 passed to IIIF\Model\Canvas::__construct() must be of the type string, array given, called in /srv/omeka/repos/iiif-php/src/Model/Canvas.php on line 190 and defined in /srv/omeka/repos/iiif-php/src/Model/Canvas.php:62"

What I've done to fix it:

  • I've removed the type-hint from the $label variable as the IIIF ImportCanvases job has created arrays here.

Error when registering a new user

Adding a new user works, but then no email is sent to the new user. Instead, this throws an error (see screenshot below). Could this be due to SMTP mis-configuration?

image

forgotten password page not translatable

Within the Omeka translations file we have the strings for the forgotten password page translated. However they only appear in English.
It appears that the lang param is not being passed to that page, as even going to that page from a /cy/ site, after inputting the forgotten password details its returns you to the English site too.

We want to translate this page
https://torf.llyfrgell.cymru/forgot-password

The link to it is on this page (welsh language)
https://torf.llyfrgell.cymru/cy/s/hwiangerddi/login

Once you input an email it then returns you to the english side, the cy is missing from the url even though you went to it from a Welsh page (Which is why i think its dropping the lang identifier.)

https://torf.llyfrgell.cymru/s/llgc/login

Semi Colons in content model labels cause issues

If a semi colon (for example in a time) is used the label or description for a content model, it leads to the label being truncated when shown to a user. After saving the field, the label appears to work but on the preview and the content model a user sees during their task the label is truncated and only shows everything after the colon.
https-madoc-nlw-digtest-co-uk-s-llgc-crowdsourcing-admin-projects-3-model-document

Auto Suggest existing names

When adding a person in the Kyffin model, it would be good if that persons name has been added before, its auto suggested, this would mean the same person is being linked too and could be tied to an index of people. However, the input box would have to allow freetext and the autosuggest entries which currently isn't possible (see tags bug)

Tags nlw, feature-request/enhancement

Extending Madoc by adding modules

Hi,

I'm trying to work out how to add modules to Madoc to extend functionality.

The structure differs quite a lot from the default Omeka S installation. It seems to be that all of the modules are in the repos/ but adding a new module here doesn't seem to get picked up by Omeka's autoloader.

Do I need to declare a module explicitly somewhere else or am I simply placing it the wrong directory?

Thanks for your help :)

Add Welsh (UK) ISO language code

I note in the latest version of Madoc the language code for Welsh is cy, however a lot of the manifests we have imported have identified that language strings for Welsh cy-GB were found in content we imported. (Welsh UK) So we cant align/add this with our Core welsh language translations.
Would it be possible to either replace the Welsh language cy folder with one called cy-GB, or add an aditional language as Welsh (UK).

We can create a new pull request with the core language file in this folder too.

NLW: [Data] Madoc migration

The overarching requirement is to move the entire NLW stack and project set to Madoc.

Core Requirements

  • Migrate existing Omeka S database to Madoc data model
    • External manifests and canvases with canvas routing table and 1 item per manifest to one item per canvas, with items and item sets for manifests and collections.
    • Existing statistical or other information currently carried on the canvas routing table, to equivalent information stored on the Omeka Items (per canvas / per manifest)
  • Module updates for any non-updated Omeka S modules which are required by the NLW platform but not currently already updated for Ghent.
  • Translation solution [this is captured by a separate set of issues, but included here for reference]
  • Scale / performance testing and validation for an NLW sized installation with IIIF resources as Omeka Items, and thumbnails stored internal to Omeka.
  • Review and mitigation of issues that might arise from the same canvas being present in more than one project.
  • Review and mitigation of issues that may arise from https://github.com/digirati-co-uk/madoc-roadmap/issues/21 - use of shallow clone @id or the source/origin @id.
  • Review and mitigation of issues that might arise from the changes in the Madoc page blocks and elements versus the original NLW Theme module (which provides related functionality).

Acceptance Criteria

  • NLW IIIF Content available in Madoc with the new data model
  • NLW Capture models available in Madoc with any changes required to model
  • Basic navigation up and down between collection, manifest and canvas working
  • Thumbnails present and visible
  • Save to Elucidate working, and reload/edit of existing annotations working
  • Modules not already migrated to Madoc, if required by NLW functionality, will be migrated. Shibboleth already out of scope, and translation and multi-lingual work is explicitly part of WP2.
  • Existing functionality for carousels, thumbnail strips, pagination, etc may have a different look and feel (changes delivered in a later work package or work packages) or may be absent pending work explicitly identified as part of WPs 2, 3, 4, or 5.
  • Omeka S theme may not exactly replicate the theme used on current crowds.library.wales site, pending template work identified in a later package.

Additional Issues

Captured here for completeness, but not part of WP1, to support new features (so not part of WP1, but required for WP4, stats):

  • Update the use of capture models by the madoc_oa_flask code, delivered as consultancy last year, that generates open annotation and/or vanilla non draft format annotations, to support any multilingual changes (for WP2, not WP1) and any changes to models (done for WP1).

10 annotation limit

The limit of 10 annotations per page has been fixed and tested on the new site, so we know its working fine. However canvases that definitely had more than 10 annotations on the 'live' site are still only showing 10 annotations on the new site.

So it's possible during import the 10 limit, prevented all the annotations being brought across.

This item should have more than 10 annos
https://omeka.nlw.digtest.co.uk/s/livingstone/collections/view/16520/1525/9543

TAGS: NLW, API,

GLE Date picker

On GLE the date picker (Whole Photograph -> What is exact date) defaults to 2019, but as these projects are all based on old photos/documents is it possible to preset the date in the datepicker as part of the content model?

Tags:NLW, Feature request/enhancement

Unmarking pages

Once a page is marked as complete, how do we unmark it to make changes or edit it?

Also and this maybe related to unmarking annotations, with the new site, are we still creating draft annotations, and then having to put them through a process to make them complete?

Tags:NLW, Question, Bug

Export .po files to be translated externally

Using the extract tagged strings and exporters for things like navigation, export a .po file that will allow the translation of Madoc modules. This will work along side #76 to be reimported when edited

Date Taken import issue

Capture model - ON GLE Whole Photograph - what date was this taken.

Each year is listed as its own selection except for 1962-1978 which is one line/selection, these should each be listed as individual years.

import issue.

Yes, this can be fixed in Admin, but being noted here for next import otherwise we will be in same situation and maybe a bug in importer that will affect other lists/dropdowns.

Tags NLW, Bug, API

Add configuration per-site for turning internationalisation on or off

Allow each site to be configured for internationalisation or not. Allowing internationalisation will change the URL of the sites to include the locale. /s/some-site to /en/s/some-site. You can also switch this off and choose to redirect the URLs that contain the locale to URLs that do not.

Items marked as complete - cant edit

On the live site we can un-mark completed items for editing. But this is not possible on the new site on either the live data or mutable. Items that can be un-marked on the live site are just locked on the new site.

Also are annotations still in draft status on the new platform?

Tags: Bug, NLW.

Transcrber vs transcriber

There is an issue if a users account type is set to Transcriber (with a capital T), it throws an error when that person logs in or tries to view anything after logging in.

However the Omeka Admin defaults to a Capital T when editing a user, which may cause problems if a user type is changed in the admin, There is one user with a capital T account.

Capture model missing steps

On the new test site, the Kyffin project should have 3 initial steps,
Transcribe an entry,
Highlight a person,
Highlight a place.

The highlight a place step is missing from the test site.

Live Site
image

Test Site
image

Errors related to annotations

Clicking on one of the following buttons results in an error:
Bookmark
Flag as inappropriate
Mark as complete.

Also saving annotations seems to fail quite often.

image

External translation of page blocks

  • Add new checkbox on page blocks "translated externally"
  • Add button to export page blocks with that option selected per site
  • Support for site-specific translation loading on disk ./translations/sites/site-id/*.po
  • Ensure current page blocks have translate() tags around fields.
  • New Translatable page block interface with getTranslatedFields() option.

Allow site navigation to be translated

Adapted from original approach, unless there is some way to do this inside of Omeka. It is likely these will be included in the export provided by the internationalisation module.

Users cant use site once registered

When a user registers it sets the user role to 'transcriber' however the system is expecting 'Transcriber' (with a capital T). Because the user is then logged in, any page it tries to access is shown an error

/srv/omeka/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php /srv/omeka/index.php Zend\Permissions\Acl\Exception\InvalidArgumentException: Role 'transcriber' not found in /srv/omeka/vendor/zendframework/zend-permissions-acl/src/Role/Registry.php:106 Stack trace: #0 /srv/omeka/vendor/zendframework/zend-permissions-acl/src/Acl.php(728): Zend\Permissions\Acl\Role\Registry->get(Object(Omeka\Entity\User)) #1 /srv/omeka/application/src/Permissions/Acl.php(87): Zend\Permissions\Acl\Acl->isAllowed(Object(Omeka\Entity\User), 'PublicUser\\Cont...', 'create-password') #2 /srv/omeka/application/src/Mvc/MvcListeners.php(429): Omeka\Permissions\Acl->userIsAllowed('PublicUser\\Cont...', 'create-password') #3 /srv/omeka/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Omeka\Mvc\MvcListeners->authorizeUserAgainstController(Object(Zend\Mvc\MvcEvent)) #4 /srv/omeka/vendor/zendframework/zend-eventmanager/src/EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure)) #5 /srv/omeka/vendor/zendframework/zend-mvc/src/Application.php(332): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent)) #6 /srv/omeka/index.php(21): Zend\Mvc\Application->run() #7 {main}

We have created a number of users to test this and all seem to be created as transcriber, regardless of which site is used. We have left one user with this role so it can be viewed/investigated. This seems to have been introduced in the last week or so.

User role is set to 'Transcriber' in the site settings.
Tags #bug, #nlw

Mark as complete button

The mark as complete dialog popup contains a dark grey button with black text to 'Mark as Complete'. Can this be changed to be readable?

(We are aware this is changeable via CSS in the theme footer, but feel its a platform issue, rather than having to do a 'fix' on each site we use.)

TAGS: Bug, NLW

Flag as innapropriate

The flag as innapropriate link only shows when a user logs in (Mostly see bug #60).

However this action should be available to anyone using the site, not just logged in members.

Also when a user fills in the form to submit an innapropriate item, the form works fine for Admins, but throws an error is the user is logged in as a transcriber.

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.