# Event Message event description table
###### tags: `ART`
## Change Log
***2022-05-23*** Events of Invalid Playlist, Schedule and Assets
## Events
| event number | event body | start condition | event handling |
| ------------ | ------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| EVENT01 | System interface module | Unable to connect to system | 1. Display the message " The device cannot be connected to the system" <br />2. Play the picture |
| EVENT02 | System interface module | Unable to start subsequent services with startup code | 1. Display the message "The device cannot Register to start" <br />2. Write system records |
| EVENT03 | System interface module | Unable to download digital artwork playback file | 1. Display the message "The device cannot download the digital painting playback file"<br />2. Write system records |
| EVENT04 | digital painting player | Exceeded the time that should be synchronized with the system | 1. Display the message "The device has exceeded the time it should be synchronized with the system"<br />2. Stop playing all paintings or videos<br />3. Play the picture<br />4. Write system log |
| EVENT05 | digital painting player | No paintings or videos to play, conditions include:<br />1. All the paintings or videos in the schedule have exceeded the authorized playback time<br />2. Unable to obtain the main body of the painting or video file"<br />3. Unable to get playback schedule settings | 1. Display message [There are no paintings or pictures that can be played on the device]<br />2. Play the picture<br />3. Write system log |
---
### New Add Event Message
>The following Error message will be displayed after 5 seconds and will not affect the current playback function.
| event number | event body | start condition | event handling |
| ------------ | ----------- | ------------------------------------------------------------ | --------------- |
| Import | | When deviceID in playlist.json does NOT match with deviceID in device.json file | Error! No matching playlist for the device to import. |
| | | When full memory | Error! Not enough memory available for import process. |
| | | Unplug USB during import | Error! External device is unplugged during import process. |
| | | Json file error | Error! The Json file is incorrect. |
| | | No json file |Error! No Json file is found. |
| | | No data file (only have json file, no image files, no video files) | Error! No assets for the playlist are found. |
| Playback | | When no playlist | Error! No playlist is found. |
| | | When content error | Error! The asset can't be played. |
| | | When no content file (define A.mp4 in json file but A.mp4 does NOT exist) | Error! No asset file is found. |
| Update app | | Unplug USB during update | Error! External device is unplugged during Apps update. |
| | | Memory full | Error! Not enough memory available for Apps update. |
### Evnets of Invalid Playlist, Schedule and Assets
<table border="0" cellpadding="0" cellspacing="0" width="971" style="width: 729pt;"><colgroup><col width="131" style="mso-width-source:userset;mso-width-alt:4561;width:98pt"> <col width="130" style="mso-width-source:userset;mso-width-alt:4538;width:98pt"> <col width="150" style="mso-width-source:userset;mso-width-alt:5236;width:113pt"> <col width="225" style="mso-width-source:userset;mso-width-alt:7866;width:169pt"> <col width="335" style="mso-width-source:userset;mso-width-alt:11682;width:251pt"></colgroup>
<tbody>
<tr height="24" style="height:18.0pt">
<td height="24" class="xl69" width="131" style="height:18.0pt;width:98pt">Event No.</td>
<td class="xl69" width="130" style="border-left:none;width:98pt">Event Type</td>
<td class="xl69" width="150" style="border-left:none;width:113pt">Conditions</td>
<td class="xl70" width="225" style="border-left:none;width:169pt">Description</td>
<td class="xl70" width="335" style="border-left:none;width:251pt">Exception Handling</td>
</tr>
<tr height="144" style="height:108.0pt">
<td height="144" class="xl67" style="height:108.0pt;border-top:none">eventIC01</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Playlist</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: playlist
Property: status
value: disabled</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The playlist is disabled to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Do NOT show the disabled playlist on the playlist menu of toolbar
<br/>2. If current active playlist is disabled, the player plays the default playlist.
(The default playlist means the value of "source" property is "factory")</td>
</tr>
<tr height="216" style="height:162.0pt">
<td height="216" class="xl67" style="height:162.0pt;border-top:none">eventIC02</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Schedule</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: schedule
Property: startDate
value: > today</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The schedule is not reaching the date to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Pass the schedule and check the others to play.
<br/>2. Log the event.
<br/>3. If there's no other schedules valid to play in current playlist under this condition, the player passes the playlist.
<br/>4. Show the playlist on the playlist menu of toolbar, and make it un-selected with darker background.</td>
</tr>
<tr height="192" style="height:144.0pt">
<td height="192" class="xl67" style="height:144.0pt;border-top:none">eventIC03</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Schedule</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: schedule
Property: endDate
value: < today</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The schedule is out of date to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Pass the schedule and check the others to play.
<br/>2. Log the event.
<br/>3. If there's no other schedules valid to play in current playlist under this condition, the player passes the playlist.
<br/>4. Hide the playlist from the playlist menu of toolbar</td>
</tr>
<tr height="120" style="height:90.0pt">
<td height="120" class="xl67" style="height:90.0pt;border-top:none">eventIC04</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Schedule</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: schedule
Property: status
value: disable</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The schedule is disabled to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Pass the schedule and check the others to play.
<br/>2. Log the event.
<br/>3. If there's no schedules valid to play in current playlist, the player passes the playlist.</td>
</tr>
<tr height="120" style="height:90.0pt">
<td height="120" class="xl67" style="height:90.0pt;border-top:none">eventIC05</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Assets</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: assets
Property: startDate
value: > today</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The asset is not reaching the date to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Pass the asset and check others to play
<br/>2. Log the event.
<br/>3. If there's no other assets valid to play in current schedule, the player passes the schedule.</td>
</tr>
<tr height="144" style="height:108.0pt">
<td height="144" class="xl67" style="height:108.0pt;border-top:none">eventIC06</td>
<td class="xl67" style="border-top:none;border-left:none">Invalid Assets</td>
<td class="xl68" width="150" style="border-top:none;border-left:none;width:113pt">Node: assets
Property: endDate
value: < today</td>
<td class="xl68" width="225" style="border-top:none;border-left:none;width:169pt">The asset is out of date to play.</td>
<td class="xl68" width="335" style="border-top:none;border-left:none;width:251pt">1. Pass the asset and check the others to play.
<br/>2. Log the event.
<br/>3. If there's no other assets valid to play in current schedule, the player passes the schedule.</td>
</tr>
</tbody>
</table>