> The actual Javascript code of Fava only has 3 dependencies (plus one polyfill to support MS Edge): d3 for charts, codemirror for the editors, and Mousetrap for key bindings. I'm trying to keep this list minimal and I believe all the dependencies we have are very much worth it as they allow us to provide useful and powerful features that wouldn't be possible otherwise. > That high number is mostly a result of the build tools (rollup, used by most JS libraries) and the lint tools for JS and CSS (eslint and stylelint respectively).
Doing small code changes and building a new version is an important part of how I use the code (at least I did some small changes in beancount), so I'll still consider how simple are the build tools. Python scripts are simple to modify, but the npm ecosystem seems much wilder. I can use Docker as a jail if I don't trust the code, but I'd prefer code that I can trust and understand. Maybe it's possible to run fava without actually building any JS code? (No linting, no minification, no JS packaging, …) > Are there other aspects of Fava that you find too complex? - all tables, which seem to dump accounting information without simplifying it, e.g. mixing realized and unrealized accounts, writing too many currencies, … - many tables, because they require extensive accounting knowledge or knowledge about beancount's internals (e.g. „holdings by cost currency“). The UI is supposed to help me but it shows me more and more internals - huge tables that I can't easily scroll - queries that only show the query name, not the query string - aggregates in balance tables; they're mixed with the original numbers - treemaps mix many account levels without differentiating between level 1, level 2, level 3, … - information not correctly ordered (e.g. list of currencies ordered alphabetically instead of relevance to the user) - hidden „statistics“ (only find if you scroll down you find that there's more things); very big tables in general - and many more > Many of the Fava's core features (like charts, the editor, journal filtering, and toggleable account trees) can't be implemented without Javascript, so it can't really work without JS. Is there a reason apart from the complexity argument above for which you'd want to use it without JS? Well, I do graphs of my beancount data without JavaScript… I use Python. With matplotlib I can also do interactive graphs (if I ever need it), though I prefer to just generate many .png and then browse through them. I'd like to see the simple beancount server (bean-web) generating .png graphs and embedding them in the page. I want the tools to be browsable without JS so that they integrate well in the browser. JS wants to take the control about how to scroll, how to click things, how to zoom, how to change to another page, how to load content, whereas I'm fine with my browser doing all that, and I actually prefer it. For instance, I like my way of moving through links with the keyboard, but some clickable things in fava are not <a>, but something different like <label>. And more. JS well used (to bring more exploratory interactivity to graphs and tables) could still be useful. On Sun, Apr 8, 2018 at 1:42 PM, Jakob Schnitzer <m...@jakobschnitzer.de> wrote: > On Sun, Apr 01, 2018 at 10:03:43PM +0300, Daniel Clemente wrote: > >> I use bean-report for a few commands, mainly to get the price database, >> and >> all balances. >> For most operations I use bean-query or the web interface, which is fast >> and reliable. >> >> I don't use Fava and I feel it adds too much complexity. It depends on a >> lot of external code that I don't have time to review (I just tried to >> count it: npm wants to install 588 packages of JavaScript code!). Running >> > > The actual Javascript code of Fava only has 3 dependencies (plus one > polyfill to support MS Edge): d3 for charts, codemirror for the editors, > and Mousetrap for key bindings. I'm trying to keep this list minimal and I > believe all the dependencies we have are very much worth it as they allow > us to provide useful and powerful features that wouldn't be possible > otherwise. > > Are there other aspects of Fava that you find too complex? > > That high number is mostly a result of the build tools (rollup, used by > most JS libraries) and the lint tools for JS and CSS (eslint and stylelint > respectively). > > it inside a sandbox (Docker) is possible but it's harder to set up and this >> infrastructure can have other problems. >> > > A simple `pip install fava` will do, there's no need to install anything > node-related yourself. > > Fava doesn't have the simplicity that I find in beancount. It also didn't >> work without JS when I tried it some years ago (maybe it has improved). >> > > Many of the Fava's core features (like charts, the editor, journal > filtering, and toggleable account trees) can't be implemented without > Javascript, so it can't really work without JS. Is there a reason apart > from the complexity argument above for which you'd want to use it without > JS? > > I'd be fine with uglier web pages if they provide the basic accounting >> needs. Though they don't need to be ugly. >> >> I also use the holdings code and aggregate_holdings_by, but I could do the >> same in some other way or keep the old code. >> >> >> On Sun, Apr 1, 2018 at 8:53 AM, Martin Blais <bl...@furius.ca> wrote: >> >> How many people here use bean-report as their main way to generate data >>> from Beancount? >>> How many use bean-web? >>> Does anybody still care about bean-web now that Fava exists? >>> >>> Also... is it possible to bean-bake Fava (or some equivalent creation of >>> a >>> static version for sharing)? >>> >>> Any input appreciated, >>> >>> >>> (Reason I'm asking is: I'm thinking about >>> - rewriting the query engine to something more powerful and general, and >>> promoting it from experimental and somewhat flaky to the main way of >>> getting data out >>> - rewriting bean-web to be a dumber, more generic web interface that >>> basically renders SQL queries (using the new query engine) without any >>> special treatment (just tables and tree-tables) >>> - deleting bean-reports and all of beancount/reports, or replacing most >>> of >>> it by SQL queries >>> - in the process deleting the Holdings code >>> Basically, I think that with a slightly improved query engine I could >>> delete a ton of code without removing functionality at all.) >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Beancount" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to beancount+unsubscr...@googlegroups.com. >>> To post to this group, send email to beancount@googlegroups.com. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/beancount/CAK21%2BhPZh%2BRSFNoSDZd3PF%3Dh0ki2Utqv% >>> 3Dx%2BC%3D6dQpSiwX7S_ew%40mail.gmail.com >>> <https://groups.google.com/d/msgid/beancount/CAK21%2BhPZh%2B >>> RSFNoSDZd3PF%3Dh0ki2Utqv%3Dx%2BC%3D6dQpSiwX7S_ew%40mail. >>> gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Beancount" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beancount+unsubscr...@googlegroups.com. >> To post to this group, send email to beancount@googlegroups.com. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/beancount/CAJKAhPD9qna%2BHq73uXsuw%3DNMqE4%3DdroVpm9cvGd >> 1Fqch0eBhMg%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beancount+unsubscr...@googlegroups.com. > To post to this group, send email to beancount@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/ms > gid/beancount/20180408104254.GA9772%40js-arch. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to beancount+unsubscr...@googlegroups.com. To post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAJKAhPAWZtv6%2BFdyFDMGSk2GPvuCViWwzbOgs6GO2320D6nEPA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.