Talk:BlobStore

From GnuCash
Jump to: navigation, search

> What does this add beyond a ton of code and several levels of indirection? John Ralls (talk) 16:04, 4 May 2026 (UTC)

It will allow gnucash to "ingest" pdfs away from the user, providing convenient easily backed storage. IMV the url/filepath are fragile, liable for the user messing up datapaths. If the user sees BlobStore and a ton of opaque uuid pdfs they are less likely to interfere.

IMV the spec should be modified; the main .gnucash is unchanged.

All the metadata in a separate sqlite3 file, and all the blobs in a child folder.

~/accounting/
├── MyBook.gnucash                          # Book file - unchanged schema
├── MyBook.blobs/                           # Per-book blob directory (sibling)
│   ├── blobs.sqlite                        # Metadata database
│   ├── a1/
│   │   ├── a1b2c3d4e5f6...pdf
│   │   └── a1f7g8h9i0j1...jpg
│   ├── b2/
│   └── ff/
│       └── ffa1b2c3d4e5...png

In other words, bolts a rather lame document management system onto GnuCash. There is no shortage of DMS software out there, Free and otherwise, maintained by teams that know how to do document management. John Ralls (talk) 15:10, 5 May 2026 (UTC)


Ok how about a tight integration with paperless-ngx Christopherlam (talk) 01:20, 6 May 2026 (UTC)

How stable is their API? You don't want to get into a situation where you have to constantly update the integration to track the other project's changes. I wouldn't expect many users to want this so ideally it would be a separate add-on instead of adding a hard dependency on paperless-ngx or a pretend option like AqBanking. John Ralls (talk) 02:27, 6 May 2026 (UTC)

I'd think the global pref paperless ngx hostname and API key would suffice for all needs. If it's present then the paperclip icon can chase elsewhere, if not enabled then disable all paperless links. Christopherlam (talk) 13:24, 6 May 2026 (UTC)

Somebody's going to whine about the package getting bigger, though it won't be that much bigger because we already have most of the necessary infrastructure thanks to AqBanking, Finance::Quote, and WebKit (so you have 3 stacks to choose from!). John Ralls (talk) 00:07, 7 May 2026 (UTC)

I'd imagine that the paperless-ngx wouldn't need to be packaged; all we'd need is the URL. Ok given there's already a doclink url/filepath maybe this job is simplified by "Transaction>Attach a PDF via paperless" which will then send a POST request https://docs.paperless-ngx.com/api/#file-uploads returning the document UUID which is then attached as doclink... The main issue is the doclink will have hardcoded paperless url which may be backed up and restored with a different hostname. So, we still need to have a global pref hostname:port, and the url launcher converts "paperless://UUID" to "http://hostname:port/api/documents/uuid" Christopherlam (talk) 08:35, 7 May 2026 (UTC)

Of course the primary motivation is to be more prepared in an audit. "How do you justify this expense of $3,000 of tools" "Here's the pdf" Christopherlam (talk) 13:36, 7 May 2026 (UTC)