Memento Wiki: Difference between revisions

Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{Stamp|2016-12-06|4.1.0|1.0.7}}
{{Stamp|2020-04-15|4.7.5|1.8.1}}


The Memento Database Wiki was born very modestly in July, 2016, as mere links to the existing User Manual and FAQ. Initial development began in late July, with a main page fashioned from a marketing blurb. The page was then honed from that into a more proper main page. By the end of July, the main page and essential pages linked from it were created.
The Memento Database Wiki was born very modestly in July, 2016, as mere links to the existing User Manual and FAQ. Initial development began in late July, with a main page fashioned from a marketing blurb. The page was then honed from that into a more proper main page. By the end of July, the main page and essential pages linked from it were created.
Line 10: Line 10:


The initial work is being done by user Bill Crews (Bill.Crews@gmail.com). During this initial stage of its development, users, developers, and group members can help by reading the pages, identifying any errors or unclear language, and including them along with suggestions in email messages to Bill. Alternatively, members can ask questions or make comments in the '''[https://groups.google.com/forum/m/#!forum/mementodatabase Memento Group]'''.
The initial work is being done by user Bill Crews (Bill.Crews@gmail.com). During this initial stage of its development, users, developers, and group members can help by reading the pages, identifying any errors or unclear language, and including them along with suggestions in email messages to Bill. Alternatively, members can ask questions or make comments in the '''[https://groups.google.com/forum/m/#!forum/mementodatabase Memento Group]'''.
=== Update Wed 15 Apr 2020 ===
The wiki has been fairly static for the last 3 years or so, with the main updates being in the <i>What's New in Memento</i> page, some examples pages, some JavaScript tips, and updates based on new features as they came out.
There will be a new surge of activity in the coming year, starting with a long-needed <i>Memento JavaScript Tutorial</i>.
==== The Memento JavaScript Tutorial ====
Now, I am guilty of feeling very strongly that Calculation fields should be dropped off the plank of a galleon in the deepest part of the Abyss. It is baroque beyond all reason, <u>though a good very early effort by the developer to provide a bit of easy-to-learn scripting for Memento users</u>. And support can't be removed for it without breaking everyone's code.
JavaScript, starting with JavaScript <i>fields</i>, was brought in <u>to the rescue</u>, but the kelp is dragging everyone under despite this valiant attempt. I'll release the tutorial in little pieces, hopefully in a sequence that makes sense to everyone as it comes out.
===== In the meantime =====
In the meantime, maybe you can use this Coronavirus hiatus time to check out the non-DOM, non-HTML, non-Web portions -- the fundamentals, basically objects, arrays, properties, strings, methods & functions, etc -- by surfing to the links at the end of the <i>Tips:Using JavaScript in Memento</i> wiki page, focusing only on the Mozilla Developer Network (bottom) portion of the table of links, avoid the tutorials in there, and focus on the <i>Introduction to JavaScript</i> and the <i>JavaScript Guide</i> -- but all the while making sure to skip over all the following things...
===== What to read until the <i>Memento JavaScript Tutorial</i> sections come out =====
<b>In the <i>Introduction</i>,</b>
* <b>Skip</b> <i>Where to find JavaScript Information</i>.
* <i>What is JavaScript?</i> is good.
* <i>JavaScript and Java</i> is important.
* <b>Skip</b> <i>JavaScript and the ECMAScript specification</i>.
* <b>Skip</b> <i>Getting started with JavaScript</i>, for the following reasons (This is the best example of why we have to skip stuff, so I'll expound on it.)
** It starts with "Getting started with JavaScript is easy: all you need is a modern Web browser". Well, yeah, it's easy <u>relative to learning all of JavaScript for all Web development</u> with several kinds of tools, like HTML, CSS, and so on.
** <b>However,</b> the deal is that you only need to know a tiny portion of even the fundamentals plus learning a bit about Memento JavaScript fields and if you need more, then also the <i>Memento JavaScript Library</i>.
** If you start doing what it says is so simple -- Yes, it is relatively simple -- but <u>it seeks to teach you way more and mostly different information than what you need.</u>
<b>In the <i>JavaScript Guide</i>,</b> (<b>Skip</b> means skip to learn just what you can get by with.) If you want to learn more but still avoid all that Web stuff, I'll use the word <u>Skip</u> (<u>underlined</u>, not <b>bold</b>).
* <b>Skip</b> the <i>Introduction</i>. You already read it above.
* <i>Grammar</i> is excellent. Please read.
* <i>Control flow</i> is good, <u>Skip</u> the error handling, try/catch/throw, & error objects.
* <i>Loops and iteration</i> is good, but <b>Skip</b> <i>for..of</i>. The <i>Rhino</i> JavaScript engine Memento uses to interpret JavaScript uses an older version of JavaScript that doesn't include support for <i>for..of</i>.
* <i>Functions</i> is good, but <u>Skip</u> the following subsections ...
** <i>Function scope</i>
** <i>Closures</i>
** <i>Arrow functions</i>
* <i>Expressions and operators</i> is excellent.
* <i>Numbers & dates</i> is excellent.
* <i>Text formatting</i> is good but <u>Skip</u> <i>Template literals</i> & <i>Regular expressions</i>.
* <i>Indexed collections</i> is good, but <u>Skip</u> <i>Typed arrays</i>.
* <u>Skip</u> <i>Keyed collections</i>.
* <i>Working with objects</i> is good, but <u>Skip</u> <i>Getter and setter</i>.
* <u>Skip</u> <i>Details of the object model</i>.
* <u>Skip</u> the rest of the guide.
Then, read the following <i>Memento Wiki</i> pages in sequence:
* <i>Scripting</i>
* <i>JavaScript field</i> -- The next 5 pages are more complex. If you can get by with JavaScript fields, skip them...
** <i>Memento JavaScript Library</i>
** <i>Actions</i>
** <i>Custom Data Sources</i>
** <i>Triggers</i>
** <i>Trigger Examples</i>
* <i>Tips:Using JavaScript in Memento</i>
Check back during the Coronavirus crisis for the tutorial and for incremental additions to it over time.


=== Wiki Page Categories ===
=== Wiki Page Categories ===