Difference between revisions of "Third-party Addons"

From Gramps
Jump to: navigation, search
(Aditional Gramplets)
m (5.2 released)
(Tag: Redirect target changed)
 
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Third-party plugins give you more tools to work with your genealogy data in GRAMPS. This page lists plugins written by users to work with the 3.1.x series version of GRAMPS, to be released in March 2009.
+
#REDIRECT [[5.2 Addons‎]]<noinclude>
 
+
[[Category:Developers/Packaging ]]
'''Plugins for the previous version''': [[3.0.x Third-party Plugins]] page.
+
[[Category:Versions|*]]
 
+
[[Category:Templates]]
{{man warn|Please Note:|Some of these plugins are not officially part of GRAMPS and are not supported by the GRAMPS Developers. Any feature requests or bugs with these plugins should be directed at the respective plugin writer, '''NOT''' to the GRAMPS bug tracker!.}}
+
</noinclude>
 
 
[[Category:Plugins]]
 
[[Category:Developers/General]]
 
 
 
= Installing Plugins in GRAMPS =
 
 
 
To use one of these plugins add the file(s) to your [[GRAMPS User Directory]] in the ''plugins'' subdirectory, and restart GRAMPS  (alternitively you can reload all plugins by selecting 'Help > Plugin Status > Reload Plugins').
 
 
 
That's it. The Plugin Status window will show you which plugins failed to load, double click on such an entry shows you the error. You can mail this error to the plugin author for non-official plugins.
 
 
 
= User contributed reports and tools =
 
 
 
{{man warn|Please Note:|These plugins are not officially part of GRAMPS and are not supported by the GRAMPS Developers. Any feature requests or bugs with these plugins should be directed at the respective plugin writer, '''NOT''' to the GRAMPS bug tracker!.}}
 
 
 
== Text ==
 
===Locations ===
 
* [[Media:Locations.gz|Locations.py]] was my "clean-up" report !
 
I use GRAMPS since many years but after some GEDCOM imports generated by other programs, there was no scheme for storing my data.
 
I had locations on person's address tab, on family, some events were missing, etc ...
 
I got one list by using multiple [[Gramps_3.1_Wiki_Manual_-_Filters|filter]] rules and I planned to generate a textual report using the power of filter and [[Using_database_API|report framework]], which will be able to generate a resume into one file.
 
==== Generated with :====
 
Coding way is not very quick or standard but is easy to understand and plugin does the job.
 
* It has been generated under [http://www.geany.org/ Geany]
 
* and checked with [http://www.logilab.org/projects/pylint pylint].
 
I used it for cleaning my database.
 
Feel free to improve it for your own need !
 
==== Limitations ====
 
* As this is a textual report, there is no changes on database.
 
It just retrieves informations from database. Do not need to make a backup before using this report.
 
* As code is not very complex, it should not introduce mistakes on output.
 
If there is an error, then there is a valid mail at the end of the plugin.
 
 
 
=== Repositories Report ===
 
* [[Media:RepositoriesReport.gz|RepositoriesReport.py]] was inspired by [[Gramps_3.1_Wiki_Manual_-_Reports#Place_Report|Place Report]].
 
It will list repositories and their related sources informations, such the call name or the type. Repository stores sources. I use this report for displaying some sources informations before going to a repository (like an archive).
 
There is a [[Quick_Views|quick report]] on 3.1, which do the same thing on active repository. Thanks to ''Alex Roitman'', who generated the "technical part" of the code ...
 
==== Generated with :====
 
Coding way is not very quick or standard but is easy to understand and plugin does the job.
 
* It has been generated under [http://www.geany.org/ Geany]
 
* and checked with [http://www.logilab.org/projects/pylint pylint].
 
I used it one time for cleaning my database.
 
Feel free to improve it for your own need !
 
==== Limitations ====
 
* As this is a textual report, there is no changes on database.
 
It just retrieves informations from database. Do not need to make a backup before using this report.
 
* As code is not very complex, it should not introduce mistakes on output.
 
If there is an error, then there is a valid mail at the end of the plugin.
 
 
 
= User contributed Quick Reports  =
 
 
 
{{man warn|Please Note:|These plugins are not officially part of GRAMPS and are not supported by the GRAMPS Developers. Any feature requests or bugs with these plugins should be directed at the respective plugin writer, '''NOT''' to the GRAMPS bug tracker!.}}
 
 
 
= Aditional Gramplets  =
 
 
 
{{man warn|Please Note:|These Gramplets may not be officially part of GRAMPS. Feature requests and bugs with these plugins should be directed to the contact information below. If you have written a [[Gramplets Gramplet]] and would like to have it listed here, please contact [mailto:[email protected] [email protected]].}}
 
 
 
{{GRAMPS:Third_Party_Gramplets}}
 
 
 
To install a Gramplet Plugin:
 
 
 
# click on the download link
 
# if the download is a file that ends in '''.py''', save it in your [[GRAMPS User Directory|GRAMPS User Directory]], in the plugins folder
 
# if the download is a file that ends in '''.zip''', save the contents of the file in your Gramps Directory, in the plugins folder
 
# restart gramps, or reload the plugins from the Help -> Plugin Status -> Reload button.
 
 
 
Note: If you are attempting to override an older Gramplet, the .py filename should be different from the original. For example, if you have an older FaqGramplet.py save the newer FaqGramplet.py as FaqGramplet101.py
 
 
 
= Official Plugins not distributed with GRAMPS =
 
 
 
This section lists some plugins that are not distributed as part of GRAMPS, but are written and maintained by the GRAMPS community. These plugins are not distributed because they are one of the following:
 
* Too advanced for the non technical users.
 
* Usefull for debugging purposes only
 
* Duplicate functionality that is present in other ways
 
* The plugin is not deemed sufficiently save/functional to distribute to all users. Not distributing them should reduce complaints, as users downloading them to so on purpose, aware of the possible issues.
 
 
 
TODO. Please, use another wiki page to describe the plugin, only mention a short abstract here.
 
 
 
 
 
 
 
= Information for Plugin writers =
 
== Share it==
 
Have you written a plugin for GRAMPS you want to share with the world? Here's how you do it:
 
 
 
* Add the correct license. GRAMPS is GPLv2, you use the GRAMPS plugin system, so make sure you have the correct license at the top of your file. See [[Howto: Contribute to GRAMPS]]
 
* Create a filename.tar.gz file of your plugin code
 
* Upload the code to this wiki
 
* Add a description of your plugin to this page. If possible, create a new wiki page, and refer to that page here, with a short description of what the plugin does
 
 
 
== Internationalize it ==
 
There is a big possibility that you are not a native English speaker and want your report in your mother tongue. To enable others to use your report, and make it easy to include your report later in GRAMPS without large changes, do the following for text:
 
 
 
==== Translation function ====
 
* Suppose you have a string Name, which you want for your own use in French, so Nom. Then write a translation function with the name _.
 
* For every string, pass it through your translation function: _("Name")
 
* Your translation function should then look like this:
 
 
 
mytranslation = {
 
    'Name' : "Nom"
 
    }
 
 
from gettext import gettext
 
import locale
 
lang = locale.getlocale()[0]
 
if lang:
 
    lang = lang.split('_')[0]
 
def _(string):
 
    if lang == 'fr':
 
        return mytranslation.get(string, gettext(string))
 
    else:
 
        return gettext(string)
 
 
 
Change here 'fr' by the language code of your language
 
* If the report becomes part of GRAMPS, it will suffice to delete this code and replace it by
 
from gettext import gettext as _
 
* Note that you only need to include strings that are not yet a part of GRAMPS, as those will be translated automatically by the gettext routine
 
 
 
==== Pitfalls ====
 
* We support right to left languages like Arabic, so never constructs text parts by concatenation of pieces. Always use full sentences/paragraphs with variable substitution, so that a right to left language can translate it correctly.
 
 
 
==== Template ====
 
* There is a possible [[Media:additional.pot.gz|template]] which lists references.
 
Translators may add references to their main translation.
 

Latest revision as of 04:39, 25 February 2024

Redirect to: