-
- Preview browser
- Page designer
- DQL editor
- Application wide settings
- Security settings
- Page caching module
- Modules
- Snippets
- Actions
- Context editor
- Task editor
- Scheduler editor
- Search engine editor
- Web server console
- Site layout editor
- Template editor
- Robots editor
- Style definitions
- Database manipulation
- Table designer
- Transfer editor
- Reporter
- Deployment module
- Deployment server settings
- Debugger
- .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
- Rules for queries
- * (asterisk)
- ? (question mark)
- ~ (tilde)
- and
- or
- not
- ( ) (parentheses)
- Debug querys
- Livetext tags
- xdg3 query
- Sessions
- Pagination
- Free text search
- Intro on fields
- Text
- Hidden
- Date
- Dropdown
- List
- Checkbox
- Radio button
- Text edit
- Redactor (richtext)
- CKEditor
- TinyMCE
- Intro
- hasPrismConnection
- doAction
- doDerivation
- doMenuItem
- doPrismDerivation
- setFormField
- runPrismFunction
- @GetDefinition
- . document
- . listcommands
- . listdocuments
- . listdrives
- . listfiles
- . listfunctions
- . listinternals
- . listoperators
- . listrelated
- . listtables
- . object
- . table
- . testdql
- @SetDefinition
- . document
- . object
- Extra modules intro
- python
- Qt
- wkhtmltopdf
- PySide
- PyXCC
- django
- Apache
- LightTPD
- nginx
- pywin32
- flup
- cssutils
- Pillow
- psutil
- mysqldb
- psycopg2
- pyodbc
- python_dateutil
- requests
- suds-ews
- setuptools
- Whoosh
- wmi
- django-send
- bootstrap
- bootstrapmultiselect
- jquery
- jqueryui
- ckedit
- tinymce
- redactor
- JavaScript EU VAT Number Validation
- feedparser
- beautifulsoup
- appsdir
- six
- pycparser
- pyOpenSSL
- cryptography
- cffi
- enum34
- pyasn1
- idna
- ipaddress
- PyYAML
- coverage
- coveralls
- docopt
- mock
- funcsigs
- pbr
- nose
- paypalrestsdk
- paypal
- libcurl
- 7zipcpp
- cef
- cpp-jwt
Livetext tags
Livetext tags in one of the big cornerstones in DG3. Any ting added to a page can be reached by using it as a livetext. The live text is all that are available in the page context in the moment the template is rendered. It does not matter when in the process is got loaded. As long as it has been added to the page context in some way, you can use it in the form [{ livetext }] in the page code or any other element that is rendered as page code when the page is delivered to the browser. This is really powerful stuff.
Where to the livetext come from
Livetext comes form anything that is loaded into the context of a page. If there is two competing context elements that gets added with the same name, the one added latest int the process is the one that is loaded into the page.
Order of loading elements into the page contex
- First comes anything that is added to the context view. This can be used for calculating values based on the url to tag menus or load dynamic menus from tables. Keep in mind that this functions is run on every page loaded regardless. Use it sparely. By default the only thing added to context view is media_url.
- Then other context view are loaded based on settings done in config, but if you add authentication, you will get user into the context. User holds information about the logged in user or an anonymous user if none is logged in. There is an own document describing the user context.
- There might be other context processors loaded by custom addition to the settings, but that comes form activating modules and will be described in the module documentation.
- Now we come to the part depending on page type and what elements you have added to the page. Each page type is described in a separate section. We have the page type simple, dg3 and custom.
Simple page
A simple page do not have any tables connected to it and only holds minimal code. Due to this it will only hold what comes from the context processors, the user element if authentication is activated and whatever added to the context by custom pre and post code in custom code view.
Custom page
Here DG3 gust serves what ever the developer adds.
DG3 page
This is the one with the most different livetext elements. You get all form the context processors and the following:
- user
- xdg3 with session, sessionid, url and q.
- gdict is the old name for xdg3.url an is still there for backward compability
- maindata that holds one record from the page table, page dql or page transfer. If you have more than one activated on page load, the load order gives what will be returned in maindata. The default load order is task, transfer, dql and table. This means that the table will win if there are any other page elements loading.
- recorddata is the maindata for table record
- dqldata is the maindata for dql list record 0
- transfer is the result for running a transfer
- transgerlog is the error messages from running a transfer
- task is the result from running a task
- tasklog is the error messages from a task
- liveview are the next to load into the page in the order they are added to the page. All liveview code are added to the context in the livetext tag extradata. Each live view is added to extradata with the table name or the given name. This means that if you do not manually names the liveviews and there is more than one listing data form the same table or dql, the latest loaded is the one that will be used in all livedata with the same table name. To get to elements in livedata manually and not throug the livedata element presented inside the liveview element, you can do a extradata.tablename.index.fieldname to get to an element. This means that if you have a liveview and you want to get to the field called id in the first record of the table called InvoiceHeading, you would add the following livetext [{ extradata.InvoiceHeading.0.ID }].
- The query filters needed by ajax data can be found in a livetext named livefilter
- Rowcalc livetext if turned on by a filter q.rowcalc=1 on a table. The name of the livetext will be tablenameRowCalc.field.
- Debug filter livetext. If you run in the internal database server, a livetext named filterTableName will be added for each query done on the page.
- Any live text you add to pre and post view code manually.
There will be a lot of other documents that will describe more about each of the livetext elements that can be used on the page. This is just an overview.