Changes between Version 11 and Version 12 of Public/Docs/CinnamonArchitecture
- Timestamp:
- Dec 29, 2025, 2:02:35 PM (45 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Public/Docs/CinnamonArchitecture
v11 v12 50 50 === Change Trigger 51 51 Change Trigger is the counterpart to CAE, as it allows customization in a similar, plugin-based way, but executes the customization synchronously. 52 There are standard plugins for Change Trigger. One plugin makes sure that a client folder structure is created for new user accounts. Change Trigger plugins are associated with one or more API methods by configuration and are called whenever the API method is used. In our example, when an administrator creates a new user, the API method {{{/api/user/create}}} is called, which creates the user. Then, Cinnamon Server calls the associated Change Trigger plugin which reads the user data (ID, name) and creates the folder structure. 53 54 Plugins can be called before or after an API command, or after the entire command was committed. The first variant is useful to apply additional checking whether the conditions to execute the API command are met, and forbid execution otherwise. Since this happens on the server, it can't be bypassed by clients. 52 55 53 56 === CDCplus 57 Most setups use CDCplus as the main frontend to users. After login, CDCplus GUI exposes the folders and content objects in Cinnamon Server and the functionality to handle these objects (check out, edit and check in as a new version, change lifecycle states, request translation or publication etc.). 54 58 55 59 === Web Client 60 Using the API, custom web applications can easily be built. {{{C#}}} .net 8 web clients can use the same API access libraries as the other Cinnamon client applications. The client access library runs all systems supporting .net 8 (including Windows and Linux). 61 Since the API is based on {{{http(s)}}}, it can be integrated into virtually any other development environment like Python, Java, JavaScript etc., if this is a requirement. 56 62 57 === Other Clients 63 === Other Clients / Servers 64 Cinnamon Server exposes the API for inbound requests. Apart from interactive clients or services used by Cinnamon itself, the same is possible for code running in third party applications. If Cinnamon needs to be accessed from within a third party product, and the product has a programming interface, the API can easily be leveraged. On the inverse, Cinnamon has the infrastructure to synchronously or asynchronously run custom code. Such code can access external API of third party products. 58 65 59 === Other Servers 66 A common integration in Cinnamon is to call Large Language Models or services based on them to use AI functionality from within Cinnamon without exposing LLM credentials and access to the users.
