Memento Database: Difference between revisions

m
Tags: Mobile edit Mobile web edit
Tags: Mobile edit Mobile web edit
 
(3 intermediate revisions by the same user not shown)
Line 29: Line 29:


=== Primary data structures ===
=== Primary data structures ===
User data is stored in Memento in '''''[[Field|fields]]''''' making up '''''[[Entry|entries]]''''' within a '''''[[Library|library]]'''''. See '''''[[Terminology]]''''' to see how this relates to other database technologies and tools. A collection of libraries is called a '''''[[Library Groups|group]]'''''. A collection of fields within a Library structure is called a '''''[[Page|page]]'''''. When data is entered into fields, an '''''[[Entry|entry]]''''' is created, so while a library's structure is made up of fields, the library's data is made up of entries.
User data is stored in Memento in '''''[[Field|fields]]''''' making up '''''[[Entry|entries]]''''' within a '''''[[Library|library]]'''''. See '''''[[Terminology]]''''' to see how this relates to other database technologies and tools. A collection of libraries is called a '''''[[Library Groups|group]]'''''. A collection of fields within a Library structure is called a '''''[[Page|page]]'''''. When data is entered into fields, an '''''[[Entry|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 ===
=== Programming languages ===
In general, '''no knowledge of programming languages is required''' to use Memento.
In general, '''no knowledge of programming languages is required''' to use Memento.


There is, however, a '''[[JavaScript field|JavaScript field type]]''' that can be used for scripting or calculation of a field value. JavaScript may also be used to perform functions '''[[Actions|at the touch of a button]]''' or '''[[Triggers|at various junctures in the handling of a library entry]]'''. Memento provides a rich '''[[Memento JavaScript Library|API (Application Programming Interface)]]''' for JavaScript programming. For a full description of the JavaScript language, read '''[https://developer.mozilla.org/docs/Web/JavaScript here]'''. The implementation is based on [https://www.mozilla.org/rhino/ '''the Rhino library'''].
There is, however, a '''[[JavaScript field|JavaScript field type]]''' that can be used for scripting or calculation of a field value. JavaScript may also be used to perform functions '''[[Actions|at the touch of a button]]''' or '''[[Triggers|at various junctures in the handling of a library entry]]'''. Memento provides a rich '''[[Memento JavaScript Library|API (Application Programming Interface)]]''' for JavaScript programming. For a full description of the JavaScript language, read '''[https://developer.mozilla.org/docs/Web/JavaScript here]'''. The implementation is based on [https://www.mozilla.org/rhino/ '''the Rhino library''']. Since Rhino does not implement the latest version of JavaScript, those features added more recently to JavaScript are not available to Memento.


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 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. When attempting to do complex scripting, the use of Calculation fields becomes very tedious.


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 [http://docs.oracle.com/javase/specs/index.html '''Java 8 documentation'''], (but I don't recommend it).
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 [http://docs.oracle.com/javase/specs/index.html '''Java 8 documentation'''], (but I don't recommend it very highly).


=== Essential features ===
=== Essential features ===
* Storing entries with custom [[Field|'''fields''']]
* Storing entries with custom [[Field|'''fields''']]
* [[Slicing & Dicing|'''Performing Data analysis''']], including aggregation, charting, sorting, grouping, and filtering entries by any fields
* [[Slicing & Dicing|'''Performing Data analysis''']], including aggregation, charting, sorting, grouping, and filtering entries by any fields
* Displaying data in the form of a list, a set of cards, a table, on a map, or in a calendar
* Displaying data in the form of a list, a set of cards, a table, on a map, on a Kanban (task management) board, or in a calendar
* [[Synchronizing data|'''Synchronization with Google Sheets''']]
* [[Synchronizing data|'''Synchronization with Google Sheets''']]
* [[Cloud storage and Teamwork|'''Teamwork''''], by providing access to libraries to other users
* [[Cloud storage and Teamwork|'''Teamwork''']], by providing access to libraries to other users
* Access to data from [[Platforms|'''several Android devices and from laptop and desktop computers''']]; users can work with the same libraries on their phones, tablets, and PCs.
* Access to data from [[Platforms|'''several Android devices and from laptop and desktop computers''']]; users can work with the same libraries on their phones, tablets, and PCs.
* Dozens of [[Field Type|'''types of fields''']], including text, integer, real, boolean, date/time, rating, checkboxes, radio buttons, currency, image, signature, file, audio, contact, [[calculation field|'''calculation''']], '''[[JavaScript field|JavaScript]]''', geolocations with Google Maps coordinates, and others
* Dozens of [[Field Type|'''types of fields''']], including text, integer, real, boolean, date/time, rating, checkboxes, radio buttons, currency, image, signature, file, audio, contact, [[calculation field|'''calculation''']], '''[[JavaScript field|JavaScript]]''', geolocations with Google Maps coordinates, and others
Line 63: Line 63:
* The Memento [[User Interface|user interface]]
* The Memento [[User Interface|user interface]]
* [[Glossary]]
* [[Glossary]]
* [[FAQ]]
* [[Products & Services]]
* [[Products & Services]]