2013/5/21 Nick Hall <nick__hall@hotmail.com>
On 21/05/13 14:46, jerome wrote:
> If this could help, I made experimental extended (extand?) editors based on source/event/citation/repository objects. We can see common fields on screenshots added for a feature request: #5552[1].

Did you get any feedback or comments from anyone?

Birth, marriage and death certificates are easier than census
information, because the fields are fairly standard.  It is possible to
design a static editor to handle these, although you will end up with
quite a large number of entry boxes.

Do we want to investigate this route further?

Yes :-)

Ok, as indicated in other mails here, the main thing is that we want to store the actual certificate as entered by a person. So as to be able to retrace the steps.

I now installed Census Gramplet for the first time (putting in gramps itself improves discoverability), and tried to use it. I'm afraid I will have to read documentation, as I can't make heads or tails of it. Fortunately there is a help button :-) You should add help text to the New Census entry fields though! I also have Source at the top with a drop down arrow that does nothing ....
Ok, clicked help button, and help there, http://gramps-project.org/wiki/index.php?title=Census_Addons, is most strange, took me some minutes to figure out.
Possible that on the Dashboard the addon should not be allowed? Most confusing there as it ties to the active person.

Anyway, some investigation shows this ties all to specific attributes being written in source, and data stored in attributes of event object. But no extra check seems to be done, so if given age corresponds to birth event added, or occupation to an attribute in the person, ... . You also need to create a new person already while entering the census.

This way of storing data is easy to break I think by some 'wrong' edits by a user.

So, instead of that approach, a certificate should be it's own object in the database. It can have a number of lines, which all can have a number of attributes.
Something like

class Certificate()
def serialize(self):
        return (self.handle, self.gramps_id, cuni(self.title),  self.__type.serialize(), self.__subtype.serialize(),
                [rr.serialize() for rr in self.certline_list],

class CertLine()
def serialize(self):
         return (AttributeBase.serialize(self))

Here type refers to a cert. definition, which determines what attributes are used.

Next, a certificate has a generate, which determines what would be added in your data based on the certificate. So user gives a name, and generate then indicates a new person would be added, or can ask if a person in your fam tree with that name should be used.
The generate should be able to create families, birth events, ...

If user agrees, the data is created/changed in the family tree. A citation is added to the source corresponding to the certificate, but citation object would have a new field: certificate id, which user cannot change, and forms the backreference to the certificate that created the citation.

That's somewhat what I would like to see. The xml for current census data is here only the start, and indicates what the column names are, so the attributes in CertLine that goes with a specific Certificate type, and subtype.
The important extra piece is the save method in your current CensusGramplet.py, that should be somewhat generic, and link to the set certificate type.

All in all, this does link somewhat to evidence based data entry, in the sense that the certificate is stored and leads to data which has new citation entries linking to the certificate.


The census addons take another approach.  The definition of the data in
a certificate is stored in an xml file.  The user interface in the
editor can then be built dynamically.

The end result of this approach is flexibility, but with the drawback
that the interface will not look as nice.


> We can skip most comments, because some were for myself!:-\
> The start of this addon was a summary of existing 3rd party tools used for managing transcriptions[2] (most under Windows) and some previous tests via standalone scripts[3] related to Gramps but outside of the program!
> In addition, webapp (gramps-connect) was an other alternative.
> [1]http://www.gramps-project.org/bugs/view.php?id=5552
> [2]http://www.gramps-project.org/wiki/index.php?title=Talk:Census_Addons
> [3]http://www.gramps-project.org/wiki/index.php?title=Tellico#Forms

Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
Gramps-devel mailing list