Future home of Recogito v2.0.
- 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.)
- Create a copy of the file
conf/application.conf.template
and name itconf/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
.
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.
- 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 - typeactivator playGenerateSecret
.
- 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.