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.

Reply via email to