Doc: Memento Database

From Memento Database Wiki
Jump to navigation Jump to search
« Page as of 2021-04-17, editions Mobile 4.10.0, Desktop 1.9.6 »

The Memento Database page is the first page in the Overview section of the index, it constitutes an introduction to the wiki and possibly to Memento itself.


  • Editions
  • Platforms
  • Licenses (Pro client, Free cloud, Pro cloud, Team cloud)
  • Memento products (Memento, Private Server)
  • Elements (libraries, fields, entries, linking, scripting, the cloud, files
  • Usage techniques (data analysis,
  • Administrative functions (installation, updates, removal, backup/restore, import/export, sync with Google Drive
  • User interface (screens, cards, windows, pages
  • Security, teams
  • Application integration (Zapier, JavaScript Intent object)


is a database management software tool for mobile devices (Android) and personal computers (Microsoft Windows, Linux, Apple Macintosh). Elements of a user's database — libraries and associated files — may be synchronized across these platforms via an available cloud service. Libraries also may be synchronized with Google Sheets spreadsheets stored on the user's Google Drive to enable the user's data to be manipulated or analyzed by either tool, as needed. Import/export from/to comma-delimited (CSV) files enables coordinated use with external applications, like Microsoft Excel.

Data libraries may be linked, allowing any number of libraries to work together to form a database and provide a solution.

All data can be stored in the Memento Cloud. All such libraries, photos, and files are synchronized automatically between the cloud and local copies on Android devices. Users can provide access to their data to other users, enabling teamwork use.

Targeted users & use cases

Memento's goals include serving:

the casual, perhaps single-library user
who just wants to throw up a grocery list or recipe repository
the intermediate user
who might want to have some related libraries tracking some activities
the power user
who might be pushing the boundaries in certain areas, like scripting, complex data structure, retail or barcode solutions, media solutions, contact applications, product catalogs, charting, or others
the organizational user
who might need teamwork collaboration, cross-platform compatibility, cloud storage & coordination, library protection, and others

Memento's online catalog of user templates contains thousands of predefined, ready-to-use libraries to use directly or serve as a starting place. It also gives users the opportunity to familiarize themselves with a large number of ways to use Memento to provide solutions.


Memento was first implemented on the Android platform for smartphones and tablets, and Android continues to be a prime platform for Memento. The Mobile Edition operates off locally stored data that may or may not be synchronized to the Memento Cloud.

Users using Microsoft Windows, Linux, or Apple Macintosh use the Memento Desktop Edition to work with data stored in the Memento Cloud. Data and files are synchronized with mobile platforms through the Cloud.

Primary data structures

User data is stored in Memento in fields making up entries within a library. See Terminology to see how this relates to other database technologies and tools. A collection of libraries is called a group. A collection of fields within a Library structure is called a page. When data is entered into fields, an entry is created, so while a library's structure is made up of fields, the library's data is made up of entries.

Programming languages

In general, no knowledge of programming languages is required to use Memento.

There is, however, a JavaScript field type that can be used for scripting or calculation of a field value. JavaScript may also be used to perform functions at the touch of a button or at various junctures in the handling of a library entry. Memento provides a rich API (Application Programming Interface) for JavaScript programming. For a full description of the JavaScript language, read here. The implementation is based on the Rhino library.

Memento also includes a proprietary scripting syntax for users to define an expression for a Calculation field. It is simpler and easier to learn than JavaScript and is generally more convenient to use, when scripting requirements are minimal.

Memento is implemented using the Java 8 language. If you have esoteric questions about field value limits, arithmetic operation details, etc, you could reference the Java 8 documentation, (but I don't recommend it).

Essential features

Find out more about Memento