SoC2007

From GnuCash
Revision as of 12:58, 28 February 2007 by Cstim (talk | contribs) (Delimited file importer: I'd like to mentor the CSV import)
Jump to: navigation, search

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.

As a "delimited file" or "CSV file" might be built from all different kinds of data format, this task includes writing a wizard-like GUI that will guide the user through the necessary decisions, including but not limited to: Character encoding of the file, field separator character, semantics of each data field. Ideally, each required decision should have a reasonably guessed suggestion, and additionally there should be a "preview" of what the user's decision will result in.

  • Student:
  • Mentor: Cstim
  • 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)