Using Yggdrasil-geneology for basic contact database

96 views
Skip to first unread message

Tom Browder

unread,
Jan 4, 2012, 7:56:22 PM1/4/12
to yggdrasil-gen...@googlegroups.com
Leif, I'm happy to have found your site and your wonderfully detailed work on the complexities of human relationships.  After an initial experience with a basic address file for a Christmas card list, I saw the failure of such a "flat" database because of data redundancies, changes in relationships due to deaths, divorces, and remarriages within my immediate circle of family and friends.

I have wanted to tackle moving from Access to a web-based PostgreSql database but realized that I would have to study the process a little more--it looks like you have "solved" the problem and your system should work even for multiple families (i.e., unrelated friends).

I do have a web site that uses PostgreSql but not in a normalized way, my high school class web site: 


Thanks for your methodical work, and I look forward to trying out your implementation on my existing and planned web sites.

Best regards,

-Tom

Tom Browder
Niceville, FL 
USA

Leif Biberg Kristensen

unread,
Jan 5, 2012, 3:14:37 AM1/5/12
to yggdrasil-genealogy-discuss
Tom,
in its present form, I consider the code totally unsuitable for
exposure on a public web site. Personally, I run it on localhost in my
own home, behind a firewall, and have set up Apache to only listen on
127.0.0.1.

A future goal for the project is to introduce different access levels
of Guest, User, and Admin, where the Guest will be presented with a
read-only interface, the User will have access to basic update
routines, while the Admin will have full access to all routines. But
that goal seems yet to be very distant.

You may of course use the code in any way you want, but I figure that
you will have to do heavy modifications on it. It would probably be
easier to use my code as an example, and then build your own
application from the ground up.

regards, Leif

Tom Browder

unread,
Jan 5, 2012, 7:35:39 AM1/5/12
to yggdrasil-gen...@googlegroups.com
On Thu, Jan 5, 2012 at 02:14, Leif Biberg Kristensen
<leif.biberg...@gmail.com> wrote:
> Tom,
> in its present form, I consider the code totally unsuitable for
> exposure on a public web site.

Leif, I appreciate your security concerns and I've tried to keep
reasonably secure:

My present setup security setup is to (1) run all access to my db
sites (all on a single cloud server running Ubuntu 10.04 LTS) through
an SSL/TLS connection and (2) require a user name and password using
Apache htdigest to access the db data. I also restrict the remote db
port access to the IP address of the remote server.

At the moment I use MySQL for my classmate contact data (but I have
PostgreSQL up and running and plan to change over soon). Currently I
only allow update access to the secretary of the class (and those she
passes the credentials to) through a separate user name and password.

I run a cron job from my server at home which, through ssh, dumps the
remote db and copies it back here and commits it to my bazaar
repository for version control. I periodically review changes and can
modify error inputs and push the corrected db back to the remote
server and completely reload the db as good as new. The local bazaar
repository is also periodically backed up onto two other hard drives
via a cron job, and I swap one of the drives periodically with one in
my bank safe deposit box.

It may not be a perfect system, but there are no state secrets there
and I think it's good enough for the data being contained. However,
criticisms are always welcome.

I have browsed your code and it will take some study and
experimentation (and maybe extension) to use it for my immediate
purposes (although I see that expanding to family geneology, too).

I did notice in file "./ddl/README.txt" you mention file "dbinit.sql"
but I can't find it. I assume that code is incorporated now into
"datadef.sql"?

Thanks for your hard work and the release of it to the world.

Best regards,

-Tom

Leif Biberg Kristensen

unread,
Jan 5, 2012, 3:32:24 PM1/5/12
to yggdrasil-genealogy-discuss
> Leif, I appreciate your security concerns and I've tried to keep
> reasonably secure:

As you appear to know what you're doing, I'll rest my case :D

> I did notice in file "./ddl/README.txt" you mention file "dbinit.sql"
> but I can't find it.  I assume that code is incorporated now into
> "datadef.sql"?

Nice catch, thank you. That file hasn't been updated for a long time,
and I'd all but forgotten about it.

> Thanks for your hard work and the release of it to the world.

I think maybe "persistent" is the word, not "hard". I've been plodding
along with this project for ten years now, but I've never done any
hard work on it. Rather, I feel a bit bad about not bringing it more
up to standards during all that time.

regards, Leif

Tom Browder

unread,
Jan 9, 2012, 1:55:45 PM1/9/12
to yggdrasil-gen...@googlegroups.com
On Thu, Jan 5, 2012 at 14:32, Leif Biberg Kristensen
<leif.biberg...@gmail.com> wrote:
>> Leif, I appreciate your security concerns and I've tried to keep
>> reasonably secure:
>
> As you appear to know what you're doing, I'll rest my case :D
>
>> I did notice in file "./ddl/README.txt" you mention file "dbinit.sql"
>> but I can't find it.  I assume that code is incorporated now into
>> "datadef.sql"?
>
> Nice catch, thank you. That file hasn't been updated for a long time,
> and I'd all but forgotten about it.

I'm not sure if that means I'm correct or the file is still needed.
At any rate, I'm trying to get the exampledb to work on my test-bed
web site so, if the file is necessary, could I get a copy, please!

Regards,

-Tom

Leif Biberg Kristensen

unread,
Jan 9, 2012, 2:27:22 PM1/9/12
to yggdrasil-genealogy-discuss
No, you don't need it. Read the README.txt file in the main directory,
which says:

8<---
In the subdir /ddl, you'll find some sql command files. To initiate
the database, you must run them from your psql prompt like this:

exampledb=> \i /path/to/sql-files/datadef.sql
exampledb=> \i /path/to/sql-files/functions.sql
exampledb=> \i /path/to/sql-files/views.sql
8<---

I'm probably gonna drop the ddl/README.txt file entirely, as it
violates the Single Point Of Truth principle.

regards, Leif

Tom Browder

unread,
Jan 9, 2012, 2:38:58 PM1/9/12
to yggdrasil-gen...@googlegroups.com
On Mon, Jan 9, 2012 at 13:27, Leif Biberg Kristensen
<leif.biberg...@gmail.com> wrote:
> No, you don't need it. Read the README.txt file in the main directory,
...

> I'm probably gonna drop the ddl/README.txt file entirely, as it
> violates the Single Point Of Truth principle.

Good idea!

Regards,

-Tom

Reply all
Reply to author
Forward
0 new messages