Each map take several fields from the source json schema and define an optional handlebar expression
Similar to Cenit's Legacy, create a top navigation by module/domain, when and element be selected, only show in the lateral menu the items related with this module. That also could be very useful for embebed-app-extension that need to have their own navigation menu. With the current lateral menu the option is add more items in the current list, when it growth is difficult to navigate. See in the attachment two examples
The Cenit's legacy version support an OpenAPI Directory, https://cenit.io/open_api_directory where we list more than 1600 APIs, that has specified an Open API formal specification (aka Swagger). We want to build a feature that allows import an OpenAPI Spec, and match it with Cenit elements. This functionality will be very helpful to start a new integration. Even if you don't have all the elements after the pull, you will have connection, operations, data type and other element needed for the communication with the external api. You just need to add flows and other resources for it.
Based in collection App Connectors, create a workflow, with few steps allow to create an integration form API A to API B. e.g from HubSpot to Slack The Recipes, need to define two blocks, trigger and action. For trigger, will chose the object, and the action. Eg. trigger when a contact is created or updated in HubSpot CRM For Action, chose the object, and the action. E.g send a message to slack. The Recipes should include and easy way to map the object from A to the object B, for example use the contact to create a message
Support user-level plans based on the number of tenants that can be used and the number of task executions
Use Microfrontends architecture to build extensions. Although the microfrotend allows to have components in different technologies like React, Vue, and Angular to render their components. In Cenit It is practical and suggested to use React. In that way the component can has their own git repository and be deploy independently as a SPA
In Cenit a Collection is is a very broad concept, that allow wrapper any set of resources in Cenit. To be able to build a simple recipe integration Wizard for non-technical users is needed have some pre-build lego-bricks that we can use for it. Source Connector and Destination Connector are the lego-bricks. In other idea we talked more about recipe-wizard, let dive here how we could build this lego-bricks. Source Connector (Receive Data) In the context of collection of type Source-connector, a trigger will mean a synchronization of data from an external API to Cenit. Example: In the Hubspot CRM, a trigger could be named “New Contacts”. This trigger allows: when a new contact is created in Hubspot, a new record of datatype Contact will be sent to Cenit. The configuration of the trigger should have a defined variable “Start from”, to specify that what to do -with the initial load information - when it is first started, the flow should pick up events from: start now: sync the objects created after the flow is enable an hour ago: sync the objects created since one hour ago and all the new objects after the flow is enable a week ago: sync the objects created since a week ago and all the new objects after the flow is enable a month ago: sync the objects created since a month ago and all the new objects after the flow is enable unlimited: sync all the exiting objects created and all the new objects after the flow is enable If the selected event is “a week ago”, then the first time that starts the flow, it will do an initial loading of the data from a week ago, and after that, it will keep the data every 20 min sync. What kind of trigger-event we need to sync for an object like Contact: New object(contact in Hubspot) is created: receive every new object created in the external service(e.g Hubspot) Updated object: receive every updated object in the external service New or Updated object: receive every new or updated object in the external service Delete object: eceive every deleted object in the external service How to define events that trigger the flow: Schedule Event + FLOW or Algorithm: create an scheduler event, that will be trigger to fix period of time, we will use 20 minutes, then to each 20 minutes the event will be trigger and we can execute an algorithm or a flow in Cenit to retrieve the information with an HTTP GET. The App Connector needs to be able to enable/disable a trigger Pattern: For pagination it is important to create asynchronous tasks for each page. Use algorithms for this. Antipattern: use the concept of Flow in Cenit could be more easy than algorithm, but for things like pagination algorithms are more versatil, they can create asynchronous tasks for each page.
Allow associating an Event of type Data or Schedule to an algorithm, allowing it to be executed automatically