{"action":"created","issue":{"url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/211","labels_url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/211/labels{/name}","comments_url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/211/comments","events_url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/211/events","html_url":"https://github.com/sfu-natlang/lensingwikipedia/pull/211","id":118521497,"number":211,"title":"General improvements and saving notes [v0.4dev]","user":{"login":"vlad003","id":631497,"avatar_url":"https://avatars.githubusercontent.com/u/631497?v=3","gravatar_id":"","url":"https://api.github.com/users/vlad003","html_url":"https://github.com/vlad003","followers_url":"https://api.github.com/users/vlad003/followers","following_url":"https://api.github.com/users/vlad003/following{/other_user}","gists_url":"https://api.github.com/users/vlad003/gists{/gist_id}","starred_url":"https://api.github.com/users/vlad003/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlad003/subscriptions","organizations_url":"https://api.github.com/users/vlad003/orgs","repos_url":"https://api.github.com/users/vlad003/repos","events_url":"https://api.github.com/users/vlad003/events{/privacy}","received_events_url":"https://api.github.com/users/vlad003/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-24T02:53:39Z","updated_at":"2015-12-17T23:24:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/pulls/211","html_url":"https://github.com/sfu-natlang/lensingwikipedia/pull/211","diff_url":"https://github.com/sfu-natlang/lensingwikipedia/pull/211.diff","patch_url":"https://github.com/sfu-natlang/lensingwikipedia/pull/211.patch"},"body":"General improvements:\r\n\r\n* database is created and migrated at runtime, removing a deployment step and allowing automatic schema upgrades\r\n* indexes can be built inside docker containers, removing the need for extra software as well as ensuring everyone's running the same version of everything\r\n* provisioning a CentOS 6 server to run this code is now within a script, so you don't have to run all the commands manually from `website.md`. It's safe to run this script multiple times.\r\n* new script for generating CA, Server, and Client SSL certs and keys so that we will be able to deploy to the remote Docker daemon without having to SSH into the server\r\n* a Makefile now allows you to just `make deploy` or `make dev` to build everything and run everything (as well as targets to remove containers and images), so we don't have to remember all the different commands, or look them up in the `website.md`\r\n* we are now back to a single `docker-compose.yml` because Docker Compose doesn't yet have all the features necessary for properly managing multiple yamls (e.g. you can't inherit anything you want). Once they add build-time environment variables, we'll be able to move more stuff into environment files (already exist in Docker, just missing from Compose: docker/compose#2163)\r\n* database schema migrations now work properly; it now detects that we're using SQLite, so it uses batch mode, and it's now fairly straightforward to create a database, generate migrations, and apply them. It's not completely automatic -- it detects python-social-auth models incorrectly as to be deleted -- but it's pretty easy to just open up the migration file and delete those lines (I'm still working on getting it to detect those models, and I think I've got an idea of how to do it, but it's not in this PR).\r\n\r\nNew features:\r\n\r\n* You can now save text notes. The UI only allows for a single note, but the backend + database allow managing any number of notes. Just so that we have _something_ for this feature, it can only handle text, but it's easily extensible to other types.\r\n\r\nThis update will require removing all existing images and containers (`make remove-images`) because the current version of the database isn't stamped with a version ID, so this code won't be able to apply the migrations.\r\n\r\n**Note:** The [v0.3dev] in the title is the tag I've used for the last commit in this PR so that we can keep track of when stuff in develop was stabilized and is ready for a merge to master, and also so that we can keep the develop branch long-running. Annoyingly enough, you can compare a tag and a branch in GitHub, but you can't create a PR based on it; for whatever reason, PRs only work between branches."},"comment":{"url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/comments/165613758","html_url":"https://github.com/sfu-natlang/lensingwikipedia/pull/211#issuecomment-165613758","issue_url":"https://api.github.com/repos/sfu-natlang/lensingwikipedia/issues/211","id":165613758,"user":{"login":"vlad003","id":631497,"avatar_url":"https://avatars.githubusercontent.com/u/631497?v=3","gravatar_id":"","url":"https://api.github.com/users/vlad003","html_url":"https://github.com/vlad003","followers_url":"https://api.github.com/users/vlad003/followers","following_url":"https://api.github.com/users/vlad003/following{/other_user}","gists_url":"https://api.github.com/users/vlad003/gists{/gist_id}","starred_url":"https://api.github.com/users/vlad003/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vlad003/subscriptions","organizations_url":"https://api.github.com/users/vlad003/orgs","repos_url":"https://api.github.com/users/vlad003/repos","events_url":"https://api.github.com/users/vlad003/events{/privacy}","received_events_url":"https://api.github.com/users/vlad003/received_events","type":"User","site_admin":false},"created_at":"2015-12-17T23:24:07Z","updated_at":"2015-12-17T23:24:07Z","body":"It should be ready; I updated the tag to `v0.4dev`.\r\n\r\nTo deploy, it requires deleting the current images/containers and rebuilding, but that's all in the makefile now, so it should just be:\r\n\r\n    $ make remove-images\r\n    $ make dev\r\n\r\nThe target is called `dev` just because the `deploy` target is supposed to deploy to a remote docker daemon, and has some stuff about keys in it. The main server isn't set up for this yet.\r\n\r\nOne of the commits in here also switched back to using port 8080 so that we can use Apache as a reverse proxy for this site and others."}}