Loading...
 
Skip to main content

History: Webservice Handler

Source of version: 7 (current)

Copy to clipboard
            One of Tiki's new features is the ability to register webservices to be used by plugins. This is a ((handler)) which, combined with ((Plugin Alias Handler)), allows to create brand new plugins exploiting data from external systems. Please see: ((dev:WebServicePlugin))

! Bugzilla Webservice example

This plugin would ask for the real data export URL for the webservice. This is not mandatory.

{CODE(caption=>YAML,wrap=>1)}
preferences:
 enable: [ wikiplugin_$profileobject:bugzilla_ws$ ]
objects:
 -
  type: webservice
  ref: bugzilla_ws
  data:
   name: $profilerequest:Webservice Name$bugzilla$
   url: $profilerequest:Bugzilla Webservice URL$http://example.com/bugzilla/json_export.pl?id=%bugid%$
   schema_version: 1.0
   schema_documentation: http://example.com/bugzilla_exporter/doc/1.0
 -
  type: webservice_template
  ref: base
  data:
   webservice: $bugzilla_ws
   name: base
   engine: smarty
   output: tikiwiki
   content: |
            Title: $profileobject:response.title$
            Status: $profileobject:response.status$
            Assigned to: $profileobject:response.assignee.full_name$
-
 type: plugin_alias
 ref: plugin
 data:
  name: $bugzilla_ws
  implementation: webservice
  description:
   name: Bugzilla
   description: Displays bugs from remote hosts
   prefs: [ wikiplugin_$profileobject:bugzilla_ws$ ]
   params:
    template:
     name: Template
     required: n
     description: Name of the template to use. Default to base.
    id:
     name: Bug ID
     required: y
     description: Bug number from Bugzilla
  body:
   input: ignore
   default: ""
  params:
   service: $bugzilla_ws
   template: base
   id: 0
{CODE}

! Webservice Object
||__Name__|__Mandatory__|__Value__
name|yes|Alpha-only name of the webservice
url|yes|URL of the web service with arguments entered as ~np~%arg_name%~/np~
schema_version| |Schema version number disclosed by the web service
schema_documentation| |URL of the documentation for the web service
||

! Webservice Template Object
||__Name__|__Mandatory__|__Value__
webservice|yes|Webservice to add the template to
name|yes|Alpha-only name of the webservice
engine|yes|Rendering engine used (smarty or javascript at this time)
output|yes|Output produced by the engine (tikiwiki or html)
content|yes|Template content
||