Architecture/Extensibility

I have a use case where I need mainly CMS functionality but I need as well custom business logic.

The custom business logic would need:

  • REST interface
  • Database (Quite likely a SQL one but maybe NoSQL could fit as well)
  • Product price logic (the business logic itself)

I have the idea to use squidex as CMS and extend it with the business-logic requirements but I hesitate to take this path as I’m new to squidex and I don’t know if this architecture makes sense. I checked the squidex doc but couldn’t find guidance how to do it.

Question:

  • Does this architecture approach make sense?
  • How to implement it?

There is this page about extensions: https://docs.squidex.io/01-getting-started/contributing-and-developing/extensions

But it is not up to date, I am planing to improve it this week, every day a little bit.

It depends how much you extend and could make a lot of sense. I recommend to wait until tomorrow or Thursday and then have a look to the docs again. You can implement plugins and also extend Squidex with custom controllers.

Do I understand correctly that to write own extension, I need to fork the source code and change it?

Yes, this is the case right now. I mean a plugin architecture would be great, but I have no idea, how to implement a good one for docker and kubernetes.

But a lot of extensions can be written with a micro service approach. See Squidex identity as an example.