Main Page
From JMoney
Main Page at SourceForge | Admin | Bugs/Requests | Tasks | Screenshots | News | CVS | Files
| JMoney | |
|---|---|
| | |
| Information | |
| Maintainer: | Johann Gyger, Nigel Westbury |
| Latest release: | 0.4.5 () |
| Latest preview: | 1.0 () |
| Platform: | platform independent |
| Genre: | financial |
| License: | GNU GPL |
| Languages: | multilanguage |
| Website: | JMoney Homepage |
JMoney RCP is a personal finance (accounting) manager written in Java. It is built using the Eclipse RCP and can be extended using plug-ins. If you wish your accounts program had a feature specific to your needs, download JMoney RCP and write a plugin.
Contents |
Download
- Latest developer preview (28 August 2007)
| Filename | Size | Description |
|---|---|---|
| jmoney-rcp-1.0pre2-win32.zip | 35 MB | JMoney RCP 1.0pre2 for Windows |
| jmoney-rcp-1.0pre2-maxosx-carbon.zip | 33 MB | JMoney RCP 1.0pre2 for Mac |
Screenshots
Plug-in Overview
No accounting program can hope to include all the features required by users. Attempts to provide features required by users usually result in a bloated and difficult to maintain program. Some users are happy with most features of an accounting program but have specialized requirements. Some users have data stored in existing databases and wish to leave the data in the database and have an accounting program that can work with the data. Users may have additional data that they want to store with each account, category or entry. JMoney addresses all of these requirements and more through its support for plug-ins.
In order to support plug-ins, JMoney has been re-written to run on top of the Eclipse 3.3 Rich Client Platform. The full power of the Eclipse plug-in framework makes the JMoney finance manager a powerful extensible accounting framework. In addition to all the usual extension points provided by Eclipse for adding views, menu items, actions etc., the JMoney framework provides extension points for extending the data model. Plug-ins can add new properties to accounts, transactions, categories, entries and any other class of object in the data model. Plug-ins can add new classes that are derived from existing classes in the data model. Plug-ins may add new base classes to the data model. The JMoney framework also allows plug-ins to be developed that implement a datastore. Users may thus chose to store their JMoney accounts in, for example, a local XML file, an SQL database, or even a mixture of different datastore types.
It is expected that a large number of plug-ins will be developed. Plug-ins are planned for graphs, online banking (HBCI), etc.
Installation from Source
If you are a developer and you would like try out the plugable JMoney then you will need to checkout the source code from CVS and build it. To run JMoney RCP from source, you will need to follow these steps:
- Install Java 1.5 (JMoney uses generics and the enhanced for-each loop)
- Install Eclipse 3.3 (3.2 and prior are no longer supported by JMoney), the Eclipse RCP package includes everything needed by JMoney (except the optional BIRT plug-ins), other packages may be ok too
- Install Subclipse from update site http://subclipse.tigris.org/update_1.2.x
- Optional: If you want to run BIRT reports then install the BIRT plug-ins and their dependencies
- Start Eclipse with a new runtime workspace ('file' menu, select 'Switch Workspace')
- Select the 'Go to Workbench' icon (it is the icon on the right side)
- From the 'file' menu, select 'import'
- Select 'Checkout Projects from SVN' (Under 'Other') and press 'Next'
- Enter the repository location (URL) 'https://jmoney.svn.sf.net/svnroot/jmoney' and press 'Next'
- Expand 'trunk', then select all the projects listed under 'trunk' and press 'Next'
- Select 'Check out into the workspace as projects' and press 'Next'
- Select your preferred workspace location and press 'Finish'
The following problems have been known to occur:
- The net.sf.jmoney plug-in fails to build, showing the message "Project net.sf.jmoney is missing required source folder: 'src'". Cleaning all the projects fixes this problem.
Run JMoney as follows:
- Select 'Run' or 'Debug' (these actions are found both in the Run menu and in the toolbar)
- Create a new Eclipse Application
- Main tab: Select 'Run a product' and select 'net.sf.jmoney.product'
- Plugins tab: Select 'Choose plug-ins and fragments to launch from the list'. The quickest way to get a good list of plug-ins is as follows:
- press the 'Deselect All' button
- select 'Workspace Plug-ins' in the plug-in tree
- press the 'Add Required Plug-ins' button
- Press the 'Run' or 'Debug' button and that's it
Plug-ins
The following plug-ins are available from the JMoney project site on Sourceforge:
- core plug-in The core JMoney plug-in
- feature plug-in Used for packaging as WebStart
- categoriespanel plug-in Adds a page showing categories and allowing the user to maintain the category lists
- charts plug-in Displays charts
- copier plug-in Copies the entire data from one datastore to another
- currencypage plug-in Allows the user to select the currencies available for use and also to select the default currency
- gnucashXML plug-in Import and export accounting data from and to the GnuCash format
- jdbcdatastore plug-in A datastore plug-in: Uses a JDBC database as storage for the accounting data
- net.sf.jmoney.oda An ODA driver that provides the JMoney data to BIRT. This plug-in contains the pieces that are required
to run reports.
- net.sf.jmoney.oda.ui The An ODA driver that provides the JMoney data to BIRT. This plug-in contains the pieces that are
required to design a report but are not required to run a report.
- propagators.reconciliation plug-in A connector plug-in: This plug-in propagates data between the net.sf.jmoney.qif plug-in and the net.sf.jmoney.reconciliation plug-in
- qif plug-in Migrate data from other accounting programs by immporting and exporting QIF files
- reconciliation plug-in Adds a page that provides support for reconciling bank accounts
- reports plug-in View and print reports using Jasper Reports
- serializeddatastore plug-in A datastore plug-in: Stores the accounting data as an XML file
- test plug-in
- stocks plug-in A plug-in that allows you to keep track of stock portfolios
The following plug-ins are available from other providers:
- <add your own plug-in here>
Architecture
Here is a list of main line topics that describe the architecture of JMoney. The JMoney framework allows plug-ins to add user interface components and user features, extend the metadata with new properties and objects, and implement different datastores. The plug-ins must be able to work together even if each plug-in is not aware of the other plug-ins. To meet these requirements, there are a number of components of the framework that should be understood by plug-in developers.
- change notifications Plug-ins may need to know when changes have been made to the datastore. The plug-ins can then take action such as updating other tables in the datastore or displaying a message to the user.
- transactions Transaction support allows a plug-in to make changes to the datastore and see those changes but without other views or plug-ins seeing those changes until committed. Transactions also allow a plug-in to temporarily set the datastore to a state that is inconsistent, needing to bring it back to a consistent state only when the changes are committed.
- extending the data model Plug-ins may extend the data model. Properties may be added to accounting objects, or new object classes may be created by a plug-in.
- undo and redo JMoney supports undo and redo. This topic covers issues that plug-in developers should know if undo and redo is to work well with the plug-in.
- datastores JMoney allows plug-ins to be written that store the JMoney data in various different formats, including transactional databases. Implementing a datastore plug-in can be a complex task. However, if the datastore is a file format that follows the new/open/save/save as life cycle then the serializeddatastore plug-in provides an extension point which can be extended simply by implementing a method to read the data from file, a method to write the data to file, and a few other bits of information such as the file extension.
Release Instructions
Creating a new release is quite simple:
- Precondition: you need an appropriate Eclipse 3.3 distribution including the RCP delta pack for cross platform builds.
- Adapt the plug-in versions.
- Open the file net.sf.jmoney/jmoney.product with the Product Configuration Editor.
- Go to tab Branding > Text and adapt the version.
- Go to tab Overview and click on the Exporting > Eclipse Product Export Wizard link.
- The export wizard is quite intuitive.
