From Memento Database Wiki
Revision as of 07:35, 17 February 2022 by UnConnoisseur (talk | contribs)
Jump to navigation Jump to search

Memento application structure

Like almost all modern apps, Memento is structured inside into 3 layers or tiers.

The User Interface layer (the UI layer) consists of — on the Mobile edition screens & on the Desktop edition windows — in either edition with cards (forms), menus, toolbars, buttons, and so on — to handle interaction with the user.

The Scripting layer takes action upon user input or other such events, like the opening of a library, the pushing of a button, or the saving of an entry. These events may be handled to some degree by Memento & to another degree by the use of user-written scripts(generally JavaScript scripts).

The Database layer manages the storage of & access to data (or database).

This layer includes the definitions of all libraries, fields (with any aggregations or autofills), entries, links among or relationships between libraries, templates, & filters; it also includes synchronization of local data with data in the Memento cloud — the partial synchronization of each library with Google Sheets — which can then be saved to Microsoft Excel files.
This synchronization with spreadsheets in Google Drive — as opposed to that with libraries in the Memento clouddoes not include library links, tag names in Tags fields, item names in Single-Choice List, Radio Buttons, Multiple-Choice List, Checkboxes, nor List fields.

Read about the relationship between layers and tiers.

NOTE: Layers & Tiers

Move the text below into About:MementoStructure, revising along the way for user comprehensibility. We may also put some of this into Doc:TermConfusion, probably just a tiny summary of it.

The architecture of most modern applications is made up of 3 execution tiers: The Presentation tier, the Application tier, and the Data tier.
See IBM's definitive article: Three-Tier Architecture.
See a BMC Software (a vendor of several sets of applications & services for large-scale computer database systems) blog article called N-Tier Architecture: Tier 2, Tier 3, and Multi-Tier Explained blog article on database application architecture.

Memento terminology in 3-tier application architecture

Tiers & layers
Most articles & other literature on application architecture reference 3-tier architecture.

These articles have been written for very large systems, like Google or Amazon. Each of the 3 layers will run on its own separate platform on such large-scale systems, so they call it a 3-tier architecture. Very small systems that run, say, on your cellphone will have all 3 layers running on your cellphone. So, don't worry about the difference between application layers & tiers. In our case, the only time a layer gets spread across tiers is with the Memento Cloud. There is still a part of the data layer running on your phone, but it communications with the Memento server software in the cloud for the remainder of the data layer. So other than that, they are equivalent, and when you hear about one, it applies also to the other unless the subject has to do with what device or computer it runs on. Since we're small, we'll use the term layer.

Memento's names for the tiers/layers

The Memento user interface layer runs on your device and may be called in articles the Preseentation tier or layer. The Memento Scripting layer runs on your device and may be call in articles the Application or Logic tier or layer. The Memento Database layer runs on your device & on Memento servers when you're using the cloud and may be called in articles the Data tier or layer.