<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Fri Feb 09 00:14:51 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[SIP2-9] SIP2: FOLIO Status - Startup  and shutdown of SC</title>
                <link>https://folio-org.atlassian.net/browse/SIP2-9</link>
                <project id="10177" key="SIP2">sip2</project>
                    <description>&lt;p&gt;FOLIO must send this message in response to a SC Status message.&lt;br/&gt;
Do health check of the Folio modules that will be used.&lt;br/&gt;
For this user story we assume that most the values are hardcoded.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Senario 1&lt;/b&gt;&lt;br/&gt;
1. Library staff starts up self-checkout system&lt;br/&gt;
2. Self-checkout system sends SC Status (99) message&lt;br/&gt;
3. FOLIO sends Status (98) message&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Senario 2&lt;/b&gt;&lt;br/&gt;
1. Library staff shuts down self-checkout system&lt;br/&gt;
2. Self-checkout system sends SC Status (99) message&lt;br/&gt;
3. FOLIO sends Status (98) message&lt;/p&gt;</description>
                <environment></environment>
        <key id="72560">SIP2-9</key>
            <summary>SIP2: FOLIO Status - Startup  and shutdown of SC</summary>
                <type id="10005" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium">Story</type>
                            <parent id="10624">UXPROD-1001</parent>
                                    <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="557058:b45447b0-4142-447e-9ac7-b2b97eeb90bc">Martin Tran</assignee>
                                                                <reporter accountid="5af5ecdb772036612ff61cf1">Hkaplanian</reporter>
                                    <labels>
                            <label>q1-2019-spillover</label>
                    </labels>
                <created>Mon, 19 Nov 2018 16:43:18 +0000</created>
                <updated>Tue, 25 Jun 2019 14:15:16 +0000</updated>
                            <resolved>Tue, 9 Apr 2019 15:18:59 +0000</resolved>
                                                    <fixVersion>1.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                <comments>
                                                            <comment id="175046" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Mon, 18 Mar 2019 16:48:26 +0000"  >&lt;p&gt;The self checkout station will send status message to FOLIO:&lt;br/&gt;
&lt;b&gt;99&amp;lt;status code&amp;gt;&amp;lt;max print width&amp;gt;&amp;lt;protocol version&amp;gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;status code:&lt;/b&gt;   It is a status of the self checkout unit. 1-char, fixed-length, required field.  Allowed values: 0 (OK) or 1 (out of paper) or 2 (about to shut down)  &lt;br/&gt;
&lt;b&gt;max print width:&lt;/b&gt;    This is the maximum number of characters that the unit can print.  3-char, fixed-length required field &lt;br/&gt;
&lt;b&gt;protocol version:&lt;/b&gt;    4-char, fixed-length required field:  x.xx&lt;/p&gt;

&lt;p&gt;In the response FOLIO will return following message:&lt;br/&gt;
&lt;b&gt;98&amp;lt;on-line status&amp;gt;&amp;lt;checkin ok&amp;gt;&amp;lt;checkout ok&amp;gt;&amp;lt;ACS renewal policy&amp;gt;&amp;lt;status update ok&amp;gt;&amp;lt;off-line ok&amp;gt;&amp;lt;timeout period&amp;gt;&amp;lt;retries allowed&amp;gt;&amp;lt;date / time sync&amp;gt;&amp;lt;protocol version&amp;gt;&amp;lt;institution id&amp;gt;&amp;lt;library name&amp;gt;&amp;lt;supported messages &amp;gt;&amp;lt;terminal location&amp;gt;&amp;lt;screen message&amp;gt;&amp;lt;print line&amp;gt;&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;on-line status:&lt;/b&gt;      1-char, fixed-length required field:  Y or N.&lt;br/&gt;
&lt;b&gt;checkin ok:&lt;/b&gt;        1-char, fixed-length required field:  Y or N.  A Y indicates that the SC is allowed to check in items&lt;br/&gt;
&lt;b&gt;checkout ok:&lt;/b&gt;    1-char, fixed-length required field:  Y or N. A Y indicates that the SC is allowed to check out items&lt;br/&gt;
&lt;b&gt;ACS renewal policy:&lt;/b&gt;    This is FOLIO renewal policy 1-char, fixed-length required field:  Y or N. A Y indicates that the SC is allowed by FOLIO to process patron renewal requests as a policy&lt;br/&gt;
&lt;b&gt;status update ok:&lt;/b&gt;     1-char, fixed-length required field:  Y or N. FOLIO policy for the SC.  A Y indicates that patron status updating by the SC is allowed, e.g., a patron&#8217;s card status can be changed to blocked&lt;br/&gt;
&lt;b&gt;off-line ok:&lt;/b&gt;     1-char, fixed-length required field:  Y or N. This field should be Y if the ACS supports the off-line operation feature of the SC. The  ACS must also support no block charge requests from the SC when it comes back on-line.&lt;br/&gt;
&lt;b&gt;timeout period:&lt;/b&gt;     3-char, fixed-length required field. This timeout period until a transaction is aborted should be a number expressed in tenths of a second. 000 indicates that the ACS is not on-line.  999 indicates that the time-out is unknown &lt;br/&gt;
&lt;b&gt;retries allowed:&lt;/b&gt;     3-char, fixed-length required field. Indicates the number of retries that are allowed for a specific transaction.  999 indicates that the retry number is unknown &lt;br/&gt;
&lt;b&gt;date / time sync:&lt;/b&gt;     18-char, fixed-length required field:  YYYYMMDDZZZZHHMMSS  May be used to synchronize clocks. The date and time should be expressed according to the ANSI standard X3.30 for date and X3.43 for time. 000000000000000000 indicates a unsupported function. When possible local time is the preferred format.&lt;br/&gt;
&lt;b&gt;protocol version:&lt;/b&gt;    4-char, fixed-length required field:  x.xx &lt;br/&gt;
&lt;b&gt;institution id:&lt;/b&gt;     variable-length required field, the library&apos;s institution Id.  Field Code:  AO &lt;br/&gt;
&lt;b&gt;library name:&lt;/b&gt;    variable-length optional field, library&apos;s name.  Filed Code: AM&lt;br/&gt;
&lt;b&gt;supported messages:&lt;/b&gt;  variable-length required field. This field is used to notify the SC about which messages FOLIO supports. Field Code: BX &lt;/p&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;Position&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;Message&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; 0&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Patron Status Request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;1&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Checkout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;2&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Checkin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;3&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Block Patron&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;4&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;SC/ACS Status&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;5&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Request SC/ACS Resend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;6&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Login&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;7&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Patron Information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;8&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;End Patron Session&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;9&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Fee Paid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;10&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Item Information&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;11&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Item Status Update&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;12&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Patron Enable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;13&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Hold&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;14&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Renew&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;15&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Renew All&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;&lt;b&gt;terminal location:&lt;/b&gt;   variable-length optional field. FOLIO could put the SC&#8217;s location in this field. Field Code: AN&lt;br/&gt;
&lt;b&gt;screen message:&lt;/b&gt; variable-length optional field. Provided a way for the ACS to display messages on the SC screen.  They are never required.  When used, there can be one or more of these fields, which are then displayed on consecutive lines of the screen.  If they are too long, then the trailing portion of the field will be left out.  The message can contain holds, fines, disabled card, library branch. Field Code: AF&lt;br/&gt;
&lt;b&gt;print line:&lt;/b&gt;  variable-length optional field. Provides a way for the ACS to print messages on the SC printer.  They are never required.  When used, there can be one or more of these fields, which are then printed on consecutive lines of the printer. Field Code: AG&lt;/p&gt;</comment>
                                                            <comment id="175047" author="70121:e70f578f-dc5a-4a30-8836-fc2418025d21" created="Wed, 3 Apr 2019 20:59:46 +0000"  >&lt;p&gt;Just a note here, we can&apos;t respond to SC status until a login message is placed. Scenario 1 and 2 should probably be updated to include &quot;1a. SC sends a login message.&quot; For scenario 2, it is possible that the SC is currently logged in when the shutdown is initiated, but login is still a prerequisite for SC status to be accepted.&lt;/p&gt;</comment>
                                                            <comment id="175048" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Wed, 3 Apr 2019 22:26:39 +0000"  >&lt;p&gt;I think what you describe is covered by 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;SIP2-11&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/SIP2-11&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;SIP2: Login  - startup of SC with Sockets connection&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10309?size=medium&quot; /&gt;
            SIP2-11
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
 user story.  This user story assumes that login message is not required. We&apos;re still awaiting the response from Chalmers if their SC are configured to use Login message.  &lt;/p&gt;

&lt;p&gt;According to the 3M Developer Manual (attaching to this user story) the login message is not required.  SC might be configured  to send certain character strings and wait for a certain character strings from ACS.    At least this is how I understand the communication between SC and ASC&lt;/p&gt;</comment>
                                                            <comment id="175049" author="70121:e70f578f-dc5a-4a30-8836-fc2418025d21" created="Thu, 4 Apr 2019 12:13:37 +0000"  >&lt;p&gt;From a protocol perspective, that is true. But from a practical standpoint we cannot accept SC status without a login first in a multi-tenant setup. With Chalmers, sure they are the only one, but this wouldn&apos;t work when another tenant is on the system. Though, I think there are bigger issues here with respect to multi-tenant support.&lt;/p&gt;</comment>
                                                            <comment id="175050" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Thu, 4 Apr 2019 13:27:39 +0000"  >&lt;p&gt;Let&apos;s discuss the best approach and prioritize the work.&lt;/p&gt;</comment>
                                                            <comment id="175051" author="5f5241b9fcaf93003b5bee25" created="Thu, 4 Apr 2019 19:36:23 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3A8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; class=&quot;user-hover&quot; rel=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; data-account-id=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; accountid=&quot;557058:8629b273-56f1-466d-b7c7-5cbac0c3379b&quot; rel=&quot;noreferrer&quot;&gt;Magda Zacharska&lt;/a&gt;, this ticket is marked &quot;In-reveiw,&quot; but we (the manual testing team) have no way to test it. Can you assign yourself as tester?&lt;/p&gt;</comment>
                                                            <comment id="175052" author="557058:b45447b0-4142-447e-9ac7-b2b97eeb90bc" created="Mon, 8 Apr 2019 18:24:43 +0000"  >&lt;p&gt;4/8 - Developer&apos;s notes: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Laid out basic request handling structures&lt;/li&gt;
	&lt;li&gt;Provided a temporary hard-coded configuration for ACS status. Values will need to be finalized&lt;/li&gt;
	&lt;li&gt;Used Freemarker template to generate SIP responses&lt;/li&gt;
	&lt;li&gt;At this moment doesn&apos;t do anything with the request.  Maybe in the future we could save the SCStatus request&apos;s pertinent information, such as &lt;b&gt;max print width&lt;/b&gt; to properly trim/format the messages, and respond dynamically to &lt;b&gt;protocol version&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                                                            <comment id="175053" author="557058:b45447b0-4142-447e-9ac7-b2b97eeb90bc" created="Tue, 9 Apr 2019 15:18:59 +0000"  >&lt;ul&gt;
	&lt;li&gt;Laid out basic request handling structures&lt;/li&gt;
	&lt;li&gt;Provided a temporary hard-coded configuration for ACS status. Values will need to be finalized&lt;/li&gt;
	&lt;li&gt;Used Freemarker template to generate SIP responses&lt;/li&gt;
	&lt;li&gt;At this moment doesn&apos;t do anything with the request. Maybe in the future we could save the SCStatus request&apos;s pertinent information, such as max print width to properly trim/format the messages, and respond dynamically to protocol version.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10008">
                    <name>Defines</name>
                                            <outwardlinks description="defines">
                                        <issuelink>
            <issuekey id="10628">UXPROD-1002</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10006">
                    <name>Gantt End to Start</name>
                                            <outwardlinks description="has to be done before">
                                        <issuelink>
            <issuekey id="72614">SIP2-44</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="59425" name="sip2_developers_guide.pdf" size="116138" author="557058:8629b273-56f1-466d-b7c7-5cbac0c3379b" created="Wed, 3 Apr 2019 22:29:06 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10014" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue key="$xmlutils.escape($text)">SIP2: Protocol for self-checkout</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzxc6v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1928">3Ms-SIP2-61</customfieldvalue>
    <customfieldvalue id="1929">3Ms-SIP2-60</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10108" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Tester Assignee</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>557058:8629b273-56f1-466d-b7c7-5cbac0c3379b</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 18 Mar 2019 16:48:26 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>