Difference between revisions of "Integration/Content source"

From TempusServa wiki
Jump to navigation Jump to search
m (32 revisions imported)
 
Line 36: Line 36:
#* SagID
#* SagID
#* QUERY_NEW
#* QUERY_NEW
=== Possible parameters ===
{|
| QUERY_FIELD_n
| Part of the search/filter. The field to filter by.
|-
| QUERY_OPERATOR_n
| Part of the search/filter. The way to filter. Full list [[Dashboard widget configuration]]
|-
| QUERY_VALUE_n
| Part of the search/filter. The value to filter by.
|-
| QUERY_SHOWFIELD
| The fields to show in the list, separated by space.
|-
| QUERY_PageSize
| Number of records to show pr page.
|-
| QUERY_PageOffset
| The page number to show.
|-
| QUERY_SortOrder
| The field to sort ascending by. Use either this or SortOrderDesc.
|-
| QUERY_SortOrderDesc
| The field to sort descending by. Use either this or SortOrder.
|-
| QUERY_Grouping
| The field to group records by.
|-
| QUERY_GroupingDesc
|
|-
|}


=== Dynamic parameter  ===
=== Dynamic parameter  ===

Latest revision as of 10:35, 22 April 2024

THIS ARTICLE IS UNDER DEVELOPMENT

Setting up a content source

Many parameters are straight forward

  • Related solution
  • Max cache age
  • Is active

Unique NAME

This is the calling name of the interface, that must be provided accessing the content service.

Example for calling the view myview

  ... /cmsservice?q=myview& ...

Query command

Relevant commands include

  • General records
    • list: List of records
    • show: Single record
  • HTML formatted views
    • heat: Heatmaps
    • gant: Gant charts
    • xtab: Pivot tables
    • calm: Calendar

Query parameters

Parameters are provided without URL encoding

 QUERY_FIELD_1=TITEL&QUERY_OPERATOR_1=8&QUERY_VALUE_1=Hello&QUERY_SHOWFIELD=TITEL StatusID DEADLINE

Procedure for easy parameter setup

  1. Build views in frontend.
  2. Activate the link and copy the URL
  3. ´Remove unneeded parameters
    • command
    • SagID
    • QUERY_NEW

Possible parameters

QUERY_FIELD_n Part of the search/filter. The field to filter by.
QUERY_OPERATOR_n Part of the search/filter. The way to filter. Full list Dashboard widget configuration
QUERY_VALUE_n Part of the search/filter. The value to filter by.
QUERY_SHOWFIELD The fields to show in the list, separated by space.
QUERY_PageSize Number of records to show pr page.
QUERY_PageOffset The page number to show.
QUERY_SortOrder The field to sort ascending by. Use either this or SortOrderDesc.
QUERY_SortOrderDesc The field to sort descending by. Use either this or SortOrder.
QUERY_Grouping The field to group records by.
QUERY_GroupingDesc

Dynamic parameter

This specifies a parameter that will be set by the value provided in the v parameter.

Example: Using this interface

 Unique NAME: mylist
 Query command: list
 Dynamic parameter: QUERY_PageOffset

Making a call to

 .../cmsinterface?q=mylist&v=2

Will fetch a list of data and display page 2, because 2 is injected into QUERY_PageOffset.

Parameters and values are injected directly into the http request.

Note: Using the "show" command the variable will ALLWAYS get mapped to "DataID"

Using a content source

Calling the cmsinterface servlet will provide you with an overview on how to use it.

Example:

  https://www.acme.com/TempusServa/cmsinterface

The interface requires just the name of the source, but additional parameters can be provided.

Parameters

  • q: Name of the interface (required)
    • This name must match "Unique NAME"
  • f: Format of the result (optional)
    • Valid values: html json xml
  • v: Parameter for dynamic values (optional)
    • The value will be substituted to the parameter in "Dynamic parameter"

Example:

  https://www.acme.com/TempusServa/cmsinterface?q=mysource&f=json

Troubleshooting

THIS ARTICLE IS UNDER DEVELOPMENT

Configuration caching

For performance reasons information about the content sources is kept cached.

Adding or changing sources will propegate automatically : You will need to clear the system cache to pick the changes.

Parameter encoding

Note that URL's copied from a browser address bar are often encoded in HTML format.

The content will not decode values and request strings, so all encoded strings will fail.