heroku-ptah's Introduction
To deploy this app on Heroku, do the following: Install Heroku Toolbelt: https://toolbelt.herokuapp.com/ $ virtualenv cloudapp --distribute --no-site-packages $ cd cloudapp $ . bin/activate $ git clone git://github.com/ptahproject/heroku-ptah.git $ cd heroku-ptah $ heroku create --stack cedar $ heroku addons:add shared-database $ git push heroku master $ heroku ps:scale web=1 $ heroku open To deploy this app on dotcloud, do the following: $ virtualenv cloudapp --distribute --no-site-packages $ cd cloudapp $ . bin/activate $ pip install dotcloud $ git clone git://github.com/ptahproject/heroku-ptah.git $ cd heroku-ptah $ dotcloud create ptah $ dotcloud push --all ptah The directory structure will look like: ./ ./cloudapp ./bin ./src ./lib ./heroku-ptah ./setup.py ./settings.ini ./herokuapp ./__init__.py ./ ... ./Procfile ./runapp.py ./run ./ ... ./dotcloud.yml ./builder ./wsgi.py ./ ... Heroku files are: Profile, runapp.py, and run dotcloud files are: dotcloud.yml, builder, wsgi.py Ideally, you would have forked the repository first, and so checked out a writable clone in step five instead of a read-only copy. To run this code locally, do the following in cloudapp/heroku-ptah: $ pip install -r localrequirements.txt $ python setup.py develop $ ../cloudapp/bin/pserve settings.ini --reload Changes made to this skeleton from the default ptah_starter: Heroku:: 1. Procfile added to tell Heroku what to run upon deployment to start the web service. 2. A 'run' bash script that causes Heroku to develop then run the app. 3. runapp.py that actually runs the app using waitress. 4. requirements.txt informs Heroku what the dependencies are. Dependencies added from the stock ptah_starter are waitress and psycopg2. These haven't been added to localrequirements.txt. 5. Heroku doesn't support SQLite, so a small change was required to get Ptah to use the shared postgres db that Heroku provisions. Heroku exposes the DB connection string as the environment variable DATABASE_URL (if the database is a shared database, it is also available as SHARED_DATABASE_URL). app.py has been modified to use this environment variable (if present) to override the sqlalchemy.url parameter from settings.ini before the settings are applied. dotcloud:: 1. dotcloud.yml added to tell dotcloud what environment should be setup for the project. As well as how to start the web server. 2. builder script which installs requirements and run herokuapp setup.py develop 3. wsgi.py The python module which starts the WSGI server 4. dotcloud *does* support SQLite so postgresql is not necessary. although each time you deploy you will lose your data.
heroku-ptah's People
heroku-ptah's Issues
authenticate w/ google & change roles fails
if you sign in to google and then attempt to give yourself roles; it fails silently.
http://young-ocean-1352.herokuapp.com/wstest.html
sign in -> click google -> confirm
click Users in left -> select your account
checkbox the 2 roles and click modify
enhance @ptah.type so we can get rid of subclassing ptahcms.Content
https://github.com/ptahproject/heroku-ptah/blob/master/herokuapp/page.py subclasses from ptahcms which is not necessary. in fact I believe that is the only dependency on ptahcms
User roles not applying
When changing the user roles inside of the form.Form it does not save.
get rid of layout usage in herokuapp
We spoke quite a bit about using layout. It is complicated enough just using macros/ZPT. The layout machinery is just too complex without sufficient documentation.
protocols.whoisonline on_closed never called on heroku
problem with the pyramid_sockjs session GC and heroku. works correctly if ran locally
Hide the following in CRUD
None of these should be in CRUD
ptah-crowd-group
ptah-crowd-user
herokuapp-file
Add delete button or X in record listing in CRUD
We have the CR, and U part. Just add remove to listing do we get the Delete part ;-)
remove generated .js files (ignore?)
some compiled mustache templates have been checked in - remove them before someone attempts to look at it
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.