https://gramps-project.org/wiki/api.php?action=feedcontributions&user=Terrel&feedformat=atomGramps - User contributions [en]2024-03-29T01:19:33ZUser contributionsMediaWiki 1.31.3https://gramps-project.org/wiki/index.php?title=GEPS_008:_File_Organization&diff=29935GEPS 008: File Organization2011-08-22T19:27:33Z<p>Terrel: propose root gramps package</p>
<hr />
<div>Gramps was originally written as a GTK application intended to only be used in a graphical environment. Over time, support has been added for other user interfaces (CLI and web). In order to reduce unnecessary dependencies between the various interfaces, the software architecture is being organized into 5 main categories of code - each in their own directory. The descriptions below provide the general purpose and scope of each category. Not all code in the source tree conforms to this architecture yet. However, new code should attempt to move the source in a direction that conforms to this organization. Moving to this architecture is an ongoing process and a work in progress. <br />
<br />
== root package: gramps ==<br />
If we plan to ever move to Python 2.7/3.x, creating a root package "gramps" and using absolute imports will simplify that transition. <br />
mkdir gramps<br />
touch gramps/__init__.py<br />
mv src/* gramps <br />
mv gramps src<br />
<br />
-- Terrel Shumway<br />
<br />
== src/gen/ ==<br />
This directory contains the core components of Gramps. The src/gen/ directory shall not have any dependencies on the other top level source directories (src/gui/, src/cli/, src/web/, etc). The src/gen/ directory also shall not have any dependencies on the gtk library.<br />
<br />
The word "gen" was chosen because it is short for "general" and "generic" which is a good way to describe code in this directory because it doesn't depend on or require a specific user interface. "gen" is also short for "genealogy" which is also an appropriate term for the code in this directory because it implements the "business logic" that makes Gramps a genealogy application.<br />
<br />
=== src/gen/db/ ===<br />
The db directory contains the code for manipulating the Gramps database.<br />
<br />
=== src/gen/display/ ===<br />
The display directory contains business logic for displaying database objects in textual form. For example, localized date display and name display code.<br />
<br />
=== src/gen/lib/ ===<br />
The lib directory contains the classes for the database objects.<br />
<br />
=== src/gen/plug/ ===<br />
The plug directory contains the core logic for registering and running plugins. It also contains any utility classes used by plugins.<br />
<br />
=== src/gen/plug/report/ ===<br />
This directory contains the base class for reports, constants, and basic utilities.<br />
<br />
=== src/gen/filters/ ===<br />
The filters directory contains the code for filtering objects.<br />
<br />
=== src/gen/mime/ ===<br />
The mime directory contains the code for handling mime types in Gramps.<br />
<br />
== src/gui/ ==<br />
This directory contains the code for the desktop graphical user interface. Any file that imports GTK or glade should live in this directory or a subdirectory of this directory.<br />
<br />
=== src/gui/plug/ ===<br />
The gui.plug directory contains windows, dialogs, and tools that the plugins will use.<br />
<br />
=== src/gui/plug/report ===<br />
This directory has the dialogs for running reports, such as selection criteria, file pickers, and paper sizes.<br />
<br />
=== src/gui/views/ ===<br />
This directory contains the code for the various graphical "views" in the GUI.<br />
<br />
=== src/gui/views/treemodels/ ===<br />
This directory contains the code for the models used in the GUI.<br />
<br />
=== src/gui/views/selectors/ ===<br />
This directory contains the code for the object selection dialogs in the GUI.<br />
<br />
=== src/gui/editors/ ===<br />
This directory contains the code for the object editors used in the GUI.<br />
<br />
=== src/gui/editors/displaytabs/ ===<br />
This directory contains the code for the tabs used in the GUI editors.<br />
<br />
=== src/gui/merge/ ===<br />
This directory contains the code for merging objects in the GUI.<br />
<br />
=== src/gui/widgets/ ===<br />
This directory contains widgets used by the GUI<br />
<br />
== src/cli/ ==<br />
This directory contains the code for the command line interface.<br />
<br />
== src/web/ ==<br />
This directory contains the code for the gramps-connect web interface.<br />
<br />
== src/plugins/ ==<br />
This directory contains all the plugins for Gramps.<br />
<br />
=== src/plugins/docgen/ ===<br />
This directory contains all the document generator plugins.<br />
<br />
=== src/plugins/gramplet/ ===<br />
This directory contains all the gramplet plugins.<br />
<br />
=== src/plugins/tool/ ===<br />
This directory contains all the tool plugins.<br />
<br />
=== src/plugins/report/ ===<br />
This directory contains all the report plugins.<br />
<br />
[[Category:GEPS|F]]</div>Terrelhttps://gramps-project.org/wiki/index.php?title=Linux_Genealogy_CD&diff=29934Linux Genealogy CD2011-08-22T17:25:00Z<p>Terrel: install to an existing platform instead of spinning a new one</p>
<hr />
<div>{{languages|Linux Genealogy CD}}<br />
[[Image:cdlabel_web_l.jpg|right]]<br />
The Linux Genealogy Desktop CD 6.1 (Released: 2010-11-29) (''The CD is available only for the x86 architecture.'')<br />
<br />
Includes the following pre-installed genealogy software:<br />
*'''GRAMPS''' 3.2.5<br />
<br />
As well as [http://www.graphviz.org/ GraphViz] the program that draws pretty charts and graphs in GRAMPS.<br />
<br />
This Live CD is based on [https://help.ubuntu.com/10.10/ Ubuntu 10.10 (The Maverick Meerkat )] Desktop CD.<br />
<br />
In addition to the Live Session, this disk also allows permanent installation of Linux and genealogical software on your computer's hard drive. This way you achieve adequate speed and the ability to save your data, and can do real work with your Linux software. Everything is similar to the Live Session, except that this is a permanent setup.<br />
<br />
==Obtaining the CD==<br />
The CD can be obtained via:<br />
* The SourceForge, [http://sourceforge.net/projects/gramps/files/Stable/3.2.5/ GRAMPS download page]<br />
* Centralized download. Thanks to the hosting kindly donated to GRAMPS, the CD images can be downloaded via:<br />
** [http://ftp5.gwdg.de/pub/linux/gramps/ http] protocol.<br />
** [ftp://ftp5.gwdg.de/pub/linux/gramps/ ftp] protocol.<br />
** rsync (rsync://ftp5.gwdg.de/pub/linux/gramps/) protocol.<br />
<!--<br />
* BitTorrent download. Use these files to download and verify the CD image via BitTorrent: [http://www.gramps-project.org/download/lgenealogy-4.0-desktop-i386.iso.torrent torrent file], [http://www.gramps-project.org/download/lgenealogy-4.0-desktop-i386.iso.md5sum its md5sum], and [http://www.gramps-project.org/download/lgenealogy-4.0-desktop-i386.iso.md5sum.gpg its gpg signature]. Please keep in mind that the torrent downloads are provided by a few kind souls from their personal computers and that the speed and the very availability of the torrents depends entirely on them.<br />
--><br />
* Purchase a CD. An alternative to downloading the CD image is to purchase the physical CD. The CD is currently available for purchase in [http://www.cdfhs.org.au/zenshop/index.php?main_page=product_info&cPath=1&products_id=16 Australia] and the [http://fstore.roitman.org/ USA].<br />
* Current and previous versions of the CD are also stored on [http://www.gramps-project.org/cdrom Gramps website]<br />
<br />
== Developers ==<br />
<br />
Thanks to Alex Roitman, the details to create the Live CD are now available for future development. If you would like to contribute to this please email the gramps-developers mailing list.<br />
<br />
* http://sourceforge.net/projects/gramps-cd/ - Sources for Live CD<br />
* [http://packages.ubuntu.com/maverick/uck Ubuntu Customization Kit] is a tool that helps you customizing official Ubuntu Live CDs. You can add any package to the live system like, for example, language packs, applications, etc.<br />
<br />
=== Ways to go ? ===<br />
<br />
* A genealogy tablet ?<br />
<br />
-- I wouldn't dream of doing genealogy research without a real keyboard and a big monitor. <br />
<br />
-- A tablet may be useful for presentations (showing off). Figuring out how to install gramps (a subset) on an iPad or a Honeycomb tablet (Jython?) might be a better use of time than spinning a custom system.<br />
<br />
-- OTOH, making a nice UI for a tablet would be an interesting project. (I can just see a bunch of people I know futzing with Gramps during sacrament meeting. <g>)<br />
<br />
There is a [http://wiki.openembedded.org/index.php/Required_software#OpenEmbedded.27s_Software_Requirements script] for [http://wiki.openembedded.org/index.php/Main_Page OpenEmbedded] support or [http://www.buildroot.org/ buildroot], [http://ymorin.is-a-geek.org/projects/crosstool crosstool-NG], [http://www.pengutronix.de/software/ptxdist/index_en.html PTXdist], ...<br />
* Our [[GEPS_013:_GRAMPS_Webapp|Web Application]] as a local application.<br />
* Provide more [http://en.wikipedia.org/wiki/Free_and_open_source_software FLOSS] software: [http://www.gramps-project.org/wiki/index.php?title=Other_genealogy_software programs], [http://www.gramps-project.org/wiki/index.php?title=Other_genealogy_tools tools].<br />
<br />
* Consider Lubuntu as a base instead of the full (fat!) Ubuntu.<br />
* The people I would share this with would want it to include PAF (works with wine) and Family Search Indexing (I still have to try this.)<br />
<br />
== Translations ==<br />
<br />
If after installation, your desktop is not fully translated to your selected locale:<br />
# have a look at Menu -> System -> Administration -> Languages support [http://packages.ubuntu.com/en/maverick/language-selector]<br />
# or manualy [http://packages.ubuntu.com/en/maverick/all/translations/ download packages with your language code]. Then under a console:<br />
$ sudo dpkg -i *.deb<br />
<br />
=== LibreOffice ===<br />
<br />
[http://www.documentfoundation.org/download/ LibreOffice 3.3 ]<br />
<br />
=== OpenOffice ===<br />
<br />
[http://packages.ubuntu.com/en/maverick/openoffice.org-l10n-3.2 Lang pack] for OpenOffice 3.2.1.<br />
(require [http://packages.ubuntu.com/en/maverick/openoffice.org-l10n-common openoffice.org-l10n-common])<br />
<br />
[[Category:Documentation]]</div>Terrel