<div dir="ltr"><div class="gmail_default" style="font-size:large">
<p class="MsoNormal"><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif">Dear ISIS Users,</span></p><p class="MsoNormal"><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif"><br></span></p><p class="MsoNormal"><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif">Please find for your consideration the 11 June 2017 Release Candidate of J-ISIS. </span><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif;color:rgb(37,37,37);background:white none repeat scroll 0% 0%">The Release Candidate</span><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif;color:rgb(37,37,37)"> <span style="background:white none repeat scroll 0% 0%">(<i>RC</i>) is a
beta version with potential to be a final product, which is ready to release
unless significant</span> </span><span style="font-size:10pt;line-height:115%;font-family:"Arial",sans-serif"><a href="https://en.wikipedia.org/wiki/Computer_bug" title="Computer bug"><span style="color:rgb(11,0,128);text-decoration:none">bugs</span></a><span style="color:rgb(37,37,37)"> <span style="background:white none repeat scroll 0% 0%">emerge.</span></span></span></p>
<p class="MsoNormal" style="text-align:justify;line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><a href="https://github.com/J-ISIS/J-ISIS/releases/download/v1.2/jisis_suite.11.June.2017.zip">J-ISIS 11 June 2017</a></span></p>
<p class="MsoNormal" style="line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif;color:black;background:white none repeat scroll 0% 0%">The Release Note<span> </span>describes the main Improvements and Bug fixes
of J-ISIS 11 June 2017 Release Candidate<span class="gmail-apple-converted-space"> </span></span><span style="font-size:10pt;font-family:"Arial",sans-serif"></span></p>
<p class="MsoNormal" style="line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><a href="https://github.com/J-ISIS/J-ISIS/blob/master/J-ISIS%20release%201-2.pdf">J-ISIS 11 June 2017 Release Note</a></span></p><p class="MsoNormal" style="line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif"><a href="https://kenai.com/projects/j-isis/downloads/download/jisis_suite%2015%20February%202016%20RC.zip"><br></a></span></p><p class="MsoNormal" style="line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif">You will find below a summary of the major bug fixes and improvements, but please read the release note at it contains more details and screen shots.</span></p><p class="MsoNormal" style="line-height:normal"><span class="gmail-apple-converted-space"><span style="font-size:10pt;font-family:"Arial",sans-serif;color:black;background:white none repeat scroll 0% 0%"><br></span></span><span style="font-size:10pt;font-family:"Arial",sans-serif"></span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif">As usual, I would be very grateful if you could take the time to try
J-ISIS. All your comments, suggestions, improvement requests and bug
descriptions are welcome.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif"> </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif">Best wishes,</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:10pt;font-family:"Arial",sans-serif">Jean-Claude</span></p><p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><br>
</p><p class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif">J-ISIS Release Candidate 1.2</span></b></p>
<p class="MsoNormal" style="text-align:center" align="center"><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif"> </span></b></p>
<p class="gmail-MsoListParagraphCxSpFirst" style=""><a name="_Toc484635132"><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif"><span>I.<span style="font:7pt "Times New Roman"">
</span></span></span></b><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif">Fixes to the J-ISIS Print Format</span></b></a><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif"></span></b></p>
<p class="gmail-MsoListParagraphCxSpMiddle"><b><span style="font-size:14pt;line-height:107%;font-family:"Times New Roman",serif"> </span></b></p>
<p class="gmail-MsoListParagraphCxSpLast" style="margin-left:0.25in;text-align:justify"><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span>1)<span style="font:7pt "Times New Roman"">
</span></span></span><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">Repeatable
literals were not working as expected with field dummy selectors (D or N)</span></u></p>
<p class="MsoNormal" style="text-align:justify"><span style="font-family:"Courier New"">|Hello|d270</span><span>
</span><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">was producing an empty string even if field 270 was
present</span></p>
<p class="MsoNormal" style="text-align:justify"><span> </span></p>
<p class="gmail-MsoListParagraph" style="margin-left:0.25in;text-align:justify"><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span>2)<span style="font:7pt "Times New Roman"">
</span></span></span><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">Conditional
literals with subfield dummy selectors (D or N)</span></u></p>
<p class="MsoNormal" style="text-align:justify"><span>“Hello”d270^d </span><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">was always
producing Hello as output even if no subfield ^d was present</span></p>
<p class="MsoNormal" style="text-align:justify"><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span> </span>Same for “Hello”n270^d,</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span><span>3)<span style="font:7pt "Times New Roman"">
</span></span></span><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">MFN command
was raising an error in REF function expressions like</span></u><span>:</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span style="font-family:"Courier New"">ref(mfn,</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span style="font-family:"Courier New"">if p(v19) and v19^x<='0'then", "d963^i,</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span style="font-family:"Courier New"">(if v19^x<='0'then|<b>|v19^a*2|</b>|,| |v19^b fi)</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span style="font-family:"Courier New"">fi,</span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in;text-align:justify"><span style="font-family:"Courier New"">)</span><span></span></p>
<p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in"><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span>4)<span style="font:7pt "Times New Roman"">
</span></span></span><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">Extracting a
fragment of a Subfield specifying only the offset (*offset) was not working</span></u><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span style="text-decoration:none"> </span></span></u>
</p><p class="gmail-MsoListParagraphCxSpMiddle" style="margin-left:0.25in"><span style="font-size:12pt;line-height:107%;font-family:"Courier New"">V270^a*2</span><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">
for example</span></p>
<p class="gmail-MsoListParagraphCxSpLast" style="margin-left:0.25in"><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"><span>5)<span style="font:7pt "Times New Roman"">
</span></span></span><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif">String
function<b> </b></span></u><b><u><span style="font-size:12pt;line-height:107%;font-family:"Courier New"">F(expr-1
,expr-2,expr-3)default width value</span></u></b><u><span style="font-size:12pt;line-height:107%;font-family:"Times New Roman",serif"></span></u><span style="font-size:12pt"> </span>
</p><p class="gmail-Normal10" style="margin-left:0.25in;text-align:justify"><span style="font-size:12pt"><span>6)<span style="font:7pt "Times New Roman""> </span></span></span><u><span style="font-size:12pt">String functions S, SS, and
CISIS functions LEFT, MID, REPLACE, and RIGHT were not working in repeatable
group.</span></u></p>
<p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">For example </span></p>
<p class="gmail-Normal10" style="text-align:justify"><span style="font-size:11pt;font-family:"Courier New"">(if s(v270^d) <>
'1966' then '****' else '1966' fi/)</span></p>
<p class="gmail-Normal10" style="margin-left:0.25in;text-align:justify"><span style="font-size:12pt"><span>7)<span style="font:7pt "Times New Roman""> </span></span></span><u><span style="font-size:12pt">New Print Format Command for
Unconditional Literals <text> …</text></span></u><u><span style="font-size:12pt"><span style="text-decoration:none"> </span></span></u>
</p><p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">Plain text or most probably HTML formatting can now be
imbedded between the <text> and </text> tagging commands, it works
like unconditional literals.</span></p>
<p class="gmail-Normal10" style="text-align:justify"><b><span style="font-size:14pt">II. Print Format
for Repeatable Subfields</span></b></p>
<h3><a name="_Toc484635133"><span style="font-size:14pt">Subfield occurrences</span></a><span style="font-size:14pt"></span></h3>
<p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">It is possible to access individual occurrences of a
repeatable subfield by specifying the occurrence number or range, enclosed in
square brackets, immediately following the field selector or field selector
followed by occurrence selector. For examples:</span><span style="font-size:12pt"> </span>
</p><p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">V270[1]^a[2],v270[1]^a[2]</span></p>
<p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">It is possible to display specific occurrence of a
repeatable subfield, narrowing the output to one or a range of occurrences of a
repeatable subfield by specifying the occurrence number or range, enclosed in
square brackets, immediately following the field selector.</span><span style="font-size:12pt"> </span>
</p><p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">v10^a[1] for example:</span></p>
<p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">It is coded as follows:</span><span style="font-size:12pt"> </span>
</p><p class="gmail-Normal10" style="text-align:justify"><b><span style="font-size:12pt;font-family:"Courier New"">[<index> [..<upper index>]]</span></b></p>
<p class="gmail-Normal10" style="text-align:justify"><b><span style="font-size:14pt"><span> </span></span></b><b><span style="font-size:12pt;font-family:"Courier New""><index></span></b><span style="font-size:12pt"> and</span><b><span style="font-size:14pt"> </span></b><b><span style="font-size:12pt;font-family:"Courier New""><upper index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">refer
to the first (or unique) and last occurrences, respectively. If the specified</span><b><span style="font-size:14pt"> </span></b><b><span style="font-size:12pt;font-family:"Courier New""><index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">is
greater than the actual number of occurrences, no output is generated. The same
occurs if data subfield is not repeatable and</span><b><span style="font-size:14pt"> </span></b><b><span style="font-size:12pt;font-family:"Courier New""><index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">is
set to a number equal or greater than 2</span><b><span style="font-size:14pt">. </span></b><span style="font-size:12pt">However, if</span><b><span style="font-size:14pt"> </span></b><b><span style="font-size:12pt;font-family:"Courier New""><index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">is
set to 1 and it is used in a non-repeatable subfield, content is normally
output. This component must be used outside a repeatable group; otherwise,</span><b><span style="font-size:14pt"> </span></b><b><span style="font-size:12pt;font-family:"Courier New""><upper
index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">is ignored. If double dot</span><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt;font-family:"Courier New"">(..)</span><span style="font-size:12pt"> is used and </span><b><span style="font-size:12pt;font-family:"Courier New""><upper
index></span></b><b><span style="font-size:14pt"> </span></b><span style="font-size:12pt">is missing LAST is assumed</span><b><span style="font-size:14pt">. </span></b><span style="font-size:12pt">The
LAST keyword is set with the value of total occurrences of a data subfield.</span><b><span style="font-size:14pt"></span></b><span style="font-size:12pt;font-family:"Courier New""> </span>
</p><p class="gmail-Normal10" style="margin-left:0.75in;text-align:justify"><b><span style="font-size:14pt"><span>III.<span style="font:7pt "Times New Roman"">
</span></span></span></b><b><span style="font-size:14pt">Print Format Global Variables</span></b></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:120%"><span style="font-size:12pt;line-height:120%;font-family:"Times New Roman",serif">Global variables are stored in a <u>virtual ISIS record</u> which is a
collection of fields, fields may be repeatable and have occurrences, and fields
or occurrences may have subfields. The record, field and subfield concepts are
identical to ISIS. </span></p>
<p class="gmail-Normal10" style="text-align:justify;line-height:120%"><span style="font-size:12pt;line-height:120%">Global
variables are referenced by the letter <b>G</b>
followed by the <b>tag</b> of the field.
The G (a mnemonic code for Global variable) followed by the virtual record tag is
the command telling J-ISIS that you want to assign or extract a field. It may
be entered indifferently in upper or lower case.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:120%"><span style="font-size:12pt;line-height:120%;font-family:"Times New Roman",serif">Global variables can be assigned data through the Print Format commands:</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal"><span style="font-family:"Courier New"">g100:=((v25/)),(g100^a/)</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:120%"><span style="font-family:"Courier New"">g10 := (v10^a)</span><span> </span>
</p><p class="gmail-Normal10"><span style="font-size:12pt">You
may assign or change the value of a global variable as follows:</span></p>
<p class="gmail-Normal10"><b><span style="font-size:12pt">G<i>n</i>:=(<i>format</i>)</span></b><span style="font-size:12pt"> (for example: <b>G5:=(v10)</b>).</span><span style="font-size:12pt"> </span>
</p><p class="gmail-Normal10"><span style="font-size:12pt">Note
that the parentheses around <i>format</i>
are required.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:120%"><span style="font-size:12pt;line-height:120%;font-family:"Times New Roman",serif"><span> </span>Global variables can be extracted
for output like V variables just by replacing the V by G that means that data
will be extracted from the virtual record. It supports repeatable groups as
well.</span><span style="font-size:12pt;line-height:120%;font-family:"Times New Roman",serif"> </span>
</p><p class="gmail-Normal10" style="text-align:justify"><span style="font-size:12pt">Please note that it is a first attempt to implement
Global variables and that specific functions could also be implemented to
further manipulate them. Please let me know if it is worth to continue working
in this direction.</span></p>
<p class="gmail-Normal10" style="margin-left:0.75in;text-align:justify"><b><span style="font-size:14pt"><span>IV.<span style="font:7pt "Times New Roman"">
</span></span></span></b><b><span style="font-size:14pt">New Paging feature into DB
Browser and Terms Dictionary</span></b><b><span style="font-size:14pt"> </span></b>
</p><p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">Databases could be huge. If a database has millions of records and all
records are loaded into memory, it will consume a huge amount of memory and
will of course be very slow. As a matter of facts, user will probably only look
at 10 or maybe 20 records depending on the viewport size, there is no need to
download all the records locally. That’s the reason why the paging feature was introduced
into the DB browser and Terms Dictionary Browser modules. </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">To make it easy to use the Paging feature, a page navigation toolbar
provides the interface to do the navigation. </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">10 000 records are loaded per page and the user can scroll easily and
fast through the page records. For example, the VIAF database has near 32
million records (31 305 939 records exactly)</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif"> </span></p>
<p class="gmail-MsoListParagraph" style="margin:0in 0in 0.0001pt 0.75in;text-align:justify;line-height:normal"><b><span style="font-size:14pt;font-family:"Times New Roman",serif"><span>V.<span style="font:7pt "Times New Roman"">
</span></span></span></b><b><span style="font-size:14pt;font-family:"Times New Roman",serif"><span> </span>Export features
to select search results and using a hit file to drive output are now
implemented</span></b></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><b><span style="font-size:14pt;font-family:"Times New Roman",serif"> </span></b><span> </span>
</p><p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">You can now export records retrieved
from search as well as export records following the order defined by a hit file
produced by the PrintSort module</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif"> </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">Note: A hit file manager will be developed in the future to better manage search hit files and hit sort files</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif"> </span></p>
<p class="gmail-MsoListParagraph" style="margin:0in 0in 0.0001pt 0.75in;text-align:justify;line-height:normal"><b><span style="font-size:14pt;font-family:"Times New Roman",serif"><span>VI.<span style="font:7pt "Times New Roman"">
</span></span></span></b><b><span style="font-size:14pt;font-family:"Times New Roman",serif">The Number of Terms in the index is now stored in an
external file to avoid the time consuming task of counting them.</span></b><b><span style="font-size:14pt;font-family:"Times New Roman",serif"></span></b></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><b><span style="font-size:14pt;font-family:"Times New Roman",serif"> </span></b></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">The </span><b><span style="font-size:12pt;font-family:"Courier New";background:yellow none repeat scroll 0% 0%">/indexes</span></b><span style="font-size:12pt;font-family:"Times New Roman",serif"><span> </span>directory contains a subdirectory called
master that contains the main index files generated by <a href="http://lucene.apache.org/">Lucene<span> </span>open-source search software</a>. A new file named
“termscount.properties” is now generated by J-ISIS to keep the number of terms
in the index as well as a time stamp, and is stored in the /indexes/master
folder. The number of terms in the index is only computed when the index has
changed and replaced with the new time stamp in the external file.</span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><b><span style="font-size:12pt;font-family:"Times New Roman",serif"> </span></b></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span lang="FR"> </span></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify;line-height:normal"><span style="font-size:12pt;font-family:"Times New Roman",serif">For databases with more than 2
millions records, it reduces considerably the time spent to get the database
information.</span><b><span style="font-size:12pt;font-family:"Times New Roman",serif"></span></b></p>
<p class="MsoNormal"><span> </span><span> </span>
</p></div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div>Jean-Claude Dauphin<br><br><a href="mailto:jc.dauphin@gmail.com" target="_blank">jc.dauphin@gmail.com</a><br><br><a href="http://kenai.com/projects/j-isis/" target="_blank">https://github.com/J-ISIS</a><br><br><a href="http://www.unesco.org/isis/" target="_blank">http://www.unesco.org/isis/</a><br><a href="http://www.unesco.org/idams/" target="_blank">http://www.unesco.org/idams/</a><br><a href="http://www.greenstone.org" target="_blank">http://www.greenstone.org</a></div></div></div>
</div>