Centralized distribution of SASS / styling amongst microservice landscape - Mendix Forum

Centralized distribution of SASS / styling amongst microservice landscape


My idea is to start storing SASS / css in a shared database accessible from the Mendix modeler UI and web modeler. 

Last year Datahub was announced which will be a centralized point for databases in a microservices landscape.
I would like something similar for SASS / CSS files and styling resources that I can access from any of my applications.
So that I only have to maintain styling in one place, and create variations there.

From the modeler I would be able to select classes and styling options available in my centralized database for a single or multiple clients. Preferably it would come with a UI that is somewhat like https://storybook.js.org/ where we can see all components available, internal widgets and custom widgets. And create styling variations for them.
And if I update the styling for a component or create style variations, it should automatically update across my entire app landscape which make use of the shared UI collection. This way if I update visual bugs or improve styling, it will reflect so in all my apps.

Right now updating styling you need to create your own version of “Atlas UI resources” and maintain it in a private AppStore, and Mendix maintains it’s own version of Atlas UI and wishes to keep it upgradeable for future component changes etc. This has been a difficult process, where when you update to a latest version. You then need to copy paste your custom styles from “OLD” to “NEW”. The shared UI resources could make these available for every project made with Mendix. 

It would also be possible to make UI components and styles / mixins available for others to use if you make these easily shareable / cloneable between databases.



1 answers

I like this solution

there are many different solution proposed for the same problem

so it should be clear that the problem is definitely very alive.

also check out this idea-post:
Cross-application styling / sync UI resources