Closed seanh closed 7 years ago
Thanks Sean, I look forward to having this happen. Regarding migration to the new URL, perhaps we can just let the old one age out naturally as courses end.
Re: splitting up lti.py, note that it also contains all the JS and CSS and templates, it was always my assumption you'd arrange those assets according to your own conventions.
Thanks Sean, I look forward to having this happen. Regarding migration to the new URL, perhaps we can just let the old one age out naturally as courses end.
Yeah, that sounds good @judell
Like with every new service: we need monitoring :)
@chdorner Can you comment on this caching of HTML pages to the filesystem, with regards to getting the app onto production infrastructure?
I've added Grafana, Sentry and New Relic to the task list above
The app is now running on qa and production, has a grafana dashboard, and has new relic set up.
According to @seanh this isn't ready to test yet because the code doesn't play well with our infrastructure, but everything is set up so that as soon as the code is fixed it'll all work.
I will leave the Sentry integration to you @seanh, because that requires a deeper understanding of the code.
Thanks @chdorner ! Leaving this issue open until I get Sentry going, and also fix the app to use the DB properly, update the public docs, but we're close to closing this
Sentry is now done, see hypothesis/lti#73.
The app's using the DB properly as well. Needs some testing, and the public google docs need updated. Almost there
Update: I need to test that the app is basically working in production but I can't do so because I don't have an admin account on https://hypothesis.instructure.com/. Once I've done that then I can ask others (hopefully Jeremy and Jon) to end-to-end test it. Assuming no problems we'll then just need to update the Hypothes.is Canvas Alpha: Installing the App google doc and this card will be done.
Excellent. You have the credentials in PassPack.
On Fri, Aug 18, 2017 at 6:30 AM, Sean Hammond notifications@github.com wrote:
Update: I need to test that the app is basically working but I can't do so because I don't have an admin account on https://hypothesis. instructure.com/. Once I've done that then I can ask others (hopefully Jeremy and Jon) to end-to-end test it. Assuming no problems we'll then just need to update the Hypothes.is Canvas Alpha: Installing the App https://docs.google.com/document/d/13FFtk2qRogtU3qxR_oa3kq2ak-S_p7HHVnNM12eZGy8/edit# google doc and this card will be done.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/hypothesis/product-backlog/issues/339#issuecomment-323353971, or mute the thread https://github.com/notifications/unsubscribe-auth/AAC1rWdcUPvKAr_jDAy9jBlGL1H1MC9Rks5sZZHtgaJpZM4OZsIf .
See also
Problem
There is a Canvas app for Hypothesis currently deployed at https://lti.hypothesislabs.com (git repo). I believe the server behind this is a Digital Ocean droplet run by @judell, it's not on the main Hypothesis infrastructure. This app is currently being used by more than 20 schools for classroom annotation assignments.
The Canvas app needs to be migrated onto our production infrastructure so that it can be maintained by the dev team (bringing the app back up if it goes down, deploying new changes to the app).
There's a standard way that we deploy Python apps at Hypothesis.
Solution
Deploy the Canvas app (by which I mean the standalone web service that currently runs at https://lti.hypothesislabs.com/) to our production infrastructure in the same way that h and bouncer are deployed.
Issues with this solution
Dockerfile
(plus any changes necessary to get it running inside Docker)Jenkinsfile
) and Docker Hub so that a new Docker image is built for it every time new changes are pushed to GitHubTasks
lti.log
file in the filesystemcredentials.txt
file and thecanvas-auth.json
file need to be change to SQL data)[ ] Can it continue to cache HTML and PDF files to the filesystem?We're going to remove this caching but it can be deployed to production with the caching still present at firstcredentials.txt
orcanvas-auth.json
files currently. This needs to work automatically, or at least without sshing in and editing files. (It's still necessary to ssh in and manually edit the DB to do this, docs are in the LTI app's README, it should be improved at some point)Dockerfile
that can be used to create a Docker image for the app