-
- Command line
- Server Settings
- Commands
- Session
- Authentication
- Custom authentication
- External authentication
- Basic authentication
- Folder Security
- Data manipulation
- Read one record
- Read many records
- Write one record
- Delete one record
- Direct Page/DQL
- Page data definition
- Directory listing
- File handling
- Prism lists
- Data Defintions
- Get data definitions
- Create data Definitions
- Update data definitions
- Delete data definitions
- Definition format
- A web page
- Page definition
- DQL pages
- Single file/memo DQL
- Single file/memo Page
- LiveText tags
- Url commands
- Tags
- How data is triggered in a page
- About DataEaseConnect
- checkquery
- callbacksuccess
- clearrecord
- connectonfieldchange
- convertvaltonumber
- decodequery
- deletedata
- deletetdf
- displayerrormsg
- doaction
- ensurequry
- fetchrecord
- fetchrecords
- finddatatype
- findfieldindef
- formdata
- formdefs
- forminit
- forminitdone
- formloaded
- generateid
- getcookied
- getdata
- getelement
- getfield
- getmyhost
- getnumlines
- getrecordcontent
- getrecorddef
- getrecordnofromurl
- gettdf
- gettablefromurl
- istrueval
- login
- logout
- makenewline
- multirecordinit
- newdata
- newtdf
- rundql
- populateoneselect
- selectpopulate
- setcsrfheader
- setelement
- setfield
- singlerecordinit
- stringify
- stripsuffix
- updatedata
- updatetdf
- useisodatetime
- usenumber
- version
- About jsBridge.js
- Action names
- deCheckVersion
- DEOS
- getnumlines
- GetCurrent
- GetValue
- GetVar
- jsAction
- jsActionExt
- jsActionExt2
- jsAddClass
- jsDEOS
- jsDerivation
- jsDerivationDebug
- jsDocumentDelete
- jsDocumentEdit
- jsDocumentOpen
- jsExecDQL
- jsGetActiveDocState
- jsGetVar
- jsGetCurrent
- jsGetDocumentState
- jsGetValue
- jsGetPRISMValue
- jsHide
- jsInt21
- jsLiveText
- jsLog
- jsMemoExecDQL
- jsMenuItem
- jsNewBlankForm
- jsOpenAppCat
- jsPrismDerivation
- runPrismFunction
- jsRefreshDocuments
- jsReorganize
- jsReorganizeAll
- jsRemoveClass
- jsSetFixedValue
- jsSetVarFromField
- jsSetValue
- jsSetVar
- jsSetCurrent
- jsSetWebField
- jsSetWebFieldFromVar
- jsShow
- jsToggle
- jsToggleClass
- makenewline
- SetCurrent
- SetValue
- SetVar
- startdebugger
- About decommon.js
- The loader
- calccaretpos
- decodequery
- generateid
- insertitem
- loadfilelist
- loadfile
- loadinternals
- message
- rundql
- runpage
- savefile
- selectitem
- testdql
- version
- .end
- .form header
- .form trailer
- .items
- assign
- application status
- backup db
- begin transaction
- break
- call menu
- call program
- case
- cluster by
- commit
- connect
- copy all from
- data-entry
- db status
- delete records
- define
- disconnect
- do
- documents
- exec SQL
- else
- end
- enter a record
- error messages off
- error messages on
- exit
- export
- for
- global
- if
- import
- imports
- in
- input using
- install application
- into
- list records
- lock
- lock db
- modify records
- message
- named
- others
- prompt
- query selection
- record entry
- records
- reorganize
- restore db
- rollback
- run procedure
- servers
- temp
- then
- tran off
- tran on
- unclustered
- unlock
- unlock db
- via form
- while
- with
- abs
- acos
- addressof
- ampm
- anylookup
- asin
- atan
- atan2
- ceil
- CHR
- concat
- ConsoleCopy
- ConsoleMemoCopy
- ConsoleShow
- ConsoleWriteToFile
- cos
- cosh
- date
- DatePicker
- day
- DEOS
- DialogOpen
- DialogOpenRelated
- DocumentCloseName
- DoesObjectExist
- ExecDQL
- ExecuteFile
- exp
- FileExecDQL
- firstc
- firstlast
- firstw
- FixedWidth
- floor
- futurevalue
- GetCurrent
- GetVar
- hours
- if
- installment
- jointext
- julian
- lastc
- lastfirst
- lastw
- length
- log
- log10
- lower
- MemoChunk
- MemoCopy
- MemoDecodePair
- MemoExecDQL
- MemoFind
- MemoGetGlobal
- MemoLength
- MemoMemoCopy
- MemoMemoReplace
- MemoReadFromFile
- MemoReplace
- MemoSetGlobal
- MemoStringBetween
- MemoStringFrom
- MemoStringTo
- MemoWordCount
- MemoWriteToFile
- midc
- midw
- minutes
- mod
- month
- OpenForm
- OpenMenu
- OpenProcedure
- OpenReport
- periods
- power
- presentvalue
- proper
- random
- rate
- RefreshForm
- RefreshScreen
- RefreshStatus
- Remote
- Remote authentication
- Remote POP3
- Remote IMAP
- Remote SMTP
- Remote XML
- seconds
- SetColor
- SetCurrent
- SetFocus
- SetLabelText
- SetMemoValue
- SetState
- SetStyle
- SetValue
- SetVar
- sin
- sinh
- spellcurrency
- spelldate
- spellmonth
- spellnumber
- spellweekday
- sqrt
- StringBetween
- StringEscape
- StringFind
- StringFrom
- StringReplace
- StringTo
- tan
- tanh
- textpos
- timeampm
- ToText
- UniqueID
- upper
- Wait
- weekday
- WriteToFile
- year
- yearday
- yearweek
- " (quotation marks)
- () (parentheses)
- + (addition)
- , (comma)
- - (subtraction)
- . (period)
- -- (comment)
- / (division)
- * (multiplication)
- * (asterisk)
- ? (question mark)
- ~ (tilde)
- : (colon)
- := (assignment operator)
- ; (semicolon)
- < (less than)
- <= (less than or equal to)
- = (equals)
- > (greater than)
- >= (greater than or equal to)
- all
- all files
- and
- any
- between
- blank
- count
- count of
- file
- highest of
- in groups
- in groups with group-totals
- in order
- in reverse
- item (Statistical)
- item (Conditional Statistical)
- lock files
- lock nothing
- lock records
- lookup
- lowest of
- max
- mean
- mean of
- min
- not
- number
- numeric string
- or
- pause
- percent
- selected record
- std.dev.
- std.err.
- sum
- sum of
- text
- time
- to
- variance
- window
- @GetDefinition
- . document
- . listcommands
- . listdocuments
- . listdrives
- . listfiles
- . listfunctions
- . listinternals
- . listoperators
- . listrelated
- . listtables
- . object
- . table
- . testdql
- @SetDefinition
- . document
- . object
Session
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 250delete Remove a key form sessiondata
Ex. /session/delete/myvar will remove myvar from sessiondata in the sessiondeletesession 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 urlset 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.