On 14 oct, 23:51, Christopher Steel <chris.st...@gmail.com> wrote: > If your break things down into one or more “debian” packages and at > least one web2py application you could end up with a phenomenally > powerful and easy to maintain setup that could have resounding > repercussions, so to speak, for all parties. > > How does the following example sound? > > Package 1, web2py >
In Debian it should be python-web2py > sudo apt-get install web2py > > unpacks a stable version of web2py to the users home directory if one > does not exist. > > /home/mary/web2py/web2py > I'm thinking of a script doing (similar to what python-django package does): cd /home/me/whatever/ web2py-admin startproject newprojectname would create /home/me/whatever/web2py .............. ......./applications/newprojectname ......................./applications/admin (linking to /usr/share/ web2py/applications/admin) ....................../any needed stuff at web2py that needs to be modified by the user and can not be in the PYTHONPATH or /usr/share/ web2py > Adds scripts for starting, stopping and restarting web2py using the > web2py *built in* web server. An option to install to a directory > other than the “default” can be made available as well. it could be just: cd /home/me/web2py python web2py i.e. exactly as it is now. I'm not sure if this process might be simplified more. One evident simplification is adding a desktop menu entry calling web2py and doing: cd $HOME if not exists, creates web2py/applications directory, and links admin directory from /usr/share/web2py/applications/admin launch web2py script launc x-www-browser http://localhost:8900 So, the user can begin to work in the web browser without needing to open a terminal window, whenever he wants to use web2py in its own $HOME directory. A pending question is how to deal with the needed writing permisions in applications/admin/errors and application/admin/sessions directories. If the directory admin is linked from /usr/share/web2py/ applications/admin, the current user doesn't have permissions there, and should not have them if the computer is used by different users. A way to allow each user have its own sessions and errors directories for the admin application is needed. > > Advantages > - Always works > - Does not break anything, ever > - Easy to customize > - Highly portable > - Can start developing right away > - Easy to implement > - easy to clean up via apt-get purge and so on. > - easy to backup, delete, upgrade etc. Fully agree, just upgrading the package the user benefits from the new web2py code, including the admin or welcome applications, without touching a line of his own applications. > > Disadvantages > - Might be hard to justify doing a dissertation on this, but using > Package X the sky is the limit ;) > > Package X example, web2py universal installer > > sudo apt-get install universal-web2py > > If the web2py package is not installed it gets installed, if mercurial > is not already installed it gets installed. easy to do adding dependencies on python-web2py and mercurial to the universal-web2py package If a clone of the web2py > application called “universal installer” does not exist, it is created > in ${HOME}/web2py/web2py/applications. if web2py is not running it > starts it and opens default browser to the universal application. > mmm, I don't think that should happens without the user intervention. Don't forget linux is multiuser (and in some schools is used with the LTSP project, so it's multiuser concurrently). I think that should be done after the user asks for it, clicking on a desktop or menu icon. > The universal application can do almost anything you like then and you > would easily create additional packages and so forth in this way. > > People who want a “server installer” can create a “server installer” > web2py application and /or debian package that could be made available > via your universal installer. my initial idea is providing in /usr/share/doc/python-web2py the scripts to run web2py at the computer booting and the configuration files for apache2, httpd-light, index.yaml, etc. with all the needed documentation to do it manually. Your idea may be useful to be done with apache, with a apache2-web2py package, but I don't see how to do it universally for any web server. > > Sounds cool! > More than cool. It sounds as a need for many people! Regards. José L.