daru-io
daru-io copied to clipboard
Post GSoC: Steal like an artist
There are some gems gaining popularity recently, whose task could be solved (probably with more grace!) with daru+daru-io.
Let's look at them and consider what useful ideas we can borrow: sometimes for new features, sometimes for showcases. List will probably grow!
-
SpreadsheetArchitect --
ActiveRecord
addon to export models to Excel. Could be done bydaru-io
in its current state. So, it is a matter of probably writing a blog post demonstrating our approaches to those problems ;) A really good chance to showcase daru-io, because a lot of people are talking about the gem recently. - Xport -- also AR-to-Excel exporter. Unlike the above gem, also allows to setup cells style, which we still can't (but probably should?)
- Saxlsx from the same author -- (pretends to be) really quick Xlsx parser. Probably can be integrated into Xlsx importer? (Before integration, some measurements should be invented and checked, to understand if it is worth it → and generally speaking, speed tests for exporters and importers is probably idea for another GitHub issue)
- Trick for fast importing CSV into Postgres (IDK if it is really useful for us, just leaving it here)
- Cloudxls -- cloud (?) XLS-creation service. Don't use it, just look at their examples and what they are advertising (about convertion of "messy CSS" to "pretty Excel")
Sure, @zverok. Feel free to expand this list. 😄
Regarding (1), (2) and (3), our Excel exporter is currently only supporting xls format and could definitely use an upgrade with support to xlsx format. And yes - it's better to add benchmarks (and close #51 😉 ) before deciding on which gem dependency to use for new Importers / Exporters.
I had a look at Trick, and it's speed of importing csv into postgresql seems to be VERY impressive. It'd be awesome if we could have a generic csv importer that's this fast. (related to #31)
More:
- simple_report is a gem for building simple reports from Enumerable collections.
- How to reformat CSV files with Kiba ETL?
We definitely should not mimic their API, but it would be interesting to investigate:
- how their "demo" tasks solved with daru-io?
- what features we lack to compete?
- whether our way to solve the tasks look readable?