Hi, if you are reading this I assume you are new to the Appacitive ecosystem. This tutorial will get you started with the absolute basics of the platform. You design your backend infrastrucure to hold your data for which the visual modelling tool is a great accessory.
The basic building blocks of your application’s backend are schemas, articles, relations, connections and canned lists.
You can visualize schemas as tables in a contemporary relational database. It has properties which hold values for that schema just like columns for a table. A property has a data type and additional constraints are configured according to your application’s need.
Data types -
The possible data types are string, text, bool, long, decimal, date, time, datetime,geography, blob and cannedlist item. Blob data type is used to store binary data such as pictures, videos or files of any format and extension. I will come back to cannedlist item towards the end.
Additional constraints -
These include range, regex, mandatory, unique, immutable, minimum length, maximum length, default value, hashing, masking and multi-valued. Ranges are applied to constrict the max, min (or both) values for a numeric or chronological property. You can make sure string properties pass your custom regex checks or one of the regexes provided out of the box. Immutable property values cannot be altered later once set. Masking is great for fields like credit card numbers where you just want to expose a subset of the value and hashing is used for properties like passwords. Your specified default values get stored for a property in the absense on one if configured so.
Articles can be thought of as rows in the table or instances of a class. An article of a schema contains values for its schema’s properties where each property value obeys the rules defined by its parent schema for it. Each article has a unique id assigned to it. Appacitive offers an extensive seach engine to mine articles(and connections) for your app’s businness and analytical needs.As an example, if there was a schema called Players to model players of a sport, then articles for that schema would be individual players you entered into the system.
A relation is used to model a relationship between two schemas. a typical example could be a relation called contract between schemas player and team. A relation has properties of its own which have data types and applicable constraints like in the case of schemas. A relation mentions the two schemas it connects and the multiplicity for both sides. You can configure it so that a player can belong to just one team but a team can have multiple(or n) players.
Connections for a relation are instances for that relation and hold values in properties for its parent relation. You create a connection to connect two articles together and hold values for that relation. These values are for the relation properties and obey the rules defined by the parent relation.
Canned Lists -
A canned list is a list of key value pairs. They are used to force the value of a property to come from a list of predefined items. Don’t get confused, but a canned list can also have dynamic values you can configure to come from an external source. A typical example could be a canned list of airports. A property can be configured to hold a value coming only from this list. It can be assumed to be a pointer to a key value pair from the canned list.
So, that was a brief overview of the general blocks and nomenclature for the platform. Have fun building kick-ass apps using the Appacitive system.