When a user opens a page on the DataEase server in a browser the first time, a random 32 char session id is created that identifies the session. Every time the users load a page from now on, this session cookie is updated on the server. The session id by default lives for 24 hours and this is updated every time a page from this browser is loaded.

A developer can use this session to store global values for this session or when given a user name and password, log in on the server. 

Session values

isloggedin A boolean true or false if you are logged in or not. If you are logged in you will also get username, level and numlevel. If not these are left out. If you read as livetext you will get yes and no instead of true and false.
level The user level from Low3-1, Medium3-1 and High
numlevel The numeric values where High =1 and Low3=7. If not logged in you can get 8.
remembermefor How many milliseconds to add each time you load a page. This is used for how long a session will last until it will be deleted. Default is 86400000 that is 24h
sessiondata Custom data that can be stored for each browser session. 
sessionid The session id that is used identify this browser. It is stored as a cookie with the name desessionid in the browser.
timeout When this session times out in server time. This is ms based and will be a huge number.
token A 16 char token that is used when storing data to the server. To identify that the logged in user is a valid user to use the store function.
username The username used for login into the server.

The sessiondata values will be listed as a own entity when you get all values, but as looks like individual values if you ask for one and one.

The session commands

clearsessiondata Clear all sessiondata but the session it self stays intact.
count Need to be high level user to get the number of sessions on the system.
Ex. /session/count will return {"result" : "ok", "count" : 250} if the number of active session are 250
delete Remove a key form sessiondata
Ex. /session/delete/myvar will remove myvar from sessiondata in the session
deletesession This will remove the session from the session store. This is either a brutal way of logging your self out or you can use /other/sessionid/deletesession to clean individual sessions out of the session store.
get Get a session value. No parameter give them all.

Ex. /session/get will return all session values in the json returned
Ex. /session/get/timeout/ will return the timeout value in result["value"] (jdata = {"result" : "ok", "key" : "timeout", "value" : 6553343999})
Ex /session/get/email will return the email values stored by a previous /session/set/email as (jdata = {"result" : "ok", "key" : "email", "value" : "mailme@example.com"})
listsessions Need High user and will list all sessions on the system with all data stored.
Ex. /session/listsessions gives {"result" : "ok", "sessions" : [{"sessionid" : "..},{"sessionid" : "..}...]}
me Show info about who is logged in or not. Same format as you get from authentication/login.
Ex.  {"isloggedin":true,"level":"High","result":"ok","username":"ausername"}
other Give you the opportunity to manipulate others sessions. To do this you will have to be a user with level High. You can call any command that you can your own session as a normal user by /other/sessionid/commandtocall
Ex. /session/other/axadfffswtrw422577544343334563/delete will remove the session the the number in position 3 in the url
set Set a session value. This can be done by using the url or by posting/putting a json/form to the server.
The format for ulr method is session/set/key/value, session/set/key?value or the full key=value in query like /session/set?&key=val&key2=val2... The last one will take all except jsonpretty=1 that is uses for formatting the output.
The post/put with method support two inputs types: {"key" : "keyname", "value" : "thevalue"} or {"sessiondata" : {"key1":"val1","key2":"val2"..}}
It is also possible to set "rememembermefor" using either method. The form type will get to the server as the {"sessiondata":{"formfield1":"formvalue1..}}

The session command are triggered by calling /session/yourcommand

Manually trigger session functions on the server

A auto save session can be done using the /cmd/sessionsave to the server. Then the sessions will be saved inside a 5 second period. If you are using a devserver you can clear all session using a /cmd/clearsessions. On a proper server this must be done using the session commands or deleting the session files and restart.