Comment by notyoutube

2 years ago

I've skimmed at the docs, and it's not clear to me how it would deal with:

* Something like row-level access control, so that people can only access the data in tables that belong to them (say clients can only view their own purchases, and also not modify them after they checked them out).

* Integration with the rest of the world, e.g. sending email, acting on triggers, etc.

* Something like CSV export/import.

* Internationalization.

Would that all be possible? Straightforward? Do those all require extending (with go or js)?

Looks like a nice tool.

I've been developing for PocketBase for 2 months.

As someone else mentioned, API rules can control access to rows.

It can send emails. Set timers. And send its own requests to other webservers. (I haven't used any of these features.) https://pocketbase.io/docs/js-sending-emails/

I had to write my own CSV importer. (I'm hoping to open-source it.)

As for internationalization, what specific features did you want? That seems more like a front-end feature.

  • Re internationalization, I think you're right. I don't have experience building app/websites, a fortiori with internationalization, so I threw this question in with the lot!

The first point (authn) is inherent to the unextended framework via filter rules.

Most of the remainder requires extension other than authz emails, but extension at its simplest just means adding a plain old JavaScript function to run on a record lifecycle event of some kind - typically [before/after] [insert/update/delete] of <record>. Various GO APIs are exposed to the JavaScript runtime for doing filesystem, cryptography, http, email, etc work.

For i18n you have templates and a database.