In reply to this post by DS Blank



Harvey



On Thu, 2016-05-26 at 07:26 -0400, Doug Blank wrote:

> Gramps users,

>

> Gramps 5.0 will be available shortly as an "alpha" download. This

> alpha version should be considered dangerous, and only designed for

> testing for those that have some experience with Gramps and software

> testing in general. After thorough testing, we'll have a real release

> of Gramps 5.0 ready within a few months.

>

> Gramps 5.0 has a number of enhancements at a variety of levels: more

> options on reports, better descriptions, better user experience,

> better window placement, lots of bug fixes, speed-ups, new columns,

> etc. We'll have a general announcement soon listing all of the

> enhancements. However, it may not look all that different from Gramps

> 4.2. But there is a lot you don't see that is different "under the

> hood."

>

> There are no data changes with this version. That is, no new tags, or

> place changes---there are no changes to the XML, the data is still

> version 18 [1]. We purposively made no changes to the data formats so

> that we could focus on reworking the code that connects to the low

> -level database (what we call the database backend).

>

> When Gramps 2.0 was released in 2005, the Berkeley Database [2, 6]

> (sometimes referred to as "BSDDB") was chosen as the Gramps

> underlying database backend. It was well supported and came with

> Python. However, the Python project announced in 2008 that in Python

> 2.6 BSDDB would be deprecated and removed in Python 3. One of the

> main reasons the Python project deprecated BSDDB was that "bsddb is

> 'heavy weight' - ...of the standard library, it has the most

> dependencies and nuances to cross platform maintenance" [5, 8].

>

> BSDDB has served us well over the years, but has some issues beyond

> its "heavy weight" and its removal from the standard Python library.

> First, it is completely possible (and has happened) that the

> operating system (say, Linux) could update the software drivers that

> access the database. Berkeley DB is very picky about exactly what

> software can open what version of the database. This would result in

> users not being able to access their data after an OS upgrade. Also,

> the way that we have Berkeley DB configured can be very sensitive to

> multiple users. For example, if you happen to open your family tree

> twice, then your tree may be corrupted. Or improper closing can make

> it difficult to re-open your tree. Finally, we did not have a good

> way to make Berkeley DB multi-user. This was a real problem for

> projects like Gramps Connect that would like to use your family tree

> over the web.

>

> To solve these problems, we made it so that Gramps can use different

> database backends. Gramps 5.0 will ship with two database backends:

> Berkeley DB (your standard, existing family tree files), and a new

> implementation called DB-API. DB-API is a generic interface to allow

> many different SQL databases to have approximately the same interface

> [3].

>

> The default implementation of Gramps' DB-API will use sqlite [7].

> Sqlite has a very robust file format [4], and uses SQL for accessing

> the data. This should provide a level of reliability and robustness

> of your trees not available before. Sqlite is one of the most used,

> robust application file formats in use today. You will also be able

> to use other SQL programs. We have preliminary testing for MySQL and

> postgresql.

>

> Gramps 5.0 will continue to use BSDDB as the default database

> backend. However, Gramps 5.0 will begin testing DB-API as an

> alternative. If DB-API works out well for users, ONLY THEN we will

> remove Berkeley DB in future versions of Gramps.

>

> Some questions/answers:

>

> Q1: Does using SQL mean that Gramps data will be "relational"?

>

> A1: No. Gramps data is hierarchical, and is stored in SQL as binary

> "blobs". However, much of Gramps data will also be stored in SQL

> fields and indexed. This can make the SQL database large, but fast.

>

> Q2: Will I be able to use Gramps with multiple users simultaneously?

>

> A2: Yes, but with some caveats: currently there is no indication in

> the Gramps windows that another user may be editing or deleting data

> at the same time. Perhaps a future version of Gramps will address

> that [9].

>

> Q3: Can I share my database via a file-sharing system like Dropbox

> and have simultaneous users?

>

> A3: No. Users (even from different operating systems) can open a

> dropbox database, but *simultaneous* use is not supported. (This is a

> dropbox/shared-file limitation, not a Gramps issue). However, as long

> as you keep the use to one user at a time, this should work well.

>

> Q4: Can my family tree be on a remote computer for anyone with a

> password to use?

>

> A4: Yes. Using sophisticated SQL programs like MySQL or postgresql,

> you can put your database on the internet. However, this will not be

> as fast as having your data local. Future versions of Gramps may

> address this.

>

> Q5: Will Gramps run faster with the new backend?

>

> A5: Some operations may run faster, but other operations may actually

> run slower. Gramps 5.0 is largely about just making SQL compatible

> with Gramps. Tests have been performed to make sure running times are

> very close. Future versions of Gramps could focus on speed.

>

> Q6: Will there be an easy way to convert my Berkeley DB to the new

> sqlite/DB-API?

>

> A6: Yes. There is a "Convert" button in the Family Tree Manager. More

> details and documentation will be available.

>

> If you have additional questions or concerns, please let us know.

>

> References

>

> [1] -

> s#Detailed_Changes

> [2] -

> [3] -

> [4] -

> [5] -

> [6] -

> [7] -

> [8] -

> ddb-be-removed-from-python/

> [9] -

> -user_record_locking_and_editing

>

>

> On Mon, May 23, 2016 at 5:22 AM, Harvey Nimmo <

> wrote:

> > Does anyone know what the roadmap is for Gramps version 5?

> >

> > Cheers

> > Harvey

> >

> > -------------------------------------------------------------------

> > -----------

> > Mobile security can be enabling, not merely restricting. Employees

> > who

> > bring their own devices (BYOD) to work are irked by the imposition

> > of MDM

> > restrictions. Mobile Device Manager Plus allows you to control only

> > the

> > apps on BYO-devices by containerizing them, leaving personal data

> > untouched!

> >

> > _______________________________________________

> > Gramps-users mailing list

> >

> >

> > > Gramps users,> Gramps 5.0 will be available shortly as an "alpha" download. This> alpha version should be considered dangerous, and only designed for> testing for those that have some experience with Gramps and software> testing in general. After thorough testing, we'll have a real release> of Gramps 5.0 ready within a few months.> Gramps 5.0 has a number of enhancements at a variety of levels: more> options on reports, better descriptions, better user experience,> better window placement, lots of bug fixes, speed-ups, new columns,> etc. We'll have a general announcement soon listing all of the> enhancements. However, it may not look all that different from Gramps> 4.2. But there is a lot you don't see that is different "under the> hood."> There are no data changes with this version. That is, no new tags, or> place changes---there are no changes to the XML, the data is still> version 18 [1]. We purposively made no changes to the data formats so> that we could focus on reworking the code that connects to the low> -level database (what we call the database backend).> When Gramps 2.0 was released in 2005, the Berkeley Database [2, 6]> (sometimes referred to as "BSDDB") was chosen as the Gramps> underlying database backend. It was well supported and came with> Python. However, the Python project announced in 2008 that in Python> 2.6 BSDDB would be deprecated and removed in Python 3. One of the> main reasons the Python project deprecated BSDDB was that "bsddb is> 'heavy weight' - ...of the standard library, it has the most> dependencies and nuances to cross platform maintenance" [5, 8].> BSDDB has served us well over the years, but has some issues beyond> its "heavy weight" and its removal from the standard Python library.> First, it is completely possible (and has happened) that the> operating system (say, Linux) could update the software drivers that> access the database. Berkeley DB is very picky about exactly what> software can open what version of the database. This would result in> users not being able to access their data after an OS upgrade. Also,> the way that we have Berkeley DB configured can be very sensitive to> multiple users. For example, if you happen to open your family tree> twice, then your tree may be corrupted. Or improper closing can make> it difficult to re-open your tree. Finally, we did not have a good> way to make Berkeley DB multi-user. This was a real problem for> projects like Gramps Connect that would like to use your family tree> over the web.> To solve these problems, we made it so that Gramps can use different> database backends. Gramps 5.0 will ship with two database backends:> Berkeley DB (your standard, existing family tree files), and a new> implementation called DB-API. DB-API is a generic interface to allow> many different SQL databases to have approximately the same interface> [3].> The default implementation of Gramps' DB-API will use sqlite [7].> Sqlite has a very robust file format [4], and uses SQL for accessing> the data. This should provide a level of reliability and robustness> of your trees not available before. Sqlite is one of the most used,> robust application file formats in use today. You will also be able> to use other SQL programs. We have preliminary testing for MySQL and> postgresql.> Gramps 5.0 will continue to use BSDDB as the default database> backend. However, Gramps 5.0 will begin testing DB-API as an> alternative. If DB-API works out well for users, ONLY THEN we will> remove Berkeley DB in future versions of Gramps.> Some questions/answers:> Q1: Does using SQL mean that Gramps data will be "relational"?> A1: No. Gramps data is hierarchical, and is stored in SQL as binary> "blobs". However, much of Gramps data will also be stored in SQL> fields and indexed. This can make the SQL database large, but fast.> Q2: Will I be able to use Gramps with multiple users simultaneously?> A2: Yes, but with some caveats: currently there is no indication in> the Gramps windows that another user may be editing or deleting data> at the same time. Perhaps a future version of Gramps will address> that [9].> Q3: Can I share my database via a file-sharing system like Dropbox> and have simultaneous users?> A3: No. Users (even from different operating systems) can open a> dropbox database, but *simultaneous* use is not supported. (This is a> dropbox/shared-file limitation, not a Gramps issue). However, as long> as you keep the use to one user at a time, this should work well.> Q4: Can my family tree be on a remote computer for anyone with a> password to use?> A4: Yes. Using sophisticated SQL programs like MySQL or postgresql,> you can put your database on the internet. However, this will not be> as fast as having your data local. Future versions of Gramps may> address this.> Q5: Will Gramps run faster with the new backend?> A5: Some operations may run faster, but other operations may actually> run slower. Gramps 5.0 is largely about just making SQL compatible> with Gramps. Tests have been performed to make sure running times are> very close. Future versions of Gramps could focus on speed.> Q6: Will there be an easy way to convert my Berkeley DB to the new> sqlite/DB-API?> A6: Yes. There is a "Convert" button in the Family Tree Manager. More> details and documentation will be available.> If you have additional questions or concerns, please let us know.> References> [1] - https://gramps-project.org/wiki/index.php?title=Database_Format > s#Detailed_Changes> [2] - https://en.wikipedia.org/wiki/Berkeley_DB > [3] - https://www.python.org/dev/peps/pep-0249/ > [4] - https://www.sqlite.org/appfileformat.html > [5] - https://www.python.org/dev/peps/pep-3108/#id54 > [6] - https://docs.python.org/2/library/bsddb.html > [7] - https://docs.python.org/3.5/library/sqlite3.html > [8] - http://jessenoller.com/2008/09/04/stirred-up-dem-bees-should-bs > ddb-be-removed-from-python/> [9] - https://gramps-project.org/wiki/index.php?title=GEPS_042:_Multi > -user_record_locking_and_editing> On Mon, May 23, 2016 at 5:22 AM, Harvey Nimmo < [hidden email] > wrote:> > Does anyone know what the roadmap is for Gramps version 5?> >> > Cheers> > Harvey> >> > -------------------------------------------------------------------> > -----------> > Mobile security can be enabling, not merely restricting. Employees> > who> > bring their own devices (BYOD) to work are irked by the imposition> > of MDM> > restrictions. Mobile Device Manager Plus allows you to control only> > the> > apps on BYO-devices by containerizing them, leaving personal data> > untouched!> > https://ad.doubleclick.net/ddm/clk/304595813;131938128;j > > _______________________________________________> > Gramps-users mailing list> > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/gramps-users > >

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

Mobile security can be enabling, not merely restricting. Employees who

bring their own devices (BYOD) to work are irked by the imposition of MDM

restrictions. Mobile Device Manager Plus allows you to control only the

apps on BYO-devices by containerizing them, leaving personal data untouched!

https://ad.doubleclick.net/ddm/clk/304595813;131938128;j

_______________________________________________

Gramps-users mailing list

[hidden email]

https://lists.sourceforge.net/lists/listinfo/gramps-users

Great news! Many thanks for this comprehensive low-down.HarveyOn Thu, 2016-05-26 at 07:26 -0400, Doug Blank wrote:------------------------------------------------------------------------------Mobile security can be enabling, not merely restricting. Employees whobring their own devices (BYOD) to work are irked by the imposition of MDMrestrictions. Mobile Device Manager Plus allows you to control only theapps on BYO-devices by containerizing them, leaving personal data untouched!_______________________________________________Gramps-users mailing list