Hi, I moved all your other posts on various threads here to keep the discussion in one place – since the’re all related to a similar usage questions, it’s easier to answer that way.
This is definitely correct. To use a template, the view_id
needs to be set to 'html'
. How does your template_text
look? And what data are you streaming in?
You can find some examples of HTML templates and what’s possible using Mustache variables in the docs. Definitely check that the keys present in your incoming stream match the variables you’re using in your template. (It’s difficult for me to give you a definitive answer without seeing the template and data.)
Maybe the terminology is a bit confusing here – a custom HTML template will render your own HTML markup in place of the “annotation card” in the center, i.e. where the current question is presented. It won’t overwrite the entire page (because that would be very difficult). You can always create custom themes, tweak the front-end via user scripts or custom JS (currently experimental) or replace the front-end entirely and only communicate with Prodigy via the REST API (details see below).
If you’re looking to add extra pages, like, a subpage or a completely different screen, no, that’s not possible. Prodigy is a simple, one-page app and focuses on the essentials needed for the annotation task. However, you can replace the front-end entirely if you want to. The documentation includes detailed specs of the REST API that’s started with the Prodigy server. So your custom app can interact with the Prodigy back-end, e.g. by making requests to /project
, /get_questions
and /give_answers
. )However, this does mean that you have to develop your own web app more or less from scratch.)