Code Monkey home page Code Monkey logo

recogito2's Introduction

Recogito 2

Future home of Recogito v2.0.

Prerequisites

  • Java 8 JDK
  • Play Framework v2.5.0
  • To use image annotation, you need to have the vips image processing system installed. If vips is not available on the command line, Recogito is set to reject uploaded images as 'unsupported content'. (Note: on Ubuntu, 'libvips-tools' is the package you need.)

Installation

  • Create a copy of the file conf/application.conf.template and name it conf/application.conf. Make any environment-specific changes there. (For the most part, the defaults should be fine.)
  • Type activator run to start the application in development mode.
  • Point your browser to http://localhost:9000
  • To generate an Eclipse project, type activator eclipse.

Database Configuration

If you stick with the default settings, Recogito will automatically create an SQLite database and an embedded ElasticSearch index, so there's nothing you need to do. However, for production use we recommend a PostgreSQL DB and a separate ElasticSearch installation. Modify your settings in conf/application.conf accordingly.

Running in production

  • To test production mode before deploying, type activator testProd
  • For full production deployment, refer to the current Play Framework docs
  • Be sure to set a random application secret in conf/application.conf. Play includes a utility to generate one for you - type activator playGenerateSecret.

Upcoming TODOs & Questions

  • Refactor some of the bulkier unit tests in the models.place package
  • ElasticSearch gazetteer framework
    • Max number of SHOULD clauses is currently not checked - we should do this in the PlaceStore class to be sure weird gazetteer records don't break the import
    • Implement PlaceLink rewriting after gazetteer updates (using optimistic locking)
    • The place schema doesn't yet include is_part_of relations. Q: how do we deal with incoherent hierarchy relations reported by different gazetteers?
  • Check the build file: do we need 'ws' dependency? Remove Groovy dependency in case we don't use ElasticSearch scripting after all
  • Accordingly, clean up elasticsearch.yml in case we don't use scripting
  • Fix the various compiler warnings introduced with the Play 2.5 upgrade
  • Upgrade to latest ElasticSearch version
  • Deleting a doc currently doesn't delete its annotations
  • Q: do we want people to be able to upload their own gazetteers, for exclusive use within a team. How would we model in ES? One separate index for user gazetteers + owner field + multi-index query? No conflation with "normal" gazetteers?
  • Should we support ingesting URI correspondence lists into the gazetteer? Since those would be close/exactMatches not linked to any gazetteer record, it would mean moving matches to the level of the place itself. (May make sense in terms of query performance anyway)
  • What about documents consisting of a mix of text and image "layers". E.g. scanned image in latin, scanned image in other language, transcription (in differnt languages) - with each layer "linking through" to the others.
    • General Q about "linking through": should this be modeled as a relation between annotations? Or as another type of annotation body ("hyperlink")? (In OA, a link would be modeled as an additional annotation that has two annotations as target I guess? Prob. more complicated than it needs to be. In our case: e.g. a body of type HYPERLINK with a URI? (Disadvantage: we don't know if its an internal link in the same doc or not, unless we parse the URI.)
  • Next steps on text annotation UI:
    • Place body section needs to show: gazetteer URI; gazetteer place type (if any); indication of whether confirmation still needed (in general: do we show validation status?); description; a "change" and "delete" option
    • How do we structure the 'Change' dialog for geo-resolution? In general there's the issue of changing between different gazetteer URIs representing the same place vs. changing the mapping to a different place altogether.

recogito2's People

Contributors

andrew01ait avatar

Watchers

James Cloos avatar

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.