Difference between revisions of "SoC2007"

From GnuCash
Jump to: navigation, search
(Proposed Projects)
(Add other project proposals)
Line 12: Line 12:
 
* '''Mentor:''' Derek Atkins
 
* '''Mentor:''' Derek Atkins
 
* '''Backup Mentor:'''
 
* '''Backup Mentor:'''
 
 
  
 
=== Register Rewrite ===
 
=== Register Rewrite ===
Line 23: Line 21:
 
* '''Backup Mentor:'''
 
* '''Backup Mentor:'''
  
 +
=== Delimited file importer ===
 +
 +
A CSV importer is the more direct way to say this, but general delimited file support would be best; think of the "import text file" dialog in gnumeric, and in fact try to leverage that same code, if possible.  Supporting the core transaction profile is a good start, but "extended" import options (Invoices, time-spent, &c.) would be nice too.
 +
 +
* '''Student:'''
 +
* '''Mentor:'''
 +
* '''Backup mentor:'''
 +
 +
==== Bulk/multi-transaction operations ===
 +
 +
The ability to change the name, value or split(s) of multiple transactions at once.  This can get tricky, but there are probably good use cases in the archives.
 +
 +
* '''Student:'''
 +
* '''Mentor:'''
 +
* '''Backup mentor:'''
 +
 +
=== Scheduled Invoices ===
 +
 +
Extending the Scheduled Transaction mechanism to support other scheduled concepts, like Invoices.
 +
 +
* '''Student:'''
 +
* '''Mentor:''' [[User:Jsled|jsled]]
 +
* '''Backup mentor:'''
 +
 +
=== Basic Inventory support ===
  
 +
As title; the basic tracking of items, counts of items and probably lots of items.
  
=== Suggestions from a user ===
+
* '''Student:'''
 +
* '''Mentor:'''
 +
* '''Backup mentor:'''
  
==== Simplify Stock actions ====
+
=== Gnome-vfs support ===
 +
 
 +
Use gnome-vfs for filesystem operations, gaining the features that it provides.  We'd need to think about how this fits in with any DB-backend stuff.
 +
 
 +
* '''Student:'''
 +
* '''Mentor:'''
 +
* '''Backup mentor:'''
 +
 
 +
=== Move app logic out of UI-handling code ===
 +
 
 +
This would generally involve identifying places where relatively non-UI specific work is done in response to button-presses or Action activiations, and moving that concept and handling into a Model, which the View controls.
 +
 
 +
* '''Student:'''
 +
* '''Mentor:'''
 +
* '''Backup mentor:'''
 +
 
 +
=== Enhanced Expression Parser ===
 +
 
 +
Basically, change the current recursive descent parser into a grammar-based parser.  Better: good error handling.  Better, still: a UI-based expression editor.  The goal here is to support existing and long-desired uses-cases around formulæ generated in the mortgage/loan druid.
 +
 
 +
* '''Student:'''
 +
* '''Mentor:''' [[User:Jsled|jsled]]
 +
* '''Backup mentor:'''
 +
 
 +
=== Migrate Reports ===
 +
 
 +
(Assuming expected availability of a new reporting framework...) migrate reports from HTML-emitting Scheme to ${scripting_language}-generator with templated HTML.  There are multiple part of that undefined, so helping define them might be the first step.
 +
 
 +
* '''Student:'''
 +
* '''Mentor:''' [[User:Jsled|jsled]]
 +
* '''Backup mentor:'''
 +
 
 +
== Suggestions from a user ==
 +
 
 +
=== Simplify Stock actions ===
  
 
Currently it is not to easy to perform common action on the stock accounts. Things like Buying / Selling / Divident / Splitting etc all take quite a bit of manual entering of data. Would be nice if there were a small GUI for it, like in Quicken/Money. A GUI where you only enter the needed information once and let GnuCash sort out everything else. Need to decide how the account structure should be, in regards to Cash, and Commodity. This so we can trace everything nicely.  
 
Currently it is not to easy to perform common action on the stock accounts. Things like Buying / Selling / Divident / Splitting etc all take quite a bit of manual entering of data. Would be nice if there were a small GUI for it, like in Quicken/Money. A GUI where you only enter the needed information once and let GnuCash sort out everything else. Need to decide how the account structure should be, in regards to Cash, and Commodity. This so we can trace everything nicely.  
Line 36: Line 96:
 
* '''Suggested by:''' [[User:Bengtt|Bengtt]] 00:21, 22 February 2007 (EST)
 
* '''Suggested by:''' [[User:Bengtt|Bengtt]] 00:21, 22 February 2007 (EST)
  
 
+
=== Exportable reports ===
==== Exportable reports ====
 
  
 
One thing I am missing from Money is the possibility to export all reports to whichever format I want. Like text, cvs, mail, html, printer etc
 
One thing I am missing from Money is the possibility to export all reports to whichever format I want. Like text, cvs, mail, html, printer etc
Line 45: Line 104:
 
* '''Backup Mentor:'''
 
* '''Backup Mentor:'''
 
* '''Suggested by:''' [[User:Bengtt|Bengtt]] 00:21, 22 February 2007 (EST)
 
* '''Suggested by:''' [[User:Bengtt|Bengtt]] 00:21, 22 February 2007 (EST)
 +
 +
  * There's no strict requirement to do so, but this is probably better sequenced after more reports overhaul is done. :(  [[User:Jsled|Jsled]] 19:26, 27 February 2007 (EST)

Revision as of 00:26, 28 February 2007

Google Summer of Code 2007

GnuCash is applying as a mentoring organization to the Google Summer of Code. The following are the proposed projects from the GnuCash developers.

Proposed Projects

QIF Importer Rewrite

GnuCash has a generic importer mechanism used by OFX and HBCI, but the QIF importer is still on its own, written in Scheme, and uses a completely separate User Interface. This project would invove rewriting the QIF importer in C and integrating it into the existing Generic Importer User Interface. One attempt to rewrite the importer in C was attempted, but the student does not need to continue with that re-write and may choose to start over again (or they may choose to continue with the aborted first attempt).

  • Student:
  • Mentor: Derek Atkins
  • Backup Mentor:

Register Rewrite

Finish the re-write of the GnuCash register to use the GtkTreeView. Make sure all the interfaces that use the Register (Transaction Register, SX Register, Invoice Register) can use the new UI.

  • Student:
  • Mentor:
  • Backup Mentor:

Delimited file importer

A CSV importer is the more direct way to say this, but general delimited file support would be best; think of the "import text file" dialog in gnumeric, and in fact try to leverage that same code, if possible. Supporting the core transaction profile is a good start, but "extended" import options (Invoices, time-spent, &c.) would be nice too.

  • Student:
  • Mentor:
  • Backup mentor:

= Bulk/multi-transaction operations

The ability to change the name, value or split(s) of multiple transactions at once. This can get tricky, but there are probably good use cases in the archives.

  • Student:
  • Mentor:
  • Backup mentor:

Scheduled Invoices

Extending the Scheduled Transaction mechanism to support other scheduled concepts, like Invoices.

  • Student:
  • Mentor: jsled
  • Backup mentor:

Basic Inventory support

As title; the basic tracking of items, counts of items and probably lots of items.

  • Student:
  • Mentor:
  • Backup mentor:

Gnome-vfs support

Use gnome-vfs for filesystem operations, gaining the features that it provides. We'd need to think about how this fits in with any DB-backend stuff.

  • Student:
  • Mentor:
  • Backup mentor:

Move app logic out of UI-handling code

This would generally involve identifying places where relatively non-UI specific work is done in response to button-presses or Action activiations, and moving that concept and handling into a Model, which the View controls.

  • Student:
  • Mentor:
  • Backup mentor:

Enhanced Expression Parser

Basically, change the current recursive descent parser into a grammar-based parser. Better: good error handling. Better, still: a UI-based expression editor. The goal here is to support existing and long-desired uses-cases around formulæ generated in the mortgage/loan druid.

  • Student:
  • Mentor: jsled
  • Backup mentor:

Migrate Reports

(Assuming expected availability of a new reporting framework...) migrate reports from HTML-emitting Scheme to ${scripting_language}-generator with templated HTML. There are multiple part of that undefined, so helping define them might be the first step.

  • Student:
  • Mentor: jsled
  • Backup mentor:

Suggestions from a user

Simplify Stock actions

Currently it is not to easy to perform common action on the stock accounts. Things like Buying / Selling / Divident / Splitting etc all take quite a bit of manual entering of data. Would be nice if there were a small GUI for it, like in Quicken/Money. A GUI where you only enter the needed information once and let GnuCash sort out everything else. Need to decide how the account structure should be, in regards to Cash, and Commodity. This so we can trace everything nicely.

  • Student:
  • Mentor:
  • Backup Mentor:
  • Suggested by: Bengtt 00:21, 22 February 2007 (EST)

Exportable reports

One thing I am missing from Money is the possibility to export all reports to whichever format I want. Like text, cvs, mail, html, printer etc

  • Student:
  • Mentor:
  • Backup Mentor:
  • Suggested by: Bengtt 00:21, 22 February 2007 (EST)
 * There's no strict requirement to do so, but this is probably better sequenced after more reports overhaul is done. :(  Jsled 19:26, 27 February 2007 (EST)