4Dgo Winter

Produkt

Produktname: 4D_Winter

Demozugang

Master

Verträge: 4D_Winter_Agilogik_Demo_Contract, 4D_Winter_Demo_Contract

Eigentümer: agilogik.demo

Passwort: secret

Rolle: 4D_winter_support

Agilogik Demovertrag

Demovertrag: 4D_Winter_Agilogik_Demo_Contract

User: agilogik.winter.office Passwort: secret Rolle: 4D_winter_office

User: agilogik.winter Passwort: secret Rolle: 4D_winter_worker

Kunden Demovertrag

Vertrag: 4D_Winter_Demo_Contract

User: winter.office Passwort: geheim Rolle: 4D_winter_office_demo

User: winter.worker Passwort: geheim Rolle: 4D_winter_worker_demo

Supportzugang

Nutzername: agilogik.support

Passwort: cds……65

Rollen

Supporter

Agilogik Support: 4D_winter_support

Office

Manage User: 4D_winter_office

Manage User: 4D_winter_office_demo Achtung diese Rolle erlaubt Multilogin!

Worker

Mobile User: 4D_winter_worker

Mobile User: 4D_winter_worker_demo Achtung diese Rolle erlaubt Multilogin!

Zonen

Standardzone

{'version':1,
'options':{
'access_contract_data':{'create':{'user':{'post':'key'},'zone':{'post':'wi'},'contract':{'post':'key'},'product':{'post':'key'}},
'read':{'user':{'pre':'none'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}},
'update':{'user':{'pre':'none','post':'key'},'zone':{'pre':'wi','post':'wi'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'}},
'delete':{'user':{'pre':'none'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}}
},
'read_cfg':{'read':{'user':{'pre':'none'},'contract':{'pre':'none'},'product':{'pre':'key'},'zone':{'pre':'cfg'}},
'update':{'user':{'pre':'none','post':'key'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'},'zone':{'pre':'cfg','post':'cfg'}}
}
},
'zones':{'cfg':'4Dwi_cfg','wi':'4Dwi'
},
'standard':{'create':{'user':{'post':'key'},'zone':{'post':'wi'},'contract':{'post':'key'},'product':{'post':'key'}},
'read':{'user':{'pre':'key'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}},
'update':{'user':{'pre':'key','post':'key'},'zone':{'pre':'wi','post':'wi'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'}},
'delete':{'user':{'pre':'key'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}}}
}

Masterzone

{'version':1,
'options':{
'access_contract_data':{'create':{'user':{'post':'key'},'zone':{'post':'wi'},'contract':{'post':'key'},'product':{'post':'key'}},
'read':{'user':{'pre':'none'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}},
'update':{'user':{'pre':'none','post':'key'},'zone':{'pre':'wi','post':'wi'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'}},
'delete':{'user':{'pre':'none'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}}
},
'read_cfg':{'read':{'user':{'pre':'none'},'contract':{'pre':'none'},'product':{'pre':'key'},'zone':{'pre':'cfg'}},
'update':{'user':{'pre':'none','post':'key'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'},'zone':{'pre':'cfg','post':'cfg'}}
},
'write_cfg':{'create':{'user':{'post':'key'},'contract':{'post':'key'},'product':{'post':'key'},'zone':{'post':'cfg'}},
'read':{'user':{'pre':'none'},'contract':{'pre':'key'},'product':{'pre':'key'},'zone':{'pre':'cfg'}},
'update':{'user':{'pre':'none','post':'key'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'},'zone':{'pre':'cfg','post':'cfg'}},
'delete':{'user':{'pre':'none'},'contract':{'pre':'key'},'product':{'pre':'key'},'zone':{'pre':'cfg'}}
},
'write_contract':{'create':{'user':{'post':'key'},'contract':{'post':'external_contract_key'},'product':{'post':'key'},'zone':{'post':'wi'}},
'read':{'user':{'pre':'none'},'contract':{'pre':'none'},'product':{'pre':'key'},'zone':{'pre':'wi'}},
'update':{'user':{'pre':'none','post':'key'},'contract':{'pre':'none','post':'external_contract_key'},'product':{'pre':'key','post':'key'},'zone':{'pre':'cfg','post':'wi'}},
'delete':{'user':{'pre':'none'},'contract':{'pre':'none'},'product':{'pre':'key'},'zone':{'pre':'wi'}}
}},
'zones':{'cfg':'4Dwi_cfg','wi':'4Dwi'
},
'standard':{'create':{'user':{'post':'key'},'zone':{'post':'wi'},'contract':{'post':'key'},'product':{'post':'key'}},
'read':{'user':{'pre':'key'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}},
'update':{'user':{'pre':'key','post':'key'},'zone':{'pre':'wi','post':'wi'},'contract':{'pre':'key','post':'key'},'product':{'pre':'key','post':'key'}},
'delete':{'user':{'pre':'key'},'zone':{'pre':'wi'},'contract':{'pre':'key'},'product':{'pre':'key'}}}
}

Methoden

Base Accessor

BaseAccessor:aquireLock
BaseAccessor:releaseLock
RootAccessor:logout
RootAccessor:retrieveRemainingSessionTime
RootAccessor:retrieveSessionRole

Descript Accessor

Freigegebene Methoden:

DescriptAccess:updateDescriptValues
DescriptAccess:searchDescriptEntry
DescriptAccess:deleteDescriptEntry
DescriptAccess:putDescriptEntry
DescriptAccess:retrieveDescriptObjectContentAsJson
DescriptAccess:retrieveDescriptObjectContent
DescriptAccess:putDescriptObjectContentAsJson
DescriptAccess:updateDescriptObjectContentAsJson
DescriptAccess:retrieveFirstKeyOccurrenceByName
DescriptAccess:createDescriptObjectAsJson
DescriptAccess:deleteDescriptObjectEntryByName

Nur Supportrolle:

DescriptAccess:createDescriptEntry

GeoPosition Accessor

Freigegebene Methoden:

GeoPositionAccess:createTrack
GeoPositionAccess:appendTrackPoint
GeoPositionAccess:closeTrack
GeoPositionAccess:retrieveListTracks
GeoPositionAccess:deleteTrack (nicht für worker)
GeoPositionAccess:retrieveTrack
GeoPositionAccess:retrievePointsOfTrack
GeoPositionAccess:retrieveDataOfPoint
GeoPositionAccess:retrieveSizeOfTrack
GeoPositionAccess:retrieveCountTracks
GeoPositionAccess:appendBulkOfPoints
GeoPositionAccess:calculateTrackStatistics
GeoPositionAccess:retrieveLastPositionsOfOpenTracks

Datenstrukturen

Verwendet werden der Descript-Prozessor und der GeoPositionProcessor.

Rollen

Agilogik Support: 4D_winter_support

Manage User: 4D_winter_office, 4D_winter_office_demo (mit Multilogin)

Mobile User: 4D_winter_worker, 4D_winter_worker_demo (mit Multilogin)

Verwendung der GeoTracks

Live Recorded Tracks

type : 4D_winter_track

name : <jjjj.mm.dd> - <tour_name> (<login>)

description : JSON encoded data

{ "vehicle" : <String>,
   "salt" : <String>,
   "tour" : <String>,
   "login" : <String>,
   "start_ts" : <Long>,
   "start_lon" : <Double>,
   "start_lat" : <Double>,
   ["customer" : <String>](0..1)
   }

type : 4D_navigation_track

name : <tour_name>

description : JSON encoded data

{ "detail_description" : <text>,
   "start_lon" : <Double>,
   "start_lat" : <Double>
   ["customer" : <String>](0..1)
   }

Verwendung der GeoPoints

Live Recorded Tracks

GeoTrack.type : 4D_winter_track

Fall: Automatisch erzeugter anonymer Trackpunkt

type : null

name : null

state :

"-" := keine Streumittelgabe
"+" := Streumittelgabe eingeschalten
"o" := Räumschild angehoben
"u" := Räumschild abgesenkt

Beispiel: „-o“ Leerfahrt „+u“ Räumen und Streuen

Fall: Willentlich erzeugter Dokumentationspunkt (Hindernis)

type : „obstacle“

name : <String>

state : siehe anonymer Trackpunkt

trace_continued : …folgt

Dokumentation folgt...

Verwendung des DescriptProzessors

Basispfade:

4D_winter<contract_key><descript_type>

Touren
"tours" : {
    <tourname1> : { <tourName> : <string>,
            <tourDesc>: <string>,
            <tourStartLon>: <number>,
            <tourStartLat>: <number>,
            <tourCustomerInternName>:  <string>, (ab hier für App nicht relevant)
            <tourCustomerDesc>: : <string>
            },
    <tourname2> : {
             
            }
  ... }

null : Keine Angaben <geo_track_key> wurde gestrichen, da keine Verwendung mehr für „Lernmodus“ <geo_track_key> : Angaben siehe GeoTrack.description (JSON encoded)

Fahrer
"drivers" : {
<login> :  {
        "name" : <String>,
        ["contract" : <String>, ](0..1)
        ...
        }
...
}
Fahrzeuge
"vehicles" : {
      <vehicleName> : <String>,
      <vehicleID> : <String>, (ab hier nicht relevant für Smartphone App)
      <vehicleManufacturer> : <String>, 
...
}
Hindernisse
"obstacles" : {
      <obstacle_name> : <String>,
...
}
Verträge/Kunden

nicht relevant für App

"customers" : {
      <customer_name> : <String>,
      "detail_information" : <Text>
}