2023-12-04 Fred Gleason <fredg@paravelsystems.com>

* Added a 'Library Text Searches' appendix to the Operations Guide.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2023-12-04 16:54:55 -05:00
parent b1f495777c
commit 0a862c68b5
11 changed files with 162 additions and 2 deletions

View File

@@ -24511,3 +24511,5 @@
'INSTALL'. 'INSTALL'.
* Changed the distro name from 'Raspbian' to 'Raspberry Pi OS' in * Changed the distro name from 'Raspbian' to 'Raspberry Pi OS' in
'configure.ac'. 'configure.ac'.
2023-12-04 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Library Text Searches' appendix to the Operations Guide.

View File

@@ -148,7 +148,13 @@ OPSGUIDE_HTML = appendix.filepath_wildcards.html\
sect.wings_filter.usage.html\ sect.wings_filter.usage.html\
sect.voicetracking.using_the_voicetracker_dialog.html sect.voicetracking.using_the_voicetracker_dialog.html
OPSGUIDE_IMAGES = rdadmin.add_switcher_dialog.png\ OPSGUIDE_IMAGES = appendix.library_searches.full_list.png\
appendix.library_searches.searching_for_25.png\
appendix.library_searches.searching_for_25_with_quotes.png\
appendix.library_searches.searching_for_anita_baker.png\
appendix.library_searches.searching_for_anita_baker_with_quotes.png\
appendix.library_searches.searching_for_baker.png\
rdadmin.add_switcher_dialog.png\
rdadmin.audio_resource_information_dialog.png\ rdadmin.audio_resource_information_dialog.png\
rdadmin.autofill_carts_dialog.png\ rdadmin.autofill_carts_dialog.png\
rdadmin.configure_rdairplay_dialog.png\ rdadmin.configure_rdairplay_dialog.png\
@@ -328,6 +334,7 @@ OPSGUIDE_DEPS = $(OPSGUIDE_IMAGES) \
gpio_switcher_devices.xml\ gpio_switcher_devices.xml\
gfdl.xml\ gfdl.xml\
gplv2.xml\ gplv2.xml\
library_searches.xml\
opsguide.xml\ opsguide.xml\
overview.xml\ overview.xml\
metadata_wildcards.xml\ metadata_wildcards.xml\

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -0,0 +1,145 @@
<appendix xmlns="http://docbook.org/ns/docbook" xml:id="appendix.library_searches">
<title>Library Text Searches</title>
<para>
Except as noted below, text searches of the cart library are done by
looking for a match of the complete contents of the
<computeroutput>Filter</computeroutput> string with any of the following
metadata fields:
</para>
<simplelist>
<member><computeroutput>Artist</computeroutput></member>
<member><computeroutput>Agency</computeroutput></member>
<member><computeroutput>Album</computeroutput></member>
<member><computeroutput>Client</computeroutput></member>
<member><computeroutput>Composer</computeroutput></member>
<member><computeroutput>Conductor</computeroutput></member>
<member><computeroutput>Description</computeroutput></member>
<member><computeroutput>ISCI Code</computeroutput></member>
<member><computeroutput>ISRC (International Standard Recording Code)</computeroutput></member>
<member><computeroutput>Label</computeroutput></member>
<member><computeroutput>Outcue</computeroutput></member>
<member><computeroutput>Publisher</computeroutput></member>
<member><computeroutput>Song ID</computeroutput></member>
<member><computeroutput>Title</computeroutput></member>
<member><computeroutput>User Defined</computeroutput></member>
</simplelist>
<sect2 xml:id="appendix.library_searches.using_multiple_search_phrases">
<title>Using Multiple Search Phrases</title>
<para>
It's possible to change this behavior by enclosing portions of the
search string within double quotes. Rivendell will then treat each
quote-enclosed section as being its own search clause, with the results
of each clause logically OR'd together in the results.
A few examples will make this clear. Consider the following set of
carts, contained in a group called
<computeroutput>TEMP</computeroutput>.
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.full_list.png" width="154mm"/>
</imageobject>
<caption>
<para>The full set of example carts</para>
</caption>
</mediaobject>
</para>
<para>
We'd like to narrow the view down to show only carts where
'Baker' appears in the
<computeroutput>Artist</computeroutput> field. Entering 'baker'
into the <computeroutput>Filter</computeroutput> gets us:
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.searching_for_baker.png" width="154mm"/>
</imageobject>
<caption>
<para>Searching for 'baker'</para>
</caption>
</mediaobject>
</para>
<para>
This does show us cart number 10588 ('Sweet Love', by
'Anita Baker'), but also 10008 ('Baker Street',
by 'Gerry Rafferty'), because of the inadvertent match in
the <computeroutput>Title</computeroutput> field. We can eliminate this
by specifying the <computeroutput>Filter</computeroutput> more
precisely, changing 'baker' to 'anita baker'.
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.searching_for_anita_baker.png" width="154mm"/>
</imageobject>
<caption>
<para>Searching for 'anita baker'</para>
</caption>
</mediaobject>
</para>
<para>
Now let's try placing each search word in double-quotes:
&quot;anita&quot; &quot;baker&quot;. What will happen?
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.searching_for_anita_baker_with_quotes.png" width="154mm"/>
</imageobject>
<caption>
<para>Searching for '&quot;anita&quot; &quot;baker&quot;'</para>
</caption>
</mediaobject>
</para>
<para>
The 'Baker Street' cart (number 10008) has returned, because
we split the search phrase into two sub-phrases by use of the quotes.
It's as it we ran two searches; one with 'anita' and another with
'baker' and then OR'd the two together into one result set.
</para>
</sect2>
<sect2 xml:id="appendix.library_searches.cart_numbers">
<title>Cart Numbers</title>
<para>
If one or more integer numbers in the range <userinput>1</userinput>
through <userinput>999999</userinput> (inclusive) is included in a
search clause, instead of being search for the textual metadata fields,
it will be treated as a Rivendell cart number. To search
for a literal number in the Library textual metadata fields, enclose
the numeral in quotes --e.g. <userinput>&quot;123456&quot;</userinput>
rather than <userinput>123456</userinput>.
</para>
<para>
Returning to our examples, we simply enter '25' into the filter:
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.searching_for_25.png" width="154mm"/>
</imageobject>
<caption>
<para>Searching for '25'</para>
</caption>
</mediaobject>
</para>
<para>
We get cart 25 ('Siren Song'), even though there is no '25' in any of
the text metadata fields. Next we surround the '25' with double-quotes:
</para>
<para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="appendix.library_searches.searching_for_25_with_quotes.png" width="154mm"/>
</imageobject>
<caption>
<para>Searching for '&quot;25&quot;'</para>
</caption>
</mediaobject>
</para>
<para>
We see that the double-quotes overrides the special cart-number
detection.
</para>
</sect2>
</appendix>

View File

@@ -26,6 +26,7 @@
<!ENTITY rivendell_filter SYSTEM "rivendell_filter.xml"> <!ENTITY rivendell_filter SYSTEM "rivendell_filter.xml">
<!ENTITY wings_filter SYSTEM "wings_filter.xml"> <!ENTITY wings_filter SYSTEM "wings_filter.xml">
<!ENTITY ssh_keys SYSTEM "ssh_keys.xml"> <!ENTITY ssh_keys SYSTEM "ssh_keys.xml">
<!ENTITY library_searches SYSTEM "library_searches.xml">
]> ]>
<book xmlns="http://docbook.org/ns/docbook" version="5.0"> <book xmlns="http://docbook.org/ns/docbook" version="5.0">
@@ -61,6 +62,7 @@
&rivendell_filter; &rivendell_filter;
&wings_filter; &wings_filter;
&ssh_keys; &ssh_keys;
&library_searches;
</part> </part>
</book> </book>

View File

@@ -813,7 +813,7 @@
<sect2 xml:id="sect.rdlibrary.selecting_carts_by_the_filter_field"> <sect2 xml:id="sect.rdlibrary.selecting_carts_by_the_filter_field">
<title>Selecting Carts by the Filter Field</title> <title>Selecting Carts by the Filter Field</title>
<para> <para>
Very often, one will want to find a cart or set of carts whose Often, one will want to find a cart or set of carts whose
label(s) contains a particular word or phrase. It's possible to label(s) contains a particular word or phrase. It's possible to
narrow the list of displayed carts to this set by simply entering narrow the list of displayed carts to this set by simply entering
the desired word or phrase into the the desired word or phrase into the
@@ -822,6 +822,10 @@
the <computeroutput>Filter</computeroutput> field or by clicking the <computeroutput>Filter</computeroutput> field or by clicking
the Clear button. the Clear button.
</para> </para>
<note>
For a detailed description of search filter syntax, including
examples, see <xref linkend="appendix.library_searches" />.
</note>
</sect2> </sect2>
<sect2 xml:id="sect.rdlibrary.selecting_carts_by_group"> <sect2 xml:id="sect.rdlibrary.selecting_carts_by_group">
<title>Selecting Carts by Group</title> <title>Selecting Carts by Group</title>