Fork me on GitHub

Hi, is MySQL not supported yet? getting an error ClassNotFoundException com.mysql.cj.core.log.duct.logger.timbre.TimbreLogger@45fc66c ( how to work around this?


though i'm not sure if latest version has it fixed yet. Are you using latest version?


Hi, I’m reading wiki/Boundaries article and thinking about “it’s good practice to have small boundaries” - does it mean in practice that the best protocol is usually 1 action (e.g. same thoughts about though it could be 1 react element protocol)?


maybe @U050B88UR already put some thoughts about protocol splitting in this context ^


@myguidingstar e.g. I look at User has quite many fns, imagine you have to switch to read from cache (another duct key, not db) by-id/by-username or store relationships in another (graph) db..) - how will it affect the app? right now I don’t understand clearly what should be changed then? did you experienced such situation when you have to “split” a protocol?


@myguidingstar Thanks! Will give it a try.


@razum2um I've never experienced such situation. Does it work if you extend the same protocol to something other than duct.database.sql.Boundary such as duct.database.redis.carmine.Boundary?


can work as a hack under discipline - both records can only partially implement protocol then and we should be careful not to call wrong one on another record. so effectively it’s about splitting protocols in real life..


another question about dependent boundaries: imagine you have to ensure author_id (user/by-id) presence here: is it semantically correct? I feel something wrong with it (maybe end up with circular deps or smth else..)


and linked question - where will you put smth which requires a join between users and articles?


for that particular app, I ensured author_id presence from outside that boundary, which means boundaries' dependencies are managed outside of protocol implementations

👍 4

though I'm not sure it's the right way to do it. i haven't put enough thoughts on Duct's boundary things myself