Webapp 2.0

classic Classic list List threaded Threaded
30 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Webapp 2.0

DS Blank
Devs,

After wrestling with Django for a few years now, I think I am ready to try something different. Here is why:

1. Django isn't a good match for Gramps. Django is designed for two groups of people: database people, and template creators. We don't have that kind of division. Developers develop everything, so the separation between layers doesn't make sense (and gets in the way).

2. Django's object relational model (ORM) keeps changing, and isn't a stand-alone project. Thus, with every new version of Django, we have to go back and revise our Django database models.

3. Now that we have an independent database layer, we don't need another one. Before, we had to have a separate DB because BSDDB could not fill that role. But now we can use the same API with a different backend. 

4. Django is complex, and those skills don't overlap with generic Python skills very much. I was hoping that some Django people might join in on development, but that didn't happen. Using Django does not help getting people involved with the webapp development. 

Proposal for a rewrite of the webapp: 

Create a much simpler, familiar, Python interface using an easier to use framework that will have a much larger overlap with core Gramps code.

I'm thinking tornado [1], using the standard Gramps database API.

Also, I am thinking that we could develop batch database access methods that would be useful in Gramps Gtk, too. 

There are ideas and code that can be salvaged, but I think a clean start is warranted at this stage.

Any comments or additional bits of info to consider?

-Doug

------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Sun, Dec 20, 2015 at 11:33 AM, Doug Blank <[hidden email]> wrote:
Devs,

After wrestling with Django for a few years now, I think I am ready to try something different. Here is why:

1. Django isn't a good match for Gramps. Django is designed for two groups of people: database people, and template creators. We don't have that kind of division. Developers develop everything, so the separation between layers doesn't make sense (and gets in the way).

2. Django's object relational model (ORM) keeps changing, and isn't a stand-alone project. Thus, with every new version of Django, we have to go back and revise our Django database models.

3. Now that we have an independent database layer, we don't need another one. Before, we had to have a separate DB because BSDDB could not fill that role. But now we can use the same API with a different backend. 

4. Django is complex, and those skills don't overlap with generic Python skills very much. I was hoping that some Django people might join in on development, but that didn't happen. Using Django does not help getting people involved with the webapp development. 

Proposal for a rewrite of the webapp: 

Create a much simpler, familiar, Python interface using an easier to use framework that will have a much larger overlap with core Gramps code.

I'm thinking tornado [1], using the standard Gramps database API.

Also, I am thinking that we could develop batch database access methods that would be useful in Gramps Gtk, too. 

There are ideas and code that can be salvaged, but I think a clean start is warranted at this stage.

Any comments or additional bits of info to consider?

-Doug


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

John Ralls-2
In reply to this post by DS Blank

> On Dec 20, 2015, at 8:33 AM, Doug Blank <[hidden email]> wrote:
>
> Devs,
>
> After wrestling with Django for a few years now, I think I am ready to try something different. Here is why:
>
> 1. Django isn't a good match for Gramps. Django is designed for two groups of people: database people, and template creators. We don't have that kind of division. Developers develop everything, so the separation between layers doesn't make sense (and gets in the way).
>
> 2. Django's object relational model (ORM) keeps changing, and isn't a stand-alone project. Thus, with every new version of Django, we have to go back and revise our Django database models.
>
> 3. Now that we have an independent database layer, we don't need another one. Before, we had to have a separate DB because BSDDB could not fill that role. But now we can use the same API with a different backend.
>
> 4. Django is complex, and those skills don't overlap with generic Python skills very much. I was hoping that some Django people might join in on development, but that didn't happen. Using Django does not help getting people involved with the webapp development.
>
> Proposal for a rewrite of the webapp:
>
> Create a much simpler, familiar, Python interface using an easier to use framework that will have a much larger overlap with core Gramps code.
>
> I'm thinking tornado [1], using the standard Gramps database API.
>
> Also, I am thinking that we could develop batch database access methods that would be useful in Gramps Gtk, too.
>
> There are ideas and code that can be salvaged, but I think a clean start is warranted at this stage.
>
> Any comments or additional bits of info to consider?
>

Doug,

If you mean this tornado http://www.tornadoweb.org/en/stable/,it looks to me like a front end rather than a backend. How does that have anything to do with Django or BSDDB?

Regards,
John Ralls


------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Sun, Dec 20, 2015 at 12:03 PM, John Ralls <[hidden email]> wrote:

> On Dec 20, 2015, at 8:33 AM, Doug Blank <[hidden email]> wrote:
>
> Devs,
>
> After wrestling with Django for a few years now, I think I am ready to try something different. Here is why:
>
> 1. Django isn't a good match for Gramps. Django is designed for two groups of people: database people, and template creators. We don't have that kind of division. Developers develop everything, so the separation between layers doesn't make sense (and gets in the way).
>
> 2. Django's object relational model (ORM) keeps changing, and isn't a stand-alone project. Thus, with every new version of Django, we have to go back and revise our Django database models.
>
> 3. Now that we have an independent database layer, we don't need another one. Before, we had to have a separate DB because BSDDB could not fill that role. But now we can use the same API with a different backend.
>
> 4. Django is complex, and those skills don't overlap with generic Python skills very much. I was hoping that some Django people might join in on development, but that didn't happen. Using Django does not help getting people involved with the webapp development.
>
> Proposal for a rewrite of the webapp:
>
> Create a much simpler, familiar, Python interface using an easier to use framework that will have a much larger overlap with core Gramps code.
>
> I'm thinking tornado [1], using the standard Gramps database API.
>
> Also, I am thinking that we could develop batch database access methods that would be useful in Gramps Gtk, too.
>
> There are ideas and code that can be salvaged, but I think a clean start is warranted at this stage.
>
> Any comments or additional bits of info to consider?
>

Doug,

If you mean this tornado http://www.tornadoweb.org/en/stable/,it looks to me like a front end rather than a backend. How does that have anything to do with Django or BSDDB?

Django is at least two things: the data ORM (the middle layer, and associated db backends), and the web framework frontend. I'm suggesting to use tornado as the web framework, and our own, new database independent API for the backend. We'll need to add batch access (to make it web efficient) but that should be easy.

-Doug
 

Regards,
John Ralls



------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Helge.Herz-2
Hi all,

I'm not the specialist of Django or the alternate tools. But nevertheless with respect to the ongoing development of tools/application in general and application for genealogy in special I thought about my wishes for Gramps (I like it) from the point of view of a user (of course it's my private view). Here are my ideas/wishes:
+ to have an off-line application (mostly as GRAMPS today) and
+ to have also an on-line application (may be Webapp x.x) having more or less the same functionality as the off-line tool and
+ to have a synchronization(!) mechanism between the both (as FTM and ancestry currently provide, but will shut down in the near future) and
+ to have for the on-line application a collaboration system for multi user support e.g. like webtrees [1]
+ to have at least for the on-line application a database interface using end-to-end encryption (there are a lot private sources I don't want to have without encryption on a web server; I don't know any genealogy tool providing this feature - may be some thing like zerodb [2] is a tool for that) and
+ last but not least: the off-line and on-line Gramps have an improved user interface (see the several feature request on bugzilla: user defined column width and order for every table, stable handling for non-ascii on windows, less windows, ...etc.).

In the past I wasn't happy about, that the Gramps web project based on Django wasn't an integral part of the Gramps project. If Django isn't the right tool (as I understood Doug's email) and a restart will be done, I hope such an integrated solution comes as Webapp 2.x some day for Gramps.
I'm open to support any trials going ahead in direction described above.
Regards, Helge

[1]https://www.webtrees.net/index.php/en/
[2]https://github.com/zero-db/zerodb/




------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1
In reply to this post by DS Blank

On 20/12/2015 9:02 AM, Doug Blank wrote:
On Sun, Dec 20, 2015 at 11:33 AM, Doug Blank <[hidden email]> wrote:
Devs,

After wrestling with Django for a few years now, I think I am ready to try something different.
Being very much a newb to gramps, pythong & django, but having looked at all three and tried to work with them, I too have concluded that a) a web presence for gramps is very important to myself and b) that django would imply committing too much time to learn about all three and so I have definitely given up on django.

Because of this I welcome a change in direction.
My main concern is how well whatever new framework is chosen will integrate with the services offered by existing ISPs.
If it is not supported by the 'average' ISP, I see no difference between django & the 'new' framework from that perspective.
Same goes for 'administration' by the 'average' gramps user for whatever is chosen.

I have used and worked (a little) with some php frameworks, so I know at least some of those are supported by ISPs, but I have no idea how well the proposed - or any other python centric framework - will/would be supported by the current web servers - Apache, lampp, wampp stacks for testing etc.

Arnold


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Sun, Dec 20, 2015 at 3:16 PM, <[hidden email]> wrote:

On 20/12/2015 9:02 AM, Doug Blank wrote:
On Sun, Dec 20, 2015 at 11:33 AM, Doug Blank <[hidden email]> wrote:
Devs,

After wrestling with Django for a few years now, I think I am ready to try something different.
Being very much a newb to gramps, pythong & django, but having looked at all three and tried to work with them, I too have concluded that a) a web presence for gramps is very important to myself and b) that django would imply committing too much time to learn about all three and so I have definitely given up on django.

Because of this I welcome a change in direction.
My main concern is how well whatever new framework is chosen will integrate with the services offered by existing ISPs.
If it is not supported by the 'average' ISP, I see no difference between django & the 'new' framework from that perspective.
Same goes for 'administration' by the 'average' gramps user for whatever is chosen.

Yes, that is something to consider. Django required WSGI [1], which many ISPs support. Tornado can work with WSGI, but also contains its own, well-established webserver. So, it should be even more straightforward than with Django to deploy.

Tornado should be easy to configure with either OpenID or OAuth; PAM; or just a simple set of ids/passwords. But we need local storage to keep track of preferences (language, CSS theme, etc).
 

I have used and worked (a little) with some php frameworks, so I know at least some of those are supported by ISPs, but I have no idea how well the proposed - or any other python centric framework - will/would be supported by the current web servers - Apache, lampp, wampp stacks for testing etc.


Shouldn't be a problem. Tornado is a fairly common web framework.

-Doug

 
Arnold


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel



------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1
On 20/12/2015 1:02 PM, Doug Blank wrote:


Yes, that is something to consider. Django required WSGI [1], which many ISPs support. Tornado can work with WSGI, but also contains its own, well-established webserver.
If I understand this correctly, having its own web server is a cause for concern for me.
I would expect that it can be integrated with existing servers using a standard port so that it can be accessed as a simple web page front end.

If I misunderstood, I guess I would still prefer that sort of scenario.

The first result from stackoverflow at:
http://stackoverflow.com/questions/14700305/how-can-i-integrate-tornado-into-my-currently-apache-driven-site of my quick search for tornado & Apache tells me that :
Easiest is to run Tornado and Apache on different ports/addresses

So you probably have Apache listening to port 80 already. Tornado could listen to port 81

If the server is multihomed, you could have Apache listen to a.b.c.d:80 and Tornado listen to a.b.c.e:80. This means that you'll at least have to have the Apache part and the Tornado part on different subdomains

If you need to run them all under the same domain and port, you'll need something lean and fast in front of them to work out which url gets routed to which server.
So, it should be even more straightforward than with Django to deploy.
Does not sound all that different from django from my  perspective :-\

Arnold


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Sun, Dec 20, 2015 at 7:42 PM, <[hidden email]> wrote:
On 20/12/2015 1:02 PM, Doug Blank wrote:


Yes, that is something to consider. Django required WSGI [1], which many ISPs support. Tornado can work with WSGI, but also contains its own, well-established webserver.
If I understand this correctly, having its own web server is a cause for concern for me.
I would expect that it can be integrated with existing servers using a standard port so that it can be accessed as a simple web page front end.

If I misunderstood, I guess I would still prefer that sort of scenario.

The first result from stackoverflow at:
http://stackoverflow.com/questions/14700305/how-can-i-integrate-tornado-into-my-currently-apache-driven-site of my quick search for tornado & Apache tells me that :
Easiest is to run Tornado and Apache on different ports/addresses

So you probably have Apache listening to port 80 already. Tornado could listen to port 81

If the server is multihomed, you could have Apache listen to a.b.c.d:80 and Tornado listen to a.b.c.e:80. This means that you'll at least have to have the Apache part and the Tornado part on different subdomains

If you need to run them all under the same domain and port, you'll need something lean and fast in front of them to work out which url gets routed to which server.
So, it should be even more straightforward than with Django to deploy.
Does not sound all that different from django from my  perspective :-\

Running a tornado server is not that different from running a Django server, except that Django required a separate system (WSGI with Apache, for example) to actually serve the files, whereas tornado has it built-in. But you are right that from your perspective, it is about the same.

-Doug
 


Arnold


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel



------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
In reply to this post by DS Blank
On Sun, Dec 20, 2015 at 11:33 AM, Doug Blank <[hidden email]> wrote:
Devs,

After wrestling with Django for a few years now, I think I am ready to try something different. Here is why:

1. Django isn't a good match for Gramps. Django is designed for two groups of people: database people, and template creators. We don't have that kind of division. Developers develop everything, so the separation between layers doesn't make sense (and gets in the way).

2. Django's object relational model (ORM) keeps changing, and isn't a stand-alone project. Thus, with every new version of Django, we have to go back and revise our Django database models.

3. Now that we have an independent database layer, we don't need another one. Before, we had to have a separate DB because BSDDB could not fill that role. But now we can use the same API with a different backend. 

4. Django is complex, and those skills don't overlap with generic Python skills very much. I was hoping that some Django people might join in on development, but that didn't happen. Using Django does not help getting people involved with the webapp development. 

Proposal for a rewrite of the webapp: 

Create a much simpler, familiar, Python interface using an easier to use framework that will have a much larger overlap with core Gramps code.

I'm thinking tornado [1], using the standard Gramps database API.

Also, I am thinking that we could develop batch database access methods that would be useful in Gramps Gtk, too. 

There are ideas and code that can be salvaged, but I think a clean start is warranted at this stage.

Any comments or additional bits of info to consider?

Another limitation of Django that I had just adapted to was the fact that each installation could only serve one family tree. That is, it was not possible to switch from one tree to another. We won't have that limitation with our own access.

I've started sketching out a new version of the webapp here:


I'm thinking of the following decisions:

1) Keep this code in its own repository, separate from gramps core, and require gramps core. This code should be independent of core gramps, and specific to the webapp. Delete gramps/webapp/ from master.

2) Use the tornado web framework (fast, flexible, secure, and stable)

3) Use the CSS and templates from webapp 1.0, which come from the Gramps NarrativeWeb report.

4) Use a sqlite3 database to store valid users, passwords, and web preferences.

5) Initially, don't show any data to non-logged in users (webapp 1.0 allows non-authorized users to see filtered/sanitized data). Add non-authorized use later, if desired.

6) Use a template language (such as jinja2) if necessary

If anyone is interested in doing some coding or testing this week, let me know. 

-Doug
 

-Doug


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

AndersA
This post has NOT been accepted by the mailing list yet.
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1
In reply to this post by DS Blank


On 21/12/2015 7:41 AM, Doug Blank wrote:
>
>
> Running a tornado server is not that different from running a Django
> server, except that Django required a separate system (WSGI with
> Apache, for example) to actually serve the files, whereas tornado has
> it built-in. But you are right that from your perspective, it is about
> the same.
>
So, suppose I have a web site on which I would want to share access to
my gramps data, the new proposed version will make that possible,
without my having to become some sort of guru?

I will be able to install it without problems and  without needing tech
support from the ISP?

Anything that needs a special port appended to a URL, IMO, will make it
harder for general users to (install and) use.

Arnold

------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Mon, Dec 21, 2015 at 12:34 PM, <[hidden email]> wrote:


On 21/12/2015 7:41 AM, Doug Blank wrote:
>
>
> Running a tornado server is not that different from running a Django
> server, except that Django required a separate system (WSGI with
> Apache, for example) to actually serve the files, whereas tornado has
> it built-in. But you are right that from your perspective, it is about
> the same.
>
So, suppose I have a web site on which I would want to share access to
my gramps data, the new proposed version will make that possible,
without my having to become some sort of guru?

I will be able to install it without problems and  without needing tech
support from the ISP?

My plan is that it will be this easy:

cd gramps_connect
pip install -r requirements.txt
python3 -m gramps_connect.app

Only slightly more complicated if you don't have root and want to use a Python environment, or want to run it on another port.

-Doug

 

Anything that needs a special port appended to a URL, IMO, will make it
harder for general users to (install and) use.

We'll make it as easy as we can.

-Doug
 

Arnold

------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1


On 21/12/2015 9:51 AM, Doug Blank wrote:
On Mon, Dec 21, 2015 at 12:34 PM, <[hidden email]> wrote:


On 21/12/2015 7:41 AM, Doug Blank wrote:
>
>
> Running a tornado server is not that different from running a Django
> server, except that Django required a separate system (WSGI with
> Apache, for example) to actually serve the files, whereas tornado has
> it built-in. But you are right that from your perspective, it is about
> the same.
>
So, suppose I have a web site on which I would want to share access to
my gramps data, the new proposed version will make that possible,
without my having to become some sort of guru?

I will be able to install it without problems and  without needing tech
support from the ISP?

My plan is that it will be this easy:

cd gramps_connect
pip install -r requirements.txt
python3 -m gramps_connect.app

Only slightly more complicated if you don't have root and want to use a Python environment, or want to run it on another port.
This still sounds to me as though the basic assumption is that the 'server' will be installed on a local system where I can be admin/root

My concern is to be able to install it on a off-site ISP's site, where I certainly won't have 'root' privileges.

Anything that needs a special port appended to a URL, IMO, will make it
harder for general users to (install and) use.

We'll make it as easy as we can.
I am sure of that, but ....
Sorry for being such a pest, but I will never be able to afford to run a publicly accessible server on my local system, so if I want to share or collaborate with anyone else, I am tied to a public ISP with all of the limitations and restrictions this will imply.

If this new system will allow me to accomplish that, then I see it as a worthwhile exercise for us non-gurus.

Arnold

------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Dave Walton-3
In reply to this post by DS Blank
Hi Doug,

[Aside: Thanks for all your work on the sqlite DB layer!]

If I read this right, the idea is that the gramps server would be a
continuously running server, and not just a set of code that is called
on demand by an existing web server.  My concern with this (and I
suspect Arnold's concern as well) is that many (most?) hosting companies
do not allow running custom servers (the software kind) on their shared
servers (the hardware kind).  If gramps is its own server, then many
people including myself would be simply unable to run it without paying
high monthly costs for a dedicated server.  Isn't there a way to build
it as a set of scripts run by an existing Apache (or other) web server?

Thanks,
Dave


On 12/21/2015 09:51 AM, Doug Blank wrote:

> On Mon, Dec 21, 2015 at 12:34 PM, <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>
>     On 21/12/2015 7:41 AM, Doug Blank wrote:
>     >
>     >
>     > Running a tornado server is not that different from running a Django
>     > server, except that Django required a separate system (WSGI with
>     > Apache, for example) to actually serve the files, whereas tornado has
>     > it built-in. But you are right that from your perspective, it is about
>     > the same.
>     >
>     So, suppose I have a web site on which I would want to share access to
>     my gramps data, the new proposed version will make that possible,
>     without my having to become some sort of guru?
>
>     I will be able to install it without problems and  without needing tech
>     support from the ISP?
>
>
> My plan is that it will be this easy:
>
> git clone https://github.com/gramps-project/gramps_connect.git
> cd gramps_connect
> pip install -r requirements.txt
> python3 -m gramps_connect.app
>
> Only slightly more complicated if you don't have root and want to use a
> Python environment, or want to run it on another port.
>
> -Doug
>
>  
>
>
>     Anything that needs a special port appended to a URL, IMO, will make it
>     harder for general users to (install and) use.
>
>
> We'll make it as easy as we can.
>
> -Doug
>  
>
>
>     Arnold
>
>     ------------------------------------------------------------------------------
>     _______________________________________________
>     Gramps-devel mailing list
>     [hidden email]
>     <mailto:[hidden email]>
>     https://lists.sourceforge.net/lists/listinfo/gramps-devel
>
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Gramps-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gramps-devel
>

------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Mon, Dec 21, 2015 at 1:55 PM, Dave Walton <[hidden email]> wrote:
Hi Doug,

[Aside: Thanks for all your work on the sqlite DB layer!]

If I read this right, the idea is that the gramps server would be a
continuously running server, and not just a set of code that is called
on demand by an existing web server.  My concern with this (and I
suspect Arnold's concern as well) is that many (most?) hosting companies
do not allow running custom servers (the software kind) on their shared
servers (the hardware kind).  If gramps is its own server, then many
people including myself would be simply unable to run it without paying
high monthly costs for a dedicated server.  Isn't there a way to build
it as a set of scripts run by an existing Apache (or other) web server?

So, two points: 

1) You will be able to use standard Python installation methods that don't require root (see Python environments)

2) You can run the webserver to listen to a user-based port (such as 8000) if you don't have root.

In the old days, there was another method of running code using the Common Gateway Interface (CGI) directly from your server (eg, Apache), but most people don't do that any more (Apache's mod-cgi can help somewhat). That was a type of script that would only run when requested, and directly produced HTML. I don't think we want to use that old API.

As far as I know, hosting services do allow you to run custom web services. If you want to point me to a free webservice, I'd be glad to look at it. 

-Doug

PS - you're welcome!

 

Thanks,
Dave


On 12/21/2015 09:51 AM, Doug Blank wrote:
> On Mon, Dec 21, 2015 at 12:34 PM, <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>
>
>     On 21/12/2015 7:41 AM, Doug Blank wrote:
>     >
>     >
>     > Running a tornado server is not that different from running a Django
>     > server, except that Django required a separate system (WSGI with
>     > Apache, for example) to actually serve the files, whereas tornado has
>     > it built-in. But you are right that from your perspective, it is about
>     > the same.
>     >
>     So, suppose I have a web site on which I would want to share access to
>     my gramps data, the new proposed version will make that possible,
>     without my having to become some sort of guru?
>
>     I will be able to install it without problems and  without needing tech
>     support from the ISP?
>
>
> My plan is that it will be this easy:
>
> git clone https://github.com/gramps-project/gramps_connect.git
> cd gramps_connect
> pip install -r requirements.txt
> python3 -m gramps_connect.app
>
> Only slightly more complicated if you don't have root and want to use a
> Python environment, or want to run it on another port.
>
> -Doug
>
>
>
>
>     Anything that needs a special port appended to a URL, IMO, will make it
>     harder for general users to (install and) use.
>
>
> We'll make it as easy as we can.
>
> -Doug
>
>
>
>     Arnold
>
>     ------------------------------------------------------------------------------
>     _______________________________________________
>     Gramps-devel mailing list
>     [hidden email]
>     <mailto:[hidden email]>
>     https://lists.sourceforge.net/lists/listinfo/gramps-devel
>
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Gramps-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gramps-devel
>

------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1
On 21/12/2015 11:24 AM, Doug Blank wrote:

>
> So, two points:
>
> 1) You will be able to use standard Python installation methods that
> don't require root (see Python environments)
>
> 2) You can run the webserver to listen to a user-based port (such as
> 8000) if you don't have root.
>
> In the old days, there was another method of running code using the
> Common Gateway Interface (CGI) directly from your server (eg, Apache),
> but most people don't do that any more (Apache's mod-cgi can help
> somewhat). That was a type of script that would only run when
> requested, and directly produced HTML. I don't think we want to use
> that old API.
>
> As far as I know, hosting services do allow you to run custom web
> services. If you want to point me to a free webservice, I'd be glad to
> look at it.
>
My current ISP is not a free service, so I don't really know that
pointing you to their site would help.

My thought would be to install the application on a sub-domain - which
is where I currently have TNG installed and which is what my limited
experience leads me to expect from any other application I would
consider a replacement.
In that sort of environment, is a custom port really necessary?

I very much appreciate the work and time the gramps developers have
invested, but I am afraid, that the appreciation is based on, and very
much proportional to, some very utilitarian considerations :-)

Meanwhile, I have sent them a query to get their take on installing a
Python based Tornado server using a custom port. Hopefully they will be
able to put the issue to rest for me, one way or the other.

I'll let you know their answer, though it might take a few days, given
the time of year.

Arnold


------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

DS Blank
On Mon, Dec 21, 2015 at 3:17 PM, <[hidden email]> wrote:
On 21/12/2015 11:24 AM, Doug Blank wrote:
>
> So, two points:
>
> 1) You will be able to use standard Python installation methods that
> don't require root (see Python environments)
>
> 2) You can run the webserver to listen to a user-based port (such as
> 8000) if you don't have root.
>
> In the old days, there was another method of running code using the
> Common Gateway Interface (CGI) directly from your server (eg, Apache),
> but most people don't do that any more (Apache's mod-cgi can help
> somewhat). That was a type of script that would only run when
> requested, and directly produced HTML. I don't think we want to use
> that old API.
>
> As far as I know, hosting services do allow you to run custom web
> services. If you want to point me to a free webservice, I'd be glad to
> look at it.
>
My current ISP is not a free service, so I don't really know that
pointing you to their site would help.

My thought would be to install the application on a sub-domain - which
is where I currently have TNG installed and which is what my limited
experience leads me to expect from any other application I would
consider a replacement.
In that sort of environment, is a custom port really necessary?

All webservers listen on a port for requests. If you already have a webserver running (say, Apache) then gramps-connect will have to listen on a separate port, even if you have root access.

If you don't want to have that port number in the URL, then you can probably use Apache to rewrite the URL, or use something like nginx to map nice URLS to ports. But, like you, I am not a sys admin, and will have to experiment to figure out what works in a particular situation. 

-Doug
 

I very much appreciate the work and time the gramps developers have
invested, but I am afraid, that the appreciation is based on, and very
much proportional to, some very utilitarian considerations :-)

Meanwhile, I have sent them a query to get their take on installing a
Python based Tornado server using a custom port. Hopefully they will be
able to put the issue to rest for me, one way or the other.

I'll let you know their answer, though it might take a few days, given
the time of year.

Arnold


------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel


------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1


On 21/12/2015 12:38 PM, Doug Blank wrote:
On Mon, Dec 21, 2015 at 3:17 PM, <[hidden email]> wrote:
On 21/12/2015 11:24 AM, Doug Blank wrote:
>
> So, two points:
>
> 1) You will be able to use standard Python installation methods that
> don't require root (see Python environments)
>
> 2) You can run the webserver to listen to a user-based port (such as
> 8000) if you don't have root.
>
> In the old days, there was another method of running code using the
> Common Gateway Interface (CGI) directly from your server (eg, Apache),
> but most people don't do that any more (Apache's mod-cgi can help
> somewhat). That was a type of script that would only run when
> requested, and directly produced HTML. I don't think we want to use
> that old API.
>
> As far as I know, hosting services do allow you to run custom web
> services. If you want to point me to a free webservice, I'd be glad to
> look at it.
>
My current ISP is not a free service, so I don't really know that
pointing you to their site would help.

My thought would be to install the application on a sub-domain - which
is where I currently have TNG installed and which is what my limited
experience leads me to expect from any other application I would
consider a replacement.
In that sort of environment, is a custom port really necessary?

All webservers listen on a port for requests. If you already have a webserver running (say, Apache) then gramps-connect will have to listen on a separate port, even if you have root access.

If you don't want to have that port number in the URL, then you can probably use Apache to rewrite the URL, or use something like nginx to map nice URLS to ports. But, like you, I am not a sys admin, and will have to experiment to figure out what works in a particular situation.
Hi Doug,

My ISP got back to very promptly and here is their answer:
------------------
Hi Arnold,

Unfortunately, we cannot support Python Tornado framework and custom ports on shared servers. You will need a dedicated server for this.

Best Regards,

Mark
SKGOLD Hosting Support
http://www.skgoldhosting.com
----------------------------
This is the answer I was afraid of, even though it was pretty well what I expected
from the little I know that part of programming.
I had looked at this issue earlier when I first played with the current django
version, but did not have the time to follow up on it.

Even searching for Python web servers in the past little while does not
turn up anything that would be encouraging. :-(

Arnold

------------------------------------------------------------------------------

_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Webapp 2.0

Oldest1
In reply to this post by DS Blank
On 21/12/2015 12:38 PM, Doug Blank wrote:

>
> All webservers listen on a port for requests. If you already have a
> webserver running (say, Apache) then gramps-connect will have to
> listen on a separate port, even if you have root access.
>
> If you don't want to have that port number in the URL, then you can
> probably use Apache to rewrite the URL, or use something like nginx to
> map nice URLS to ports. But, like you, I am not a sys admin, and will
> have to experiment to figure out what works in a particular situation.
After thinking about this a bit more, the question comes to mind:
What would be the advantage of the 'server' version if it cannot be
deployed on the 'net?
What makes it different enough to warrant the extra effort?

What will it give us users that we cannot do now?

So I can run it off a server on my LAN?
What are chances all who need/want access to the gramps data will live
in the same house or close enough for Wifi access?


Arnold

------------------------------------------------------------------------------
_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
12