update todo lists

This commit is contained in:
Simon Michael 2011-08-23 13:22:57 +00:00
parent 8264bf6ada
commit d700a7a72d

266
NOTES
View File

@ -27,7 +27,24 @@ ABILITY TO SEE. --Scott McCloud, Understanding Comics
** less is more ** less is more
** code review/pair programming ** code review/pair programming
* todo/backlog * todo
** shortlist for next release
*** redo subcommand detection
*** fix tests
*** docs: manual needs updating for 0.15 changes
*** parsing: alias directives should be modified by account directives
*** web: should take port from base-url when appropriate
*** web: --base-url trailing slash gives redirect loop
hledger-web --port 5001 --base-url http://localhost:5001/
*** web: account patterns on command line are ignored
*** web: loses -B after an edit, and/or a filesystem edit
*** finish release notes
*** prepare for funded binaries
*** prepare announcement
*** release testing
*** bump version
*** release
** documentation, marketing ** documentation, marketing
*** developer notes & log *** developer notes & log
*** intro brainstorming *** intro brainstorming
@ -60,7 +77,6 @@ hledger helps you track and understand your finances, making calculations based
Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable. Features: reads transactions in journal, timelog, or CSV format; handles multi-currency/multi-commodity transactions; prints the chart of accounts, account balances, or transactions you're interested in, quickly; scriptable.
*** website *** website
**** add tables of contents **** add tables of contents
**** integrate binaries, demo, pastebin **** integrate binaries, demo, pastebin
@ -543,12 +559,6 @@ using be more place holders?
**** usability **** usability
**** download & usage stats **** download & usage stats
** errors ** errors
*** about:
The quick bug list - predates the web-based bug tracker, still in use as
front-line tracker by the org-mode-comfortable hledger developer(s)
*** parsing: timezone should be supported in historical price records, elsewhere ? (greenskeleton)
https://gist.github.com/972281
*** tools: avoid haskell compiles and compile errors while setting up makefile vars *** tools: avoid haskell compiles and compile errors while setting up makefile vars
joyful$ make help joyful$ make help
GHCi runtime linker: fatal error: I found a duplicate definition for symbol GHCi runtime linker: fatal error: I found a duplicate definition for symbol
@ -621,17 +631,13 @@ expecting comment or new-line
**** TODO Needs minimal testcase **** TODO Needs minimal testcase
*** register: intervals with unspecified from should start from first txn not first matched txn ? *** register: intervals with unspecified from should start from first txn not first matched txn ?
**** TODO Needs example! **** TODO Needs example!
*** register: report items don't indicate the new transaction with successive identical transactions *** register: with adjacent identical transactions, posting report items don't indicate the change of transaction
getitems (p:ps) pprev b = i:(getitems ps p b') getitems (p:ps) pprev b = i:(getitems ps p b')
where where
i = mkitem isfirst p b' i = mkitem isfirst p b'
isfirst = ptransaction p /= ptransaction pprev isfirst = ptransaction p /= ptransaction pprev
b' = b + pamount p b' = b + pamount p
*** web: --base-url trailing slash gives redirect loop
hledger-web --port 5001 --base-url http://localhost:5001/
*** web: account patterns on command line are ignored
*** web: loses -B after an edit, and/or a filesystem edit
*** #25 can't print non-ascii in windows console *** #25 can't print non-ascii in windows console
http://code.google.com/p/hledger/issues/detail?id=25 http://code.google.com/p/hledger/issues/detail?id=25
http://blog.andrewbeacock.com/2008/12/rxvt-better-console-for-cygwin-unix-on.html http://blog.andrewbeacock.com/2008/12/rxvt-better-console-for-cygwin-unix-on.html
@ -639,6 +645,9 @@ http://www.burningcutlery.com/derek/winsetup/
http://msdn.microsoft.com/en-us/library/ms714415(v=VS.85).aspx http://msdn.microsoft.com/en-us/library/ms714415(v=VS.85).aspx
*** auto-creating missing journal files - annoying or helpful ? *** auto-creating missing journal files - annoying or helpful ?
** refactoring, cleanup ** refactoring, cleanup
*** use matchers for command line too
**** design cli, backwards compatibility strategy
**** replace optsToFilterSpec
*** optionsgeddon oh my god *** optionsgeddon oh my god
**** old help **** old help
Usage: hledger [OPTIONS] COMMAND [PATTERNS] Usage: hledger [OPTIONS] COMMAND [PATTERNS]
@ -691,7 +700,7 @@ expressions which filter by account name. Prefix a pattern with desc: to
filter by transaction description instead, prefix with not: to negate it. filter by transaction description instead, prefix with not: to negate it.
When using both, not: comes last. When using both, not: comes last.
**** implementations **** attempts
***** original getopts ***** original getopts
progname_cli = "hledger" progname_cli = "hledger"
@ -1742,14 +1751,9 @@ testmain = do
http://www.haskell.org/haskellwiki/Heterogenous_collections http://www.haskell.org/haskellwiki/Heterogenous_collections
make cmdargs generate flat help from nested ADTs make cmdargs generate flat help from nested ADTs
make cmdargs pass through extra opts without -- make cmdargs pass through extra opts without --
**** todo **** still to do
move *FromOpts into toOpts move *FromOpts into toOpts
*** use matchers for command line
**** todo
design cli, backwards compatibility ?
replace optsToFilterSpec
*** review/simplify apis *** review/simplify apis
simplify option types ? simplify option types ?
@ -1778,63 +1782,46 @@ http://ajaxcssblog.com/jquery/url-read-request-variables/
*** inspiration *** inspiration
http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines http://community.haskell.org/~ndm/downloads/paper-hoogle_overview-19_nov_2008.pdf -> Design Guidelines
** features/wishlist ** features/wishlist
*** setting balances *** web: can't find out total income:7th total in june at http://localhost:5005/register?q=inacct%3Aassets%3Atreasury !
You can accomplish "setting to the bank's view" with a transaction like this: *** web: update/remove browser startup
*** simple hledger.org/topic help urls, like php.net
2011-08-12 Sample
Assets:Checking = $200.00
Equity:Adjustments
This tells Ledger (Git/3.0) that your checking account's balance must be $200
after this transaction is completed. It will put whatever amounts are
required to accomplish this into the Equity:Adjustments account.
what about balance assertions ?
*** --help-web and web ui help links that go to online help, with paragraph comments & chat *** --help-web and web ui help links that go to online help, with paragraph comments & chat
cf clients & profits interactive user guide, php.net, realworldhaskell etc. cf clients & profits interactive user guide, php.net, realworldhaskell etc.
*** directives without ! *** parsing: accounts tree & metadata specification
*** account prefix should remain in effect till end directive or end of all data, like ledger ; chart of accounts
*** account prefix should preserve non-balanced postings ; defines allowed account names, hierarchy, default sort order,
*** account prefix should be a special case of alias ? ; and some metadata (account numbers, cf http://www.netmba.com/accounting/fin/accounts/chart/)
*** alias directives should be modified by account directives ACCOUNTS
*** -X, report in target commodity assets ; :number: 1000
cash ; :number: 1010
HT7 ; :number: 1011
jan ; :number: 1011.01
feb ; :number: 1011.02
mar ; :number: 1011.03
RSG ; :number: 1012
jan ; :number: 1012.01
feb ; :number: 1012.02
mar ; :number: 1012.03
bank ; :number: 1020
HT7 ; :number: 1021
RSG ; :number: 1022
reserve ; :number: 1023
liabilities ; :number: 2000
accounts payable ; :number: 2010
BSG/GI/RSG ; :number: 2011
equity ; :number: 3000
opening balances ; :number: 3010
income ; :number: 4000
HT7 ; :number: 4010
RSG ; :number: 4020
expenses ; :number: 6000
rent ; :number: 6010
or: http://furius.ca/beancount/examples/demo.ledger
*** -X/--show-in-commodity
cf http://bugs.ledger-cli.org/show_bug.cgi?id=538 cf http://bugs.ledger-cli.org/show_bug.cgi?id=538
*** account aliasing/aligning *** cli, web: consistent rich query language, including and/or/parentheses
**** Martin Wuertele:
I see our task not in keeping accounts (that's in the responsibility of
the trusted bodies) but more in management accounts. In order to achieve
that we need a solution that mirrors the financials of the trusted
bodies, has a way to streamline them (allign different local chart of
accounts or reporting formats to an unified one), do some
reclassifications and accruals on top, performe currency conversions (we
have debian.uk, debian.ch, FFIS, SPI-INC,...), accumulate the results,
add additional reclassifications and accruals on top and, in some cases,
add consolidation entries (e.g. SPI-INC does reembursement but gets
itself reembursed by FFIS).
We do not bother with any local tasks like income tax, vat or
statistical filing, invoicing and the like.
*** can't find out total income:7th total in june at http://localhost:5005/register?q=inacct%3Aassets%3Atreasury !
*** journalAddTransaction should check txn balances
*** parsing: ignore tag, pop
Feb 26 2009
Just added a new feature to better improve 3.0's use of metadata:
There are now "tag/pop" directives, to apply metadata to a range of
transactions (and their postings). For example, if you wanted a
conceptual "page" of transactions relating to business trip to
Chicago, you could do this:
tag Location: Chicago
tag Purpose: Business
... transactions go here
pop
pop
It would be as if you'd applied "; Location: Chicago", etc., to every
transaction.
*** cli, web: richer filter patterns/query language
ledger's query syntax: http://ledger-cli.org/3.0/doc/ledger.1.html ledger's query syntax: http://ledger-cli.org/3.0/doc/ledger.1.html
**** draft 1: **** draft 1:
@ -1892,59 +1879,47 @@ The print command selects transactions which
the negative account patterns the negative account patterns
) )
*** web: optional production build needing no files at all (static files embedded) *** journalAddTransaction should check txn balances
*** docs: better intro, less wall-of-text, separate reference manual & tutorials *** balance setting
ledger: You can accomplish "setting to the bank's view" with a transaction like this:
2011-08-12 Sample
Assets:Checking = $200.00
Equity:Adjustments
This tells Ledger (Git/3.0) that your checking account's balance must be $200
after this transaction is completed. It will put whatever amounts are
required to accomplish this into the Equity:Adjustments account.
what about balance assertions ?
*** web: optional fully self-contained production build (all support files embedded)
*** tools: fix slow make startup
*** tools: better ghci setup
*** docs: better intro, less wall-of-text, separate tutorial & reference sections
*** balance: --depth with --flat should show aggregate balances including the non-displayed deeper accounts *** balance: --depth with --flat should show aggregate balances including the non-displayed deeper accounts
*** take port from base-url when appropriate
*** parsing: let's enforce positive price amounts for clarity, like ledger *** parsing: let's enforce positive price amounts for clarity, like ledger
eg 1€ @@ $-2 is not allowed eg 1€ @@ $-2 is not allowed
*** parsing: canonicalise account names to be case-insensitive ? *** parsing: canonicalise account names to be case-insensitive ?
*** parsing: period expressions should allow interval at the end *** parsing: period expressions should allow interval at the end
eg support -p 'from 1/1 to 2/1 weekly' eg support -p 'from 1/1 to 2/1 weekly'
*** parsing: only journals (not timelog files) can include, and only another journal *** parsing: more flexible file including
*** --empty-parents currently only journals (not timelog files) can include, and only another journal
*** --no-elide -> --empty-parents ? Make it the default ?
$260.00 expenses $260.00 expenses
$260.00 rent $260.00 rent
*** --empty -> --show-zero-accounts, --show-empty-parents *** --empty -> --show-zero-accounts, --show-empty-parents ? Make it default ?
*** --output-layout=ledger|traditional *** cli: better control of output format/layout
*** --output-format=text|html|pdf **** register --format, generalise --format
*** try indenting amounts **** --wide ? window width sensitive ?
**** more tidy/consistent layout from print
**** --output-layout=ledger|traditional
**** --output-format=text|html|pdf
*** balance: try indenting amounts
$260.00 expenses $260.00 expenses
$260.00 rent $260.00 rent
*** chart of accounts specification *** parsing: ignore/support ledger assert statements
; chart of accounts
; defines allowed account names, hierarchy, default sort order,
; and some metadata (account numbers, cf http://www.netmba.com/accounting/fin/accounts/chart/)
ACCOUNTS
assets ; :number: 1000
cash ; :number: 1010
HT7 ; :number: 1011
jan ; :number: 1011.01
feb ; :number: 1011.02
mar ; :number: 1011.03
RSG ; :number: 1012
jan ; :number: 1012.01
feb ; :number: 1012.02
mar ; :number: 1012.03
bank ; :number: 1020
HT7 ; :number: 1021
RSG ; :number: 1022
reserve ; :number: 1023
liabilities ; :number: 2000
accounts payable ; :number: 2010
BSG/GI/RSG ; :number: 2011
equity ; :number: 3000
opening balances ; :number: 3010
income ; :number: 4000
HT7 ; :number: 4010
RSG ; :number: 4020
expenses ; :number: 6000
rent ; :number: 6010
or: http://furius.ca/beancount/examples/demo.ledger
*** ignore/support ledger assert statements
; Assertion directives Options ; Assertion directives Options
; These can occur in many places: ; These can occur in many places:
; ; Within an automated transaction, the assert is evaluated every time ; ; Within an automated transaction, the assert is evaluated every time
@ -1970,14 +1945,11 @@ or: http://furius.ca/beancount/examples/demo.ledger
; Assets:Checking ; Assets:Checking
; assert account("Expenses:Food").total == $100 ; assert account("Expenses:Food").total == $100
*** better international number format support (#32) *** parsing: better international number format support (#32)
*** show add form after adding *** web: : completes one account name component in add form account fields
*** : completes one account name component *** web: auto-complete from substrings, not just prefixes
*** auto-complete from substrings, not just prefixes *** web: auto-complete accounts & amount as well as description
*** auto-complete accounts & amount as well as description *** parsing: allow price record for null commodity, eg with quotes
*** use current year as default when no year specified
*** use journal from stdin when provided ?
*** allow price record for null commodity, eg with quotes
P 2009/1/1 "" 0.5h P 2009/1/1 "" 0.5h
and why doesn't this work ? time.journal: and why doesn't this work ? time.journal:
P 2010/9/27 h 1 P 2010/9/27 h 1
@ -2006,41 +1978,37 @@ $ hledger -f time.journal bal -p aug -B
1 1
17.75h 17.75h
*** register --wide and/or --format ...
*** --related *** --related
*** Double -> Decimal *** Double -> Decimal
*** parsing: safety check that effective date > actual (to catch eg 2009/12/30=1/4) *** parsing: safety check that effective date > actual (to catch eg 2009/12/30=1/4)
*** parsing: support @@
*** parsing: support D
*** parsing: accept all real-world ledger files *** parsing: accept all real-world ledger files
As far as I know it currently accepts all ledger 2.6-era files. As far as I know it currently accepts all ledger 2.6-era files.
Add support for ledger 3 file format as/when that stabilises. Add support for ledger 3 file format as/when that stabilises.
It would be nice to optionally report/upload parse errors when they happen. It would be nice to optionally semi/automatically submit parse error reports when they happen
*** talkback feature *** talkback feature
gather data on real-world installation & usage issues gather data on real-world installation & usage issues
simplify bug reporting/handling simplify bug reporting/handling
improve reliability improve reliability
*** upload feature *** upload feature
*** payee & account anonymisation *** generation
**** move generatejournal.hs to a subcommand
*** anonymisation
**** payees
**** accounts
*** easier timelog formats *** easier timelog formats
*** add: completion etc.
*** convert: handle separate debit/credit columns
*** convert: generalise/reuse add's history awareness *** convert: generalise/reuse add's history awareness
*** web: charts (Chart or google) *** parsing: per-posting effective/actual dates
*** wide/customisable/consistent layout *** web: better web ui/gui
*** effective/actual dates for postings *** nice standard financial reports
*** better web ui/gui
*** nice reports with charts
*** more automated bank data conversion *** more automated bank data conversion
*** parse more file formats - gnucash, qif, ofx, csv.. *** parse more file formats - gnucash, qif, ofx, csv..
*** download via ofx protocol *** download via ofx protocol
*** watching a changing ledger *** parsing: more date syntax ? last nov, next friday, optional this, week of
*** more date syntax ? last nov, next friday, optional this, week of *** parsing: more period syntax ? every N days, biweekly
*** more period syntax ? every N days, biweekly *** cli: accept multiple journal file options
*** accept multiple -f files
*** more reliable tidy layout from print
*** i18n *** i18n
*** speed, memory usage *** speed, memory usage
**** simple/more frequent benchmarking
*** clear, documented interfaces/surfaces *** clear, documented interfaces/surfaces
*** plugin architecture/modular packaging *** plugin architecture/modular packaging
**** goals **** goals
@ -2313,6 +2281,22 @@ http://www.mscs.dal.ca/~selinger/accounting/tutorial.html#1.2
+ soon. + soon.
+ +
*** Martin Wuertele, debian:
I see our task not in keeping accounts (that's in the responsibility of
the trusted bodies) but more in management accounts. In order to achieve
that we need a solution that mirrors the financials of the trusted
bodies, has a way to streamline them (allign different local chart of
accounts or reporting formats to an unified one), do some
reclassifications and accruals on top, performe currency conversions (we
have debian.uk, debian.ch, FFIS, SPI-INC,...), accumulate the results,
add additional reclassifications and accruals on top and, in some cases,
add consolidation entries (e.g. SPI-INC does reembursement but gets
itself reembursed by FFIS).
We do not bother with any local tasks like income tax, vat or
statistical filing, invoicing and the like.
** hamlet feedback ** hamlet feedback
*** thread data through nested templates with Reader monad *** thread data through nested templates with Reader monad
*** HDString constructor for HamletData ? *** HDString constructor for HamletData ?