[GNC-dev] Dev's features of choice?

jean laroche ripngo at gmail.com
Mon Jul 27 00:32:26 EDT 2020


OK thanks for all the opinions. As usual with collaborative projects, 
it's a bit messy, we don't all have the very same optics, which I think 
is probably a good thing!

I would agree with John that undo/redo is very challenging if it's 
applicable to all actions with "infinite" undo/redo. I've thought about 
it a bit, and there's nothing that seems easy to me that would give a 
fully functional undo/redo. Even if you saved the state of the database 
for every action (granularity to be defined!) restoring it, and going 
back exactly where you were would not be a simple matter...

In any case, thanks for chiming in.
Jean


On 7/26/2020 8:52 PM, John Ralls wrote:
> There's already a cancel button for the first part.
>
> There's no undelete, but it wouldn't be to hard to implement: Just make a second set of QofContainers to hold deleted objects until the end of the session and provide a dialog to list them and allow them to be returned to the primary container.
>
> The normal undo-redo stacks common in other programs would be a bit more complex but the technique is well known, it's just really tedious to implement. Where the problem gets quite a bit more interesting (read: complex and difficult with decisions about depth and granularity) is when the undo stack reaches back into already committed transactions. Do you save a copies of each object for every keystroke or treat an edited transaction like a deleted one? How do you handle an import of many transactions, some new and some matched-and-updated? That's just the beginning, GnuCash is complicated. It could easily turn into several years work for a skilled software engineer; definitely not a job for a hacker.
>
> Regards,
> John Ralls
>
>
>> On Jul 26, 2020, at 7:59 PM, Bruce Irving via gnucash-devel <gnucash-devel at gnucash.org> wrote:
>>
>> While I'm not a professional, there is a point about undo that I would like to see - sooner than later:  I start to edit a transaction but, before I commit it (press enter or move to another transaction). I realize that I didn't want to do that and would like to cancel my edit, restoring the transaction to what it was.
>>
>> And, I have accidentally deleted a transaction on more than one occasion.  It would be great if I could restore that transaction rather than completely re-enter it, hoping I remembered what was in it - I don't!
>> Bruce
>> Preach the Gospel wherever you go.
>> If necessary, use words.
>>
>> Hi Jean,
>>
>> Am 26.07.20 um 19:57 schrieb jean laroche:
>>> I'm curious about something:
>>> If you're a GC dev, contributing code to the project, what's the
>>> feature(s) you'd like to see added to GC?
>>> I'm only contributing a bit, but I'll offer my 3 top wishes:
>>> - Undo/(redo)
>>> - Multi-transaction (bulk) editing
>>> - Multi-account (bulk) editing
>> All three are violations of strict accounting rules. We often talk about
>> "In the times of ink and paper", not graphite (pencils). Some
>> governments require the immutabiity of once written records.
>>
>> So I see at least a better auditing system as a requirement before your
>> suggestions. The current logging would need a review. It should cover
>> all changes, not only simple transactions. ISTR business actions and
>> structural changes are not recorded.
>>
>>> I'm curious specifically about devs because they typically have a
>>> different perspective on the project than users have.
>>> Jean
>> About the future I almost agree with Johns suggestions.
>>
>> Regards
>> Frank
>>
>> _______________________________________________
>> gnucash-devel mailing list
>> gnucash-devel at gnucash.org
>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel



More information about the gnucash-devel mailing list