GiellaLT provides an infrastructure for rule-based language technology aimed at minority and indigenous languages, and streamlines building anything from keyboards to speech technology. Read more about Why. See also How to get started, and our Privacy document.
This is the beginning to the top-down documentation for NDS. Though there are comments in the source files, this document is intended to bring those together.
The following things are required to get NDS running on its own
Outside of this, you may want to run NDS with a web server such as apache or nginx.
Will elaborate later, but, wihin the nds-reader directory, I have been
running python -m SimpleHTTPServer
in one terminal, make rebuild
on
changes in another. Then I go to the test html pages at localhost:8000/
A handy tool for running a command while watching for code changes is pywatch
If there is something that doesn’t work within the test html
files, you can
also add a make bookmarklet-install
, and then run the NDS server locally,
go to the read/
page and click the button. This is less ideal because less
debugging options will be available.
TODO: write more, but for now, collecting notes and ideas while they are fresh
In order for the reader to work over SSL, on Facebook and Wikipedia, some sneakiness was required, because the resources couldn’t simply be served for all projects on gtweb in the same way as projects on gtoahpa. The SSL certificate we have is only good for one subdomain, thus the easiest way was to get other projects to use this subdomain instead.
This solution requires two parts:
ReaderConfig:
Settings:
# host path without scheme (https, http) to reader lookup API, no trailing
# slash.
api_host: "sanit.oahpa.no/reader/kyv"
# URL to serve media from, minus scheme, and no trailing slash.
media_host: "sanit.oahpa.no"
2.) A setup within nginx to allow proxying of specific requests to the non-SSL projects via the SSL project. This is left to the reader with admin access to inspect nginx config files, I will not paste them here for sikkerhets skyld.
TODO: sprinkle some debug log statements throughout the code