Basic ‐ What is Wiser - happy-geeks/wiser GitHub Wiki
Wiser in a nutshell
Wiser was developed with 2 main goals in mind;
- Managing all sorts of data in a friendly environment**
- Using this data to create (automated) output**
But off course this is very general. Managing data via Wiser is possible in very extensive ways. And also 'data' is not just numbers and other types of values, but also files, images and links between 2 or more 'items'. In fact, via Wiser you can set up a full-scale data-model and have this model loaded into Wiser to manage it. And this can be done all without the need to have extensive technical knowledge!
The opportunities for creating output are numerous, the standard is obvious by displaying the data withing Wiser. But there are also options to generate PDF's, send e-mails, SMS or even WhatsApp messages based on and containing the data within Wiser. And also there is a very extensive developer environment in which developers can set up a fully functional web application. Last but not least, Wiser also contains an API and a click-and-collect data selector module to get data into and from Wiser.
Some examples for the use of Wiser:
- Managing customer data (CRM) and for creating a portal (web application / app) in which customers can log in and order certain products (E-commerce)
- Managing rich content (CMS) and creating a website in which this content is shown (web-development)
- Managing product-data (PIM) and get this data available through end-points (API)
How does this all work?
First of all it is important to know that the model of Wiser itself is variable and extensible. So there is no limit on the amount and sorts of data you manage with Wiser! But of course this big advantage comes with some challenges. So it is very important to know how much data of a certain type is going to be managed with Wiser, now and in the future. If you know that beforehand, you can set up everything correctly and make sure the system remains quick and responsive. If you do not think this through you will end up with a lot of data which can be managed but will be slow to query.
And then the basics: Wiser consists of 5 main building blocks. We call them;
Entities
Entities are the foundation of Wiser. An entity is named by the type of data it contains. So an entity called 'person' would contain data about a person. For an entity you can determine in Wiser what should happen to it once it is created, saved or deleted. For example; create a welcome e-mail once a new person is added.
Entity-properties
Entity-properties describe what data (values and files) an entity holds. So you could have an entity called 'person' (this would be the 'type' of the entity) which contains these properties: Name, Birthdate and Profile picture. But there is much more, the entity-property also describes how this data can be managed by providing a lot of options on how an entity would look on screen when opened in Wiser. For example;
- Name (full-width input field
- Birthdate (a date-picker with this format dd-mm-YYYY)
- Profile picture (with the option to save this profile picture in a certain CDN) These are just some examples, but for a full set of all options of all the entity-properties, visit this wiki.
Items
An item is the physical container of the data as it is saved in the database. Every item in Wiser has its own unique ID and all values, links and files connect to this ID. As the setup of Wiser is variable, we do have one big storage of all the items, but it is optional (and encouraged) to separate items of a certain type into separate tables.
Links
Links describe the connection between 2 different items. The main property of link is its 'type'-number. All links between items are saved based on source and destination combined with the type number.
Modules
Modules are the user-interfaces within Wiser that bring the items and the functionality described in the entity to live. A module has 2 basic options; either it is a hierarchical representation of the data (parent-child) or it is a tabular representation of this data. But a module also offers the possibility to directly show an existing or add a new item. So when everything is combined you can for example set up a module which shows the latest new customers but also gives a representation of the sales of this week.
Link-property
As if this model of entities, values and modules isn't enough there is also the option to represent data on a link. For example, you manage customers and products in Wiser and you would like to have the option to have specific information about a product which is connected to a product. Therefor you can also determine various link-property's. These behave exactly the same as entity-fields, but in this case are only shown when a link between two items is being edited.