Ticket #2950 (new requirement) — at Initial Version
paster commands to prepare codebase for deployment
Reported by: | icmurray | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | ckan 2.0 |
Component: | ckan | Keywords: | frontend paster javascript fanstatic |
Cc: | Repository: | ckan | |
Theme: | none |
Description
With the latest template, css and js changes in 2.0, there are a number of things that need preparation prior to a production deployment. One of these is:
- the fanstatic_resources defined in ckan/lib/fanstatic_resources.py (bottom of module) should be prepared, and minified.
This ticket is to provide a paster command which when run on a production server with a user of sufficient rights will prepare minified versions of the javascript required by CKAN.
## Background
Minification *should* work seamlessly without the need for any preparation when CKAN is started (and does so on a development setup). But on a production site, the webserver will (almost certainly) not have write-access to the directories that will contain the minified javascript. And so the minification will fail, and the site will end up serving the un-minified media.
One way around this would be to allow webserver write access to the directory its serving out of. But this is not generally considered good practice.
Another method would be to have a paster command which, when run as a user with the appropriate permissions, would generate the minified files. This should be achiveable by just importing the fanstatic_resources.py module. I think that's sufficient, but have not checked it.