Tuesday, October 25, 2016

the diary data structures

December 16, 2016, BERICHT changed to array and each element is a text and it can have an additional array of comments
The diary data structure is a JSON-structure or javascript-object and the datastructure that is stored into indexedDB and MongoDB.

the diary data structure
{
username - string
isoday - string - day as the user feels it locally (YYYY-MM-DD)
recid -  string - Satzart
DATUM - string - Timestamp, ISO format, zero hours of day, so timeoffset is compensated
LOCDATUM - string - external format timestamp
BERICHT - so far: string, will be changed to array
  [i] with structure {}

  status – string – active or inactive
  privacy - string - level private, friends, public
  text - string - normal text or html richtext
  locts - string - local timestamp (from username-client, here diary owner)
  location - string - information to location, where the diary entry has been made
  COMARRAY[j] - array of structures with comments to the text[i] with
    comment - string
    username - string - user woh made the comment
    locts - string - local timestamp (from username-client)
    location - string - information to location, where the diary entry has been made
GESUND - int
WETTER - int
STIMMUNG - int
AUSGABEN - array with fields
 bezug - real
 betrag - real
EINNAHMEN - array with fields, like AUSGABEN
ZEIT - array with fields, like AUSGABEN
geo - string - with data regarding location
tscreated - timestamp - from the server, when it stores the data
}

the message data structure


{
            channel: channel,
            level1: level1,
            level2: level2,
            severity: severity,
            timestamp: timestamp,
            tscreated: tscreated,
            ip: ip,
            username: username

        };

Some important parameters, stored in sysInfo in uisystem Module. sysInfo is accessed via uisystem.getsysInfo().



"appMode": false, 
"server1": "http://localhost:3000", 
"server1message": "OK", 
"activeServer": "http://localhost:3000", 
"server2": "", 
"doAjax": true, 
"doIndexedDB": true, 
"myIndexedDB": {}, 
"info": "
Cookies müssen erlaubt sein
Cookie Status:true
Geo-Location sollte erlaubt sein
Die IP-Adresse wird gespeichert
Windows
Viewport Width:537
Language:de
Geolocation:Latitude: 50.782884499999994
Longitude: 6.9200744"
"cookieEnabled": true, 
"os": "Windows", 
"device": "Netscape 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 Win32 (true)", 
"appName": "Netscape", 
"appVersion": "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36", 
"platform": "Win32", 
"viewportwidth": 537, 
"navlang": "de", 
"geolocation": "Latitude: 50.782884499999994
Longitude: 6.9200744" }

the most important parameters are:
  • appMode - true=application, false=browser with node.js backend
  • doIndexedDB - true=IndexedDB can be used, based on availability test, usually in app
  • doAjax - true=connection is available to activeServer
  • activeServer - hostname and port of the server that is used as backend for the diary
  • pushServer - hostname and port of the server 

No comments:

Post a Comment