Commit 2018ca53 authored by Roque's avatar Roque

(WIP) erp5_drone_simulator: documentation page

parent ac909326
<!doctype html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="../css/documentation.css">
<script src="gadget_erp5_page_rescue_swarm_documentation.js"></script>
<title>Drone A Aile Fixe API Documentation</title>
</head>
<body>
<div class="documentation">
<h1>Drone a Aile Fixe API</h1>
<h3>API functions</h3>
<!-- Start -->
<h4 class="item-name" id="start"><span>onStart</span><span>: void</span></h4>
<p class="item-descr">Function called one time on drone start.</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">me.onStart = function() {<br>
&nbsp;&nbsp;//one time execution code<br>
}
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- Update -->
<h4 class="item-name" id="update"><span>onUpdate</span><span>: void</span></h4>
<p class="item-descr">Function called on game update, 60 times / second. <br></p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">timestamp: Integer</p>
<p class="item-param-2">timestamp in milliseconds from UNIX epoch</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">me.onUpdate = function(timestamp) {<br>
&nbsp;&nbsp;//code executed 60 times per second<br>
}
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- GetMsg -->
<h4 class="item-name" id="getMsg"><span>onGetMsg</span><span>: void</span></h4>
<p class="item-descr">Function called when drone receives a message.</p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">msg: String</p>
<p class="item-param-2">Content of the message</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">me.onGetMsg = function (msg) {<br>
&nbsp;&nbsp; //process msg
<br> }
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- sendMsg -->
<h4 class="item-name" id="sendMsg"><span>sendMsg</span><span>: void</span></h4>
<p class="item-descr">Send a message to another drone (or to all team drones).<br></p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">msg: String</p>
<p class="item-param-2">The message to send.</p>
</div>
<div>
<p class="item-param-1">id ?: Integer</p>
<p class="item-param-2">ID of the recipient. Leave empty to send to all team drones.</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
me.sendMsg("My broadcast message");<br>
me.sendMsg("To my friend 0", 0);
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- getCurrentPosition -->
<h4 class="item-name" id="getCurrentPosition"><span>getCurrentPosition</span><span>: dictionary</span></h4>
<p class="item-descr">
Get drone current position geo-coordinates.<br>
{<br>
&nbsp;&nbsp;x: number, //latitude<br>
&nbsp;&nbsp;y: number, //longitude<br>
&nbsp;&nbsp;z: number&nbsp;&nbsp;//meters<br>
}<br>
</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
var current_position = me.getCurrentPosition();<br>
console.log(current_position);<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- setTargetCoordinates -->
<h4 class="item-name" id="setTargetCoordinates"><span>setTargetCoordinates</span><span>: dictionary</span></h4>
<p class="item-descr">
Set a target point expressed in geo coordinates. The drone will move straight to this point.
</p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">X: Integer</p>
<p class="item-param-2">X value - latitude.</p>
</div>
<div>
<p class="item-param-1">Y: Integer</p>
<p class="item-param-2">Y value - longitude.</p>
</div>
<div>
<p class="item-param-1">Z: Integer</p>
<p class="item-param-2">Z value - altitude in meters.</p>
</div>
<div>
<p class="item-param-1">loiter_ratio ?: Integer</p>
<p class="item-param-2">Loiter ratio in meters. If less than 30, loiter is skipped</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
me.setTargetCoordinates(lat, lon, altitude);<br>
me.setTargetCoordinates(lat, lon, altitude, 100);<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- setAltitude -->
<h4 class="item-name" id="setAltitude"><span>setAltitude</span><span>: void</span></h4>
<p class="item-descr">Set the drone altitude in meters. The drone will move to reach the given value.</p>
<p class="item-descr">(WIP) Drone movement will be straight or loiter depending on skip_loiter parameter.</p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">altitude: Integer</p>
<p class="item-param-2">Altitude value</p>
</div>
<div>
<p class="item-param-1">(WIP) skip_loiter ?: Boolean</p>
<p class="item-param-2">By default the drone will loiter while changing the altitude. If this parameter is true, it will move straight to the given altitude.</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">me.setAltitude(me.start_altitude, false) //or<br>
me.setAltitude(100)<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- loiter -->
<h4 class="item-name" id="loiter"><span>loiter</span><span>: void</span></h4>
<p class="item-descr">
Set the drone to loiter mode, it will loiter around last target coordinates set, if the set loiter_ratio is greater than 30.
</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
me.loiter();
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- doParachute -->
<h4 class="item-name" id="doParachute"><span>doParachute</span><span>: void</span><b>- TODO!</b></h4>
<p class="item-descr">
Indicates the drone to delploy the parachute to finish the landing.
</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
me.doParachute()<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- landed -->
<h4 class="item-name" id="landed"><span>landed</span><span>: Boolean</span><b>- TODO!</b></h4>
<p class="item-descr">
Indicates if the drone has landed (reached the floor altitude).
</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
if (me.landed()) {<br>
&nbsp;&nbsp;//do something<br>
}<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- exit -->
<h4 class="item-name" id="exit"><span>exit</span><span>: Boolean</span><b>- TODO!</b></h4>
<p class="item-descr">
Finishes the drone flight.
</p>
<div>
<h5 class="item-param-1">Parameter</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div>
<p class="item-param-1">exit_code: Integer</p>
<p class="item-param-2">Code to indicate exit status.</p>
</div>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
me.exit(0)<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<!-- drone_dict property -->
<h4 class="item-name" id="drone_dict"><span>drone_dict</span><span>: dictionary</span><b>- TODO!</b> </h4>
<p class="item-descr">
Access drones information dictionary. It contains one entry per drone:<br>
key-id: value-drone_dict<br>
{<br>
&nbsp;&nbsp;latitude: number, //latitude<br>
&nbsp;&nbsp;longitude: number, //longitude<br>
&nbsp;&nbsp;altitudeAbs: number&nbsp;&nbsp;//altitude in meters<br>
}<br>
</p>
<h5 class="item-param-1">Example</h5>
<p class="item-example">
var leader = me.drone_dict[LEADER_ID];<br>
console.log("leader latitude:", leader.latitude);<br>
console.log("leader longitude:", leader.longitude);<br>
console.log("leader absolute altitude:", leader.altitudeAbs);<br>
</p>
<div class="line"></div> <!-- ----------------------------------------------------------- -->
<p class="item-example">
* Leo Paul and you must have a beautiful web page on Nexedi ERP5 explaining the "drone a aile fixe" API
this document must list the functions, explain why they are needed
this document must list the parameters type and return type. And explain why such type has been decided
for now, we mostly followed the work previsouly done by Leo Paul I suppose
but before working with us, he was discussing a lot with Thomas and JP to decide what should be the API, type of coordinate, etc
so, I would like first to have a first version of this document explaining the current status, so that we could add Thomas in the loop after to decide what should be changed
maybe Leo Paul already has something like this, no idea
so, better wait for him to know where to start
</p>
</div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Page" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_erp5_page_rescue_swarm_ailefixedoc.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_erp5_page_rescue_swarm_ailefixedoc_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>text_content_substitution_mapping_method_id</string> </key>
<value> <string>setAltitude</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Drone A Aile Fixe Documentation Page</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1661781763.91</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1002.49611.17524.61696</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1662386620.86</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1661781542.21</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
/*global window, rJS*/
/*jslint indent:2, maxlen: 80, nomen: true */
(function (window, rJS) {
"use strict";
rJS(window)
.declareAcquiredMethod('updateHeader', 'updateHeader')
.declareAcquiredMethod('getUrlFor', 'getUrlFor')
.declareMethod('render', function () {
var gadget = this;
return gadget.getUrlFor({'command': 'history_previous'})
.push(function (url) {
return gadget.updateHeader({
page_title: "Rescue Swarm Documentation",
selection_url: url
});
});
});
}(window, rJS));
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Script" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_erp5_page_rescue_swarm_documentation.js</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>gadget_rescue_swarm_documentation_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Script</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Rescue Swarm Documentation Page JS</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1630607813.04</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>995.36671.42039.36505</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1634603509.54</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>empty</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1630607776.36</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!DOCTYPE html>
<html>
<!--
data-i18n=Others
-->
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Test drone simulator gadget</title>
<link rel="http://www.renderjs.org/rel/interface" href="interface_page.html">
<!-- renderjs -->
<script src="rsvp.js" type="text/javascript"></script>
<script src="renderjs.js" type="text/javascript"></script>
<!-- custom script -->
<script src="jiodev.js" type="text/javascript"></script>
<script src="gadget_global.js" type="text/javascript"></script>
<script src="domsugar.js" type="text/javascript"></script>
<script type="text/javascript" src="./js/libraries/seedrandom.min.js"></script>
<script src="gadget_erp5_page_rescue_swarm_test_drone_simulator.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="gadget_erp5_page_rescue_swarm_play.css">
<link rel="stylesheet" type="text/css" href="gadget_html_viewer.css">
</head>
<body>
<div id="fragment"></div>
<div data-gadget-url="gadget_html_viewer.html" data-gadget-scope="html_viewer"></div>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Web Page" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Access_contents_information_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Add_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Change_local_roles_Permission</string> </key>
<value>
<tuple>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_Modify_portal_content_Permission</string> </key>
<value>
<tuple>
<string>Assignee</string>
<string>Assignor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>_View_Permission</string> </key>
<value>
<tuple>
<string>Anonymous</string>
<string>Assignee</string>
<string>Assignor</string>
<string>Associate</string>
<string>Auditor</string>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>content_md5</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>default_reference</string> </key>
<value> <string>gadget_erp5_page_rescue_swarm_test_drone_simulator.html</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test_drone_simulator_gadget_html</string> </value>
</item>
<item>
<key> <string>language</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Web Page</string> </value>
</item>
<item>
<key> <string>short_title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Test Drone Simulator Gadget</string> </value>
</item>
<item>
<key> <string>version</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>workflow_history</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="PersistentMapping" module="Persistence.mapping"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>data</string> </key>
<value>
<dictionary>
<item>
<key> <string>document_publication_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>edit_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>processing_status_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>publish_alive</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1656004869.59</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
<item>
<key> <string>validation_state</string> </key>
<value> <string>published_alive</string> </value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>edit</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1001.7345.58011.46540</string> </value>
</item>
<item>
<key> <string>state</string> </key>
<value> <string>current</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1661792181.5</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="5" aka="AAAAAAAAAAU=">
<pickle>
<global name="WorkflowHistoryList" module="Products.ERP5Type.Workflow"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_log</string> </key>
<value>
<list>
<dictionary>
<item>
<key> <string>action</string> </key>
<value> <string>detect_converted_file</string> </value>
</item>
<item>
<key> <string>actor</string> </key>
<value> <string>zope</string> </value>
</item>
<item>
<key> <string>comment</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>error_message</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_processing_state</string> </key>
<value> <string>converted</string> </value>
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>0.0.0.0</string> </value>
</item>
<item>
<key> <string>time</string> </key>
<value>
<object>
<klass>
<global name="DateTime" module="DateTime.DateTime"/>
</klass>
<tuple>
<none/>
</tuple>
<state>
<tuple>
<float>1656004816.95</float>
<string>UTC</string>
</tuple>
</state>
</object>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -85,7 +85,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test_drone_simulator_gadget</string> </value>
<value> <string>test_drone_simulator_gadget_js</string> </value>
</item>
<item>
<key> <string>language</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1661445994.59</float>
<float>1661792178.61</float>
<string>UTC</string>
</tuple>
</state>
......
/* DOCUMENTATION */
.documentation p {
margin: 10px 0;
font-family: monospace;
color: #263238;
line-height: 18px;
}
.documentation pre {
line-height: 18px;
font-family: monospace;
}
.documentation h1 {
margin: 0 0 30px 0;
font-size: 2.3em;
}
.documentation h3 {
margin: 0 0 15px 0;
font-size: 1.6em;
}
.documentation h4 {
margin-top: 20px;
}
.documentation h5 {
font-weight: bold;
}
.documentation h4,
.documentation h5 {
margin: 0;
}
.documentation .line {
width: 100%;
height: 1px;
background-color: lightgrey;
margin: 30px 0;
}
.documentation .item-param-1,
.documentation .item-param-2 {
width: 25%;
display: inline-block;
}
.item-name {
background-color: #F8F8F8;
padding: 8px;
margin: 8px 0;
font-size: 1.2em; }
.item-name span:first-of-type {
font-weight: bold; }
.item-name span:last-of-type {
font-style: italic; }
.line {
width: 100%;
height: 1px;
background-color: lightgrey;
margin: 30px 0; }
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="File" module="OFS.Image"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_Cacheable__manager_id</string> </key>
<value> <string>must_revalidate_http_cache</string> </value>
</item>
<item>
<key> <string>__name__</string> </key>
<value> <string>documentation.css</string> </value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/css</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -3,4 +3,7 @@ rescue_swarm_script_module/emulate_bounce
rescue_swarm_script_module/emulate_loiter
rescue_swarm_script_module/log_bounce
rescue_swarm_script_module/log_loiter
web_page_module/test_drone_simulator_gadget
\ No newline at end of file
web_page_module/test_drone_simulator_gadget_html
web_page_module/test_drone_simulator_gadget_js
web_page_module/gadget_erp5_page_rescue_swarm_ailefixedoc_html
web_page_module/gadget_rescue_swarm_documentation_js
\ No newline at end of file
......@@ -3,4 +3,7 @@ rescue_swarm_script_module/emulate_bounce
rescue_swarm_script_module/emulate_loiter
rescue_swarm_script_module/log_bounce
rescue_swarm_script_module/log_loiter
web_page_module/test_drone_simulator_gadget
\ No newline at end of file
web_page_module/test_drone_simulator_gadget_html
web_page_module/test_drone_simulator_gadget_js
web_page_module/gadget_erp5_page_rescue_swarm_ailefixedoc_html
web_page_module/gadget_rescue_swarm_documentation_js
\ No newline at end of file
......@@ -3,4 +3,7 @@ rescue_swarm_script_module/emulate_bounce
rescue_swarm_script_module/emulate_loiter
rescue_swarm_script_module/log_bounce
rescue_swarm_script_module/log_loiter
web_page_module/test_drone_simulator_gadget
\ No newline at end of file
web_page_module/test_drone_simulator_gadget_html
web_page_module/test_drone_simulator_gadget_js
web_page_module/gadget_erp5_page_rescue_swarm_ailefixedoc_html
web_page_module/gadget_rescue_swarm_documentation_js
\ No newline at end of file
......@@ -3,4 +3,7 @@ rescue_swarm_script_module/emulate_bounce
rescue_swarm_script_module/emulate_loiter
rescue_swarm_script_module/log_bounce
rescue_swarm_script_module/log_loiter
web_page_module/test_drone_simulator_gadget
\ No newline at end of file
web_page_module/gadget_erp5_page_rescue_swarm_ailefixedoc_html
web_page_module/gadget_rescue_swarm_documentation_js
web_page_module/test_drone_simulator_gadget_html
web_page_module/test_drone_simulator_gadget_js
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment