Changes

Jump to: navigation, search

Addon:Lxml Gramplet

1,100 bytes added, 09:28, 14 August 2013
m
Faceted classification
''lxml gramplet'' is an experimental [[Gramplets|gramplet]] working under POSIX platform(s), which reads, writes (''not the original one; safe read only state''), transforms content of our [[GRAMPS_XML|Gramps XML]] file on the fly without an import into our database (Gramps session).
==Dependencies and file format==
* [http://lxml.de/ lxml] is a Pythonic binding for the C libraries [http://xmlsoft.org/ libxml2] and [http://xmlsoft.org/XSLT/ libxslt]. It is known for good performances by using C-level ([http://www.cython.org/ Cython]).
* [[GRAMPS_XML|Gramps XML]] file format is robust and well [[GRAMPS_XMLGramps XML#Gramps_XML_Resources|documented]].
==Goals==
The idea of this experimental '''lxml gramplet''' is to provide a way for using basic lxml features with Gramps XML files.
''XPath'', ''Xslt'', ''XML dump'', ''RelaxNG validationand XSD validations'', can be used and done by lxml, which provides an [http://lxml.de/compatibility.html API very close] to [http://docs.python.org/3/library/xml.etree.elementtree.html etree ElementTree module] from python 2.5 and later.
The experimental '''lxml gramplet''' aims to use these lxml features[1] by parsing a Gramps XML file generated by Gramps 3.4.x (or 3.3.x ) and to generate an output sample, using ''open'' [http://www.w3.org/ W3C] standards ([http://www.w3.org/standards/xml/ XML], [http://www.w3.org/standards/webdesign/ Web design], [http://www.w3.org/standards/webofservices/ Web services], etc ...).
* You can get a copy of this simple ''draft'' from Addon repository:
http://gramps-addonssvn.svncode.sourceforgesf.net/viewvcp/gramps-addons/code/trunk/contrib/lxml
* You can also [http://gramps-addons.svn.sourceforge.net/viewvc/gramps-addons/trunkbranches/gramps34/download/lxml.addon.tgz download and install it] as 3.4 addon.
Currently, this addon quickly explores multiple ways. Feel free to modify for your own use.
* [http://zim-wiki.org/index.html Zim] is a graphical text editor used to maintain a collection of wiki pages. All pages you create in zim are saved as plain text files with wiki formatting. This means that you can access your content with any other editor or file manager without being dependent on zim. You can even have your pages in a revision control system like CVS or use a Makefile to compile your notes into a webpage. Any images you add are just image files which are linked from the text files. This means that [http://zim-wiki.org/index.html zim] can call your standard programs to edit images. When you embed an image in a page the context menu for the image will offer to open it with whatever image manipulation programs you have installed. After editing you just reload the page to see the result. See also [http://zim-wiki.org/extras.html third party contributions].
 
===Collaborative indexes===
 
* Tiny Tafel [http://en.wikipedia.org/wiki/Tiny_Tafel]
 
* [[GENDEX]]
 
* [http://scrapy.org/ Scrapy] is a fast high-level screen scraping and web crawling framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing. It should support [[Gramps XML]], [[Gramps_4.0_Wiki_Manual_-_Manage_Family_Trees:_CSV_Import_and_Export|Gramps CSV]] and [[GEPS_009:_Import_Export_Merge|Gramps JSON]].
===Clients library for FamilySearch API===
===Database compare and merge===
* GrampsCompare.py, a python script for comparing data in 2 Gramps xml XML files. source: [http://sourceforge.net/mailarchive/message.php?msg_id=28173190 Archive (Oct 02, 2011) on gramps-devel mailing list] * [[ImportGramplet]]
source: * [http://sourceforgesvn.code.sf.net/mailarchivep/message.php?msg_id=28173190 Archive (Oct 02, 2011) on gramps-devel mailing listaddons/code/trunk/contrib/Differences/ Differences report]
===Database backend===
* Gramps Exhibit and experimental phase for [http://members.tele2.nl/m.d.nauta/typeless_data_entry/typeless_data_entry.html typeless data entry].
* [http://akara.info/ Akara] is a platform for developing data services available on the Web, using [http://en.wikipedia.org/wiki/Representational_state_transfer REST] architecture. Akara is open source software written in Python and C. eg, [http://recollection.zepheira.com/ Recollection project] for the Library of Congress. See the [http://recollection.zepheira.com/about/userguide/ user guide] or screencasts (''shockwave flash'') [http://outreach.zepheira.com/public/loc/recollection/video/recollection-augmentation.swf], [http://outreach.zepheira.com/public/loc/recollection/video/recollection-intro.swf], [https://www.youtube.com/watch?v=m-TD4jTWn3U]. * [[#Collaborative indexes|Scrapy]]
===Environment===
* [[Linux_Genealogy_CD#Ways_to_go_.3F|Genealogical ''user'' tablet]] could also provide a portable environment.
* A simple reader with a crossplatform lib: [http://en.wikipedia.org/wiki/QML qml], [http://qt.nokia.com/ qt4], [http://www.gtk.org/ gtk3], [http://kivy.org kivy], [http://pyjs.org/ pyjamas], [[#HTML_class|html5]]; for generating native apps.
===Faceted classification===
* A [http://en.wikipedia.org/wiki/Faceted_classification faceted classification], [http://unesdoc.unesco.org/Ulis/cgi-bin/ulis.pl?catno=133325&set=4B1BA8F9_1_463&database=ged&gp=0&mode=e&lin=1&ll=f system] proposed by [http://en.wikipedia.org/wiki/S._R._Ranganathan Shiyali Ramamrita Ranganathan] with the theory "[http://en.wikipedia.org/wiki/Five_laws_of_library_science five laws in library science]". See also [http://en.wikipedia.org/wiki/Folksonomy Folksonomy]. * [http://pythonhosted.org/Whoosh/ python-whoosh] can provide a simple way for [http://pythonhosted.org/Whoosh/facets.html generating facets in python].
===HTML class===
* Gtk3
GTK+3 provides an [http://git.gnome.org/browse/gtk+/log/?h=broadway HTML backend ] that allows GTK applications to run natively within an HTML5 web navigator.
See [http://people.gnome.org/%7Ealexl/broadway-screencast.ogg sample1], [http://youtu.be/AO-qca9ddqg sample2], [http://www.youtube.com/watch?v=hhMFD3ZCrIc sample3].
===Interface===
===Performances===
See [[GRAMPS_PerformanceGramps_Performance|Gramps performances]] for comparison on large datasets between different Gramps versions.
===Web applications===
* [[GEPS_013:_GRAMPS_Webapp_Gramps_Webapp|GEPS 013]] describes a web-based application that runs in your browser, and requires a server. A prototype is now on-line at http://gramps-connect.org/ which is running trunk on a sample database (id=admin1, password=gramps).
* [[DenominoViso]] plugin for GRAMPS is a third party plugin that creates an interactive graphical representation of a family tree. DenominoViso creates a grapical webpage in SVG/XHTML/javascript.
* [[Gramps-tweet]], an Addon mashup between Gramps and Twitter.
 
* [[#Collaborative indexes|Scrapy]]
 
* [http://www.newsblur.com/ NewsBlur], etc ...
===XQuery===
:"Or something close to SQL like XQuery so you can do querys on gramps xml Gramps XML database similar to SQL Query. It can works even in internet browser thru plugins. XML is quite self-explanatory. [http://www.zorba-xquery.com Zorba] provide python bindings for XQuery."
source: [http://sourceforge.net/mailarchive/message.php?msg_id=23856194 Archive (Oct 28, 2009) on gramps-user mailing list]

Navigation menu