2020-08-14 GnuCash IRC logs

00:24:14 *** sbluhm has joined #gnucash
00:24:15 *** ChanServ sets mode: +v sbluhm
00:25:40 *** qwer has quit IRC
00:26:03 *** qwer has joined #gnucash
00:34:40 *** qwer has quit IRC
00:35:24 *** qwer has joined #gnucash
00:46:13 *** sbluhm has quit IRC
00:47:53 *** qwer has quit IRC
01:03:29 *** AdrienM has quit IRC
01:11:16 *** bkhl has left #gnucash
01:28:39 *** Mechtilde has joined #gnucash
01:37:05 *** qwer has joined #gnucash
01:43:55 *** qwer has quit IRC
01:44:28 *** qwer has joined #gnucash
01:49:54 *** sbluhm has joined #gnucash
01:51:45 *** AdrienM has joined #gnucash
01:51:46 *** ChanServ sets mode: +v AdrienM
01:54:44 *** fell has quit IRC
01:56:04 *** fell has joined #gnucash
01:56:04 *** ChanServ sets mode: +o fell
02:05:39 *** sbluhm has quit IRC
02:06:16 *** Mechtilde has quit IRC
02:06:53 *** qwer has quit IRC
02:10:36 *** qwer has joined #gnucash
02:10:55 *** suukim has joined #gnucash
02:15:12 *** lmat has quit IRC
02:17:39 *** lmat has joined #gnucash
02:24:55 *** lmat has quit IRC
02:28:01 *** lmat has joined #gnucash
02:44:03 *** puck has quit IRC
02:49:31 *** lmat has quit IRC
02:50:43 *** lmat has joined #gnucash
02:51:13 *** puck has joined #gnucash
03:00:25 *** qwer has quit IRC
03:02:16 *** qwer has joined #gnucash
03:05:57 *** fell has quit IRC
03:05:57 *** fell_laptop has joined #gnucash
03:05:58 *** ChanServ sets mode: +o fell_laptop
03:16:00 *** suukim has quit IRC
03:57:48 *** Mechtilde has joined #gnucash
04:14:28 *** PowaBanga has quit IRC
04:16:34 *** PowaBanga has joined #gnucash
04:30:17 *** User has joined #gnucash
04:33:34 *** lmat has quit IRC
04:34:28 *** lmat has joined #gnucash
04:37:01 *** Mechtilde has quit IRC
04:57:48 *** Mechtilde has joined #gnucash
04:58:00 *** lmat has quit IRC
05:00:19 *** lmat has joined #gnucash
05:09:19 *** qwer has quit IRC
05:10:28 *** qwer has joined #gnucash
05:16:20 *** qwer has quit IRC
05:22:01 *** qwer has joined #gnucash
05:27:56 *** Aussie_matt has quit IRC
05:28:21 *** qwer has quit IRC
05:29:54 *** qwer has joined #gnucash
05:37:56 *** qwer has quit IRC
05:38:17 *** qwer has joined #gnucash
05:38:51 *** Mechtilde has quit IRC
05:53:19 *** lmat has quit IRC
05:55:39 *** lmat has joined #gnucash
05:57:10 *** qwer has quit IRC
05:58:22 *** qwer has joined #gnucash
06:13:30 *** Aussie_matt has joined #gnucash
06:15:58 *** ramontjunior has joined #gnucash
06:18:42 *** sbluhm has joined #gnucash
06:18:42 *** ChanServ sets mode: +v sbluhm
06:22:19 *** suukim has joined #gnucash
06:22:27 *** qwer has quit IRC
06:22:45 *** qwer has joined #gnucash
06:23:04 *** gjanssens has joined #gnucash
06:23:05 *** gncbot sets mode: +o gjanssens
06:23:05 *** ChanServ sets mode: +o gjanssens
06:23:19 <gjanssens> .
06:23:19 <gncbot> gjanssens: Sent 17 hours and 1 minute ago: <jralls> re:https://github.com/Gnucash/gnucash/commit/237626f0dba423196a7e0bd9511d6198f631517b, I haven't heard anything more from Benno about getting a new Dutch translator, but I don't want to ask him to mark nl.po external and leave it in your lap unless you want it.
06:24:32 <gjanssens> jralls: as Mark Haanen is not responding you can transfer translations to me for the time being.
06:25:14 <gjanssens> It bothers me enough the Dutch translation has run behind that much to pick it up. And it's something I can easily do bits at a time in spare moments.
06:26:58 <gjanssens> If a new translator presents him/herself, I'll happily pass on the task...
06:29:26 *** qwer has quit IRC
06:29:41 *** qwer has joined #gnucash
06:49:07 *** Mechtilde has joined #gnucash
06:49:28 <chris> gjanssens: wrt reports saving intermediate data prior to rendering, that's why reports have a ctext (cached text) but doesn't work well. plus, reports are not exactly designed to access data once prior to building final document...
06:50:12 <chris> so, reports will have xaccSplitGetAmout scattered everywhere for a very long time...
06:57:50 <gjanssens> chris: I understand.
06:58:43 <gjanssens> I'm just pointing out long-term ideas with each change in the hopes the current changes bring us bit by bit closer to the ultimate design.
06:59:42 <gjanssens> I won't claim it's possible all the time, just giving a longer term perspective to frame today's changes in :)
07:01:01 <gjanssens> I mean if today's changes move us further away from a long-term goal I would recommend against it as that would mean double effort (the one spent today, and the other spent later undoing today's effort and redoing it in the proper direction)
07:01:17 <gjanssens> Wow, I'm in meta-talk mode today...
07:01:22 *** cal-tec has joined #gnucash
07:04:19 <gjanssens> More to the point: can't we fix the ctext implementation then ?
07:05:20 <gjanssens> And, you pointed out another worthy design goal: get the reports to split data collection from presentation. In fact that was the whole point of e-guile.
07:05:40 <gjanssens> It may not have been the best implementation, the concept is actually sound
07:42:41 *** sbluhm has quit IRC
07:47:28 *** cal-tec_ has joined #gnucash
07:49:44 *** cal-tec has quit IRC
07:53:25 *** cal-tec__ has joined #gnucash
07:55:44 *** cal-tec_ has quit IRC
08:01:14 *** cal-tec__ has quit IRC
08:17:44 <chris> I'd be much more comfortable making incremental changes towards harmonizing various report IO c/guile interfaces ... if later on anyone wishes to mix things up, I know that my changes will make it easier
08:18:57 *** Jimraehl1 has joined #gnucash
08:19:49 *** Jimraehl1 has quit IRC
08:23:14 *** lmat has quit IRC
08:26:30 *** lmat has joined #gnucash
08:31:45 *** lmat has quit IRC
08:32:50 *** qwer has quit IRC
08:32:52 *** lmat has joined #gnucash
08:34:24 *** Aussie_matt has quit IRC
08:34:54 *** qwer has joined #gnucash
08:36:31 <gjanssens> What do you mean with "mix things up" and "harmonizing various report IO c/guile interfaces" ?
08:39:36 <chris> there's an ugly wart in the report renderer: it can return html-document for webkit, or it can create the export-string *AND* do file I/O to create output file.
08:40:08 *** lmat has quit IRC
08:40:22 <chris> all I'm suggesting is the renderer will return document at all times, and sets the html-document field export-string *only* if export-code is called... thus C/C++ can choose to render in webkit/console, or save to file
08:40:50 <chris> thus, removing file I/O from guile, which will make jralls happy
08:40:52 *** qwer has quit IRC
08:41:30 *** qwer has joined #gnucash
08:42:09 *** Agfarmer18 has joined #gnucash
08:43:06 *** lmat has joined #gnucash
08:44:10 <chris> if someone knows how to separate database IO and report-generation in the future, they're free to do so... but not me
08:44:46 <chris> see #768 for my proposal. all it does is effectively remove file IO from guile completely.
08:45:15 <chris> it even deals with custom reports which may have file IO code.
08:45:16 <gjanssens> Ok, that in itself is a nice improvement of course (didn't look into detail so far)
08:45:53 <chris> bonus: generation of TXF/CSV does *NOT* require outputfile - can dump to console
08:46:15 *** Agfarmer18 has quit IRC
08:46:18 *** lmat has quit IRC
08:46:26 <gjanssens> \o/
08:46:51 *** qwer has quit IRC
08:46:59 <gjanssens> I don't know the intrinsics of "the report renderer". Isn't that a bit of guile code that's written for each report separately ?
08:47:07 *** qwer has joined #gnucash
08:47:07 <chris> correct
08:47:32 <gjanssens> So we can't really speak of "the report renderer", there are as many renderers as there are reports, right ?
08:48:11 <chris> correct -- each report defines its own renderer which builds the html-document object
08:48:14 <chris> and returns it
08:48:28 <chris> (and occasionally does some file IO)
08:48:33 *** lmat has joined #gnucash
08:48:56 <gjanssens> And do I then understand it correctly some of these renderers can generate additional output formats, other than html, but not all ?
08:49:24 <chris> yes: taxtxf->TXF, taxtxf_DE->XML, income_gst->CSV
08:49:52 <chris> with #768 it'll be *trivial* to add some CSV exporter to any report.
08:50:23 <gjanssens> Ok
08:52:46 *** lmat has quit IRC
08:53:12 <gjanssens> Getting a first step towards separation of data retrieval and output generation (presentation) is actually not that hard IMO.
08:53:49 <gjanssens> It means restructuring each renderer to first do all the engine calls required to gather data and store it in guile objects
08:54:07 <gjanssens> And only of all data is gathered, start writing an html document object using that data.
08:54:59 <gjanssens> If that's consistently done for all reports, it would be easier to move reports to some kind of templating engine (be it xml with xslt or mustache or something we didn't come across yet).
08:55:10 *** lmat has joined #gnucash
08:55:53 <gjanssens> If I understand you correctly those parts are currently completely intermingled.
08:56:02 <chris> of course
08:56:21 <chris> balsheet-pnl (my work) is one of the cleaner ones
08:56:38 <chris> and remember lots of helper functions eg commodity-utilities and report-utilities also need a lot of data access
08:57:59 <chris> TBH if you asked me to completely separate data IO and html generation, I'd give up because I'd need hundreds of data objects
08:58:22 *** lmat has quit IRC
08:59:29 <chris> splits / split-amounts / split-dates / split-amount-sums / split-period-dates / etc
09:01:18 *** lmat has joined #gnucash
09:03:48 *** cal-tec has joined #gnucash
09:04:20 *** sbluhm has joined #gnucash
09:04:20 *** ChanServ sets mode: +v sbluhm
09:06:32 *** lmat has quit IRC
09:08:11 <gjanssens> Ok, then just leave it as is. If we ever want to implement a template based report system we will have to go that way though.
09:08:48 *** lmat has joined #gnucash
09:09:19 <gjanssens> Although it doesn't have to be separate data objects, it can be an intermediate data language like json, xml, yaml,...
09:09:34 <gjanssens> Anything that can later be used as input in a template.
09:10:07 <gjanssens> html is a close candidate, but it's probably not semantic enough to work properly.
09:10:26 *** Mechtilde has quit IRC
09:11:23 <gjanssens> Anyway, I'm just voicing my opinion since you asked. I won't tell you what to actually do :) That's your free choice
09:12:00 *** lmat has quit IRC
09:12:37 <chris> My opinion right now is that in the renderer, during generation html-document (presentation+data), it can also generate other formats eg CSV or JSON trivially
09:13:12 <chris> then C can do as it likes with it!
09:14:10 <chris> here's a thought experiment: take any report, strip out *all* gnc:html-document-add-object! calls, do something else with the data, TADA you have the data processor and you retain CSV/JSON output
09:17:49 *** sbluhm has quit IRC
09:18:48 *** lmat has joined #gnucash
09:20:36 *** jervin has joined #gnucash
09:24:08 *** jervin has quit IRC
09:27:58 <gjanssens> Sure, however the issue there is that you need to *code* each and every export format. The idea is that with templates you can write different templates for different output formats.
09:28:28 <gjanssens> The input data for each template would be the same (hence my suggestion to separate it out).
09:31:02 *** Mechtilde has joined #gnucash
09:32:16 <chris> so, where would be processing be done? eg summation/averaging/filtering etc
09:36:23 <gjanssens> Typically while generating the intermediate data format that will serve as input for the templates
09:38:36 <chris> so, it's code?
09:38:44 <gjanssens> Yes, of course
09:39:11 <gjanssens> Only the presentation would be templated.
09:40:59 <gjanssens> Some templating engines allow exposure of common functions that operate on the input data. In that case you could write in the template you want a summary at position X.
09:41:20 *** lmat has quit IRC
09:42:07 <gjanssens> But I'd defer that part until we are really converted to templates.
09:42:29 *** lmat has joined #gnucash
09:50:46 *** lmat has quit IRC
09:53:53 *** lmat has joined #gnucash
10:10:22 *** qwer has quit IRC
10:27:50 *** qwer has joined #gnucash
10:35:27 *** cal-tec has quit IRC
10:48:48 *** fell_laptop is now known as fell
10:56:32 *** sbluhm has joined #gnucash
10:56:32 *** ChanServ sets mode: +v sbluhm
10:57:29 *** lmat has quit IRC
10:58:10 *** lmat has joined #gnucash
10:58:23 *** qwer has quit IRC
10:59:03 <fell> If the data structure is a DOM, it should not be very hard to create HTML or XML from it.
11:01:41 *** qwer has joined #gnucash
11:06:53 <fell> gjanssens, you could also ask on gnucash-nl for volunteers. That's what we often do for de.
11:09:10 <gjanssens> fell: good point.
11:13:12 *** qwer has quit IRC
11:13:34 *** lmat has quit IRC
11:14:09 <chris> for jralls some opinion on #768 #760 #745 #667 would be nice :)
11:14:25 *** lmat has joined #gnucash
11:16:31 *** suukim has quit IRC
11:18:17 *** sbluhm has quit IRC
11:21:32 <fell> gjanssens, probably you should review glossary/nl.po before: 15 fuzzy, 5 untranslated.
11:23:15 *** David has quit IRC
11:23:39 *** David has joined #gnucash
11:31:55 *** KaiForce has joined #gnucash
11:33:36 <chris> gjanssens/jralls: as part of report templatization, you guys will need to decide what format the intermediate data must be..... json/xml/anything else. IMHO each report can be upgraded piecemeal to write data. it means serialization in guile. then the templating engine (mustache/etc) will deserialize it.
11:36:03 <gjanssens> chris: that is indeed more or less the idea
11:36:50 *** sbluhm has joined #gnucash
11:36:51 *** ChanServ sets mode: +v sbluhm
11:36:51 <gjanssens> In theory we want to go one step further and take guile out of the mix, replacing it with sql queries. But that can only happen if the conversion to a db-application is complete.
11:38:15 * chris will miss guile :(
11:44:02 *** guak has joined #gnucash
11:44:20 *** sbluhm has quit IRC
12:00:02 <gjanssens> It's not gone yet ;) But I sympathize.
12:00:11 *** qwer has joined #gnucash
12:03:57 *** qwer has quit IRC
12:14:20 *** jervin has joined #gnucash
12:22:47 <jralls> chris, gjanssens, even the html string rendering is goofy. The gnc-webkit code writes it out to a temp file and then passes the address of the temp file to the gtkwebkitwebview for display.
12:25:17 *** David has quit IRC
12:25:24 *** David has joined #gnucash
12:27:06 *** qwer has joined #gnucash
12:28:29 <gjanssens> jralls: basically it's one big mess :)
12:29:04 <gjanssens> chris: are report option names case sensitive ?
12:29:33 <jralls> Indeed. Starting with directly using the engine instead of queries to collect and summarize data.
12:32:35 *** Mechtilde has quit IRC
12:33:19 <jralls> gjanssens, do you mean the internal ones that are saved in saved_reports-2.8? Of course they are, they're Scheme symbols.
12:36:53 *** Mechtilde has joined #gnucash
12:41:02 *** FH_thecat has quit IRC
12:41:44 <gjanssens> jralls: I assumed so. I'm in translator mode and hoped to reuse a string by adjusting the capitalization. However that string is used as option name, so no go :(
12:43:31 <jralls> We shouldn't be translating option names. That would mean that saved reports break if you change languages.
12:45:02 <jralls> Is this a case of foo = N_("foo") and foo is used both translated for the label and untranslated for the symbol?
12:45:11 <gjanssens> Duh. It's N_ translated. So internally the untranslated version is used, in the GUI the translated version. Still a bad idea, but that's what we have atm
12:49:14 <jralls> So an opportunity to fix it! Separate the name and the label with an a-list and only translate the label. Ideally we'd use 'foo instead of "foo" for the option designator and it would be stringified only for storage.
12:51:03 <jralls> And in fact since we just get a string repr of the Scheme code it could stay 'foo in saved-reports-2.8. Only KVP (and possible future external JSON) storage would need stringification.
12:51:53 <jralls> But changing *that* creates another round of backwards-compatibility issues, so let's do that just once in c++options.
12:53:45 <gjanssens> Yes please
12:55:17 <gjanssens> I'm off for the weekend... See you guys later
12:55:33 <jralls> Have fun. Bye!
12:55:52 *** cal-tec has joined #gnucash
12:56:05 *** gjanssens has quit IRC
12:59:30 *** sbluhm has joined #gnucash
12:59:31 *** ChanServ sets mode: +v sbluhm
13:05:30 *** sbluhm has quit IRC
13:41:46 *** gncbot has joined #gnucash
13:42:05 *** ArtGravity has joined #gnucash
13:42:05 *** ChanServ sets mode: +v ArtGravity
14:07:47 *** frakturfreak has joined #gnucash
14:07:47 *** ChanServ sets mode: +v frakturfreak
14:13:04 <warlord> jralls: Just FYI, I just put my old "magic box" back in service... And it's working. I have no idea why it stopped (or why I couldn't get it working before). But it's working now. Very odd.
14:13:45 <jralls> Odd indeed. Maybe a temporary config glitch on AT&T's part?
14:18:50 *** sbluhm has joined #gnucash
14:18:50 *** ChanServ sets mode: +v sbluhm
14:19:23 <warlord> Maybe..
14:19:44 <warlord> I don't know when it came back again..
14:20:01 *** ChanServ sets mode: +qo warlord warlord
14:20:03 *** warlord sets mode: +o gncbot
14:20:10 <warlord> But at least I have it working again :)
14:26:22 *** qwer has quit IRC
14:26:44 *** qwer has joined #gnucash
14:44:39 *** Agfarmer18 has joined #gnucash
14:45:12 *** jw4 has quit IRC
14:46:48 *** jw4 has joined #gnucash
14:51:12 *** Agfarmer18 has quit IRC
14:54:20 *** jw4 has quit IRC
14:54:49 *** jw4 has joined #gnucash
14:54:49 *** ChanServ sets mode: +v jw4
15:02:22 *** jervin has quit IRC
15:03:16 *** Mechtilde has joined #gnucash
15:17:33 *** lmat has quit IRC
15:18:47 *** lmat has joined #gnucash
15:30:01 *** hannes has joined #gnucash
15:31:58 *** Mechtilde has quit IRC
15:41:19 *** lmat has quit IRC
15:45:08 *** cal-tec has quit IRC
15:48:02 *** lmat has joined #gnucash
15:48:52 *** qwer has quit IRC
15:49:06 *** qwer has joined #gnucash
15:52:15 *** lmat has quit IRC
15:52:20 *** qwer has quit IRC
15:55:13 *** lmat has joined #gnucash
15:55:22 *** qwer has joined #gnucash
15:58:33 *** qwer has quit IRC
15:58:36 *** cal-tec has joined #gnucash
15:59:06 *** qwer has joined #gnucash
16:04:45 *** hannes has quit IRC
16:04:52 *** qwer has quit IRC
16:05:05 *** qwer has joined #gnucash
16:05:40 *** ramontjunior has quit IRC
16:06:49 *** sbluhm has quit IRC
16:10:24 *** qwer has quit IRC
16:22:50 *** lmat has quit IRC
16:25:25 *** hannes has joined #gnucash
16:35:55 *** lmat has joined #gnucash
16:35:55 *** User has quit IRC
16:39:07 *** lmat has quit IRC
16:42:12 *** lmat has joined #gnucash
16:45:17 *** cal-tec has quit IRC
16:45:25 *** lmat has quit IRC
16:45:34 *** cal-tec has joined #gnucash
16:57:13 *** lmat has joined #gnucash
17:01:03 *** KaiForce has quit IRC
17:03:05 *** cal-tec has quit IRC
17:04:17 *** cal-tec_ has joined #gnucash
17:04:29 *** lmat has quit IRC
17:04:44 *** lmat has joined #gnucash
17:07:14 *** David has quit IRC
17:07:21 *** David has joined #gnucash
17:15:30 *** cal-tec_ has quit IRC
17:16:55 *** cal-tec has joined #gnucash
17:20:25 *** qwer has joined #gnucash
17:28:52 *** qwer has quit IRC
17:30:19 *** qwer has joined #gnucash
17:31:10 *** frakturfreak has quit IRC
18:03:05 <fell> I have lokalized basics_AccountRelationships.png in htdocs' features from gnucash-docs/guide. :-)
18:36:56 *** hannes has quit IRC
18:39:53 *** ArtGravity has quit IRC
19:00:52 *** qwer has quit IRC
19:33:18 *** qwer has joined #gnucash
19:52:22 *** qwer has quit IRC
20:03:48 *** lmat has quit IRC
20:06:52 *** qwer has joined #gnucash
20:06:57 *** lmat has joined #gnucash
20:59:39 <chris> jralls: #768 best look at the overall patch
21:02:09 *** David has quit IRC
21:02:16 *** David has joined #gnucash
21:07:52 *** qwer has quit IRC
21:11:19 *** guak has quit IRC
21:14:31 *** storyjesse has joined #gnucash
21:39:35 *** Aussie_matt has joined #gnucash
21:44:33 *** qwer has joined #gnucash
21:50:00 *** cal-tec has quit IRC
22:05:52 *** qwer has quit IRC
22:06:07 *** qwer has joined #gnucash
22:10:22 *** qwer has quit IRC
22:16:17 *** qwer has joined #gnucash
22:24:04 *** qwer has quit IRC
22:29:50 *** qwer has joined #gnucash
22:49:52 *** qwer has quit IRC
22:56:08 *** qwer has joined #gnucash
23:01:03 *** jchonig has quit IRC
23:01:22 *** jchonig has joined #gnucash
23:04:56 *** jchonig has quit IRC
23:08:22 *** parsnip has quit IRC
23:10:22 *** qwer has quit IRC
23:11:34 *** qwer has joined #gnucash
23:11:53 *** Farelli_ has quit IRC
23:12:53 *** Farelli_ has joined #gnucash
23:12:54 *** parsnip has joined #gnucash
23:15:04 *** qwer has quit IRC
23:18:02 *** qwer has joined #gnucash
23:22:49 *** parsnip has quit IRC
23:23:54 *** parsnip has joined #gnucash
23:24:18 *** jchonig has joined #gnucash
23:25:19 *** David has quit IRC
23:25:26 *** David has joined #gnucash
23:26:52 *** qwer has quit IRC
23:30:20 *** qwer has joined #gnucash
23:32:38 *** Aussie_matt has quit IRC
23:34:59 *** qwer has quit IRC
23:35:19 *** qwer has joined #gnucash
23:40:21 *** qwer has quit IRC
23:41:03 *** qwer has joined #gnucash
23:48:28 *** qwer has quit IRC
23:50:58 *** qwer has joined #gnucash
23:59:22 *** qwer has quit IRC