There are a strong talk about platform capabilities on managing templates and models. For example to shortening the time needed to develop new solutions, artefacts and documents.
In Snap4Technology, there is a strong orientation on templates and models for different kinds of artefacts, and in this short article we are giving you the evidence.
Snap4Technology provides a number of templates and models:
- IoT Device Models / Entity Model (they are data/Entity models, also called Entity Models) from which you can start producing devices in bulk, compliant with those models. On Snap4City the IoT Device Models can be public or privates. Their management is performed via IoT Directory, Entity Directory.
- you can also download and share the model, download and load models in other Snap4City platforms, download copy and modify the models, etc. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users.
- High Level Types, HLT. They are advanced data models, typically also described as IoT Device Models. HLT are managed with specific Data Management tools and are:
- Heatmaps, Traffic Flows, Origin Destination Matrices, Trajectory paths, Gardens, Building Plants, Building 3D, Floors, Cycling Paths, Entity Groups, Typical Time Trends, Scenarios (which includes a road graph, a set of devices, etc.).
- Smart Data Model of FIWARE (they are data models, which are produced by FIWARE as standards for devices. They are more than 1500 and accessible to any Snap4City user / developer to create devices / Entities on Snap4City platform) from which you can start producing devices in bulk, compliant with those models. On Snap4City the IoT Device Models can be public or privates. Their management is performed via IoT Directory, Entity Directory.
- you can also download and share the model, download and load models in other Snap4City platforms, download copy and modify the models, etc. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users.
- IoT Device JSON / Entity JSON which is a copy of the Device structure from which you can learn how a device is made. You can also modify the IoT Device JSON to load them on some Snap4City platform and thus to create new devices as a sort of templates. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users. Their management is performed via IoT Directory, Entity Directory.
- IoT Device Message JSON / Entity Message JSON which is a copy of the Device Message from which you can learn how to send a message to a device, from some API or to some Node-RED block on IoT Apps / Proc.Logic. These Device Messages are accessible for all devices including those created by any of the above cited models. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users. Their management is performed via IoT Directory, Entity Directory.
- Widgets JSON which is a copy of of the Widget can be exported from a widget of a Dashboard to be imported in another Dashboard for shortening the development time of Dashboards and Widgets, and also to import/share Widgets configuration among other Snap4City platforms. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users. Their management is performed via Dashboard Builder / Editor.
- Dashbords JSON which is a copy/export of a Dashboard as exported from a Dashboard to be imported to create a copy the Dashboard for shortening the development time of Dashboards and also to import/share Dashboards configuration among other Snap4City platforms (please note that the export/import of a Dashboard includes the export/import of its Widgets). Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users. Their management is performed via Dashboard Builder / Editor. Dashboard JSON can be regarded as templates for making solutions. Pleasse note that Dashboards are based on data saurces, and the data sources have to be acessible in the other platform. On the other hand, Snap4City platforms can be federated, making data accessible from one platform to another. Please also note that, Dashboards can be invoked with a paramters which can be used to change the data addressed by the dashboard as well in addition to other aspects. See the CSBL manual on this regard.
- Dashboard Clones. Each Dashboard owner can create a Clone of its dashboards to save the status or to use in other projects, or even to pass the copy of the Dashboard to another user. This approach can shortening the time for Dashboard development in the same platform. Their management is performed via Dashboard Builder / Editor. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users. Dashboards may include JavaScript code on client side, the so called CSBL. The developer has to protect its code with specific licensing statement inside. For default that code is not public and thus the Applications based on CSBL Dashboards are not open source as all the other artefacts.
- IoT App/Proc.Logic JSON. Each IoT App/Proc.Logic is a Node-RED flow which can be downloaded/exported/shared (in toto, or only segment, and single flows). Each flow or segment can be loaded/imported in any other Node-RED on cloud or on Edge, on any other Snap4City platform instance or on stand alone Node-RED tools. This approach can shortening the time for developing IoT App/Proc.Logic, to share solutions and segments, to create a library of macros, etc. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users.
- Python and RStudio codes. All the data analytics written in Python and/or RStudio can be downloaded, shared and distributed. Their IPR is of the developer, so that their sharing in under their resposibility. The Platform guarantee that the code is not accessible to other users.
- Report Templates. Snap4City is using Jasper report tool for producing reports. The usage of templates is adopted to provide those for devices, variable, etc. In alternative, the reports can be generated by using dashboards and printing them from browser.
- Life Cycle development templates. The development life cycle of Snap4City provide a number of templates to help you on all phases of the development life cycle including data identificcation and data modeling, design of the user interface, etc. https://www.snap4city.org/download/video/Snap4Tech-Development-Life-Cycle.pdf
Some of these features can be accessible to specific kind of users depending on the Snap4City platform in which you are working on.