Pewpewarrows / Prometheus-Django

Web development made easy
Other
1 stars 0 forks source link

Install Procedures #17

Open Pewpewarrows opened 12 years ago

Pewpewarrows commented 12 years ago

Should be two-fold:

  1. The traditional, skilled developer route:
pip install prometheus-kiln # or easy_install, globally
prometheus craft /path/to/new/project
# ... crafting script asks for input several times about project, or pass as arguments, then...
cd /path/to/new/project
# hack away!
  1. The idiot-proof, turnkey website:
a. Download zip file from Prometheus' website
b. Extract files
c. Drop files into your site via FTP
d. Visit your site
e. Install and configure away, all from an easy-to-use web interface!

The challenge will be making them both from the same codebase. I think the best bet will be just making it a PasteScript template, as a recipe for prometheus-kiln's crafting program. Just make the creation of prometheus-turnkey.zip part of the build process for Prometheus proper, by using it itself. Can has dogfooding?

Pewpewarrows commented 12 years ago

Note to self: the word turnkey looks like turkey by dropping the "n". I say call the turnkey version of the project prometheus-turkey.

Pewpewarrows commented 12 years ago

Gonna need to research and evaluate the most popular FTP web hosting services. Start with the ones Drupal and Wordpress recommend, if any. Get prometheus-turkey working with them. This in and of itself will be a major undertaking. These FTP sites traditionally only have good PHP support, and vary wildly with anything else. Prom's documentation on its website should have a nicely laid-out table of hosting providers and features, along with a hierarchy of what features prom looks for in order to install itself.

The trouble then turns into: how to serve the python files as a web service assuming no SSH access (and certainly no root permissions for scripts we do get it to run in the install), and more importantly how to actually kick-off the install procedure after FTP'ing the files over.

The latter can be solved by just piggy-backing on top of however that hosting service intends you to use it to begin with. For most (I'm guessing 95+% of popular hosting providers), we can just include an index.php at the root of prometheus-turkey. This php script would show a clean install page, that when activated would call shell commands behind-the-scenes to set everything up.

The former (actually serving the python site after the index.php install script, or whatever, finishes) will have to be looked into later on.

Pewpewarrows commented 12 years ago

For the turnkey install, we might also be able to get away with packaging virtualenv in like a tools/ directory, and running it from there as a non-standard location. That'd solve a good amount of problems down the line. We'd need to determine how portable the virtualenv package and scripts are themselves. Worst-case scenario we end up forking the project to a portably runnable version.