Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/symphonycms/remote_datasource

An improved datasource to fetch data from TXT, CSV, XML and JSON sources.
https://github.com/symphonycms/remote_datasource

symphony-cms symphony-cms-extension

Last synced: 11 days ago
JSON representation

An improved datasource to fetch data from TXT, CSV, XML and JSON sources.

Awesome Lists containing this project

README

        

# Remote Datasource

The Remote Datasource allows you to consume XML, JSON, CSV and TXT sources in Symphony. This extension aims to build upon the Dynamic XML datasource functionality provided in Symphony to allow better cache control, the automatic discovery of namespaces and more flexibility.

## Installation

1. Install this extension by copying `/remote_datasource` folder to your `/extensions` folder. Then navigate to the System > Extensions page in the Symphony backend page, select the Remote Datasource extension and then apply the "Enable/Install".

2. Create a new Remote Datasource via the Datasource Editor, choosing Remote Datasource from the Source dropdown (it's under __From extensions)

## API

If you need to add custom php code in your Data Source, there is two methods that you can override in your DataSource sub-class:

````php
/**
* This methods allows custom remote data source to set other
* properties on the HTTP gateway, like Authentication or other
* parameters. This method is call just before the `exec` method.
*
* @param Gateway $gateway
* the Gateway object that will be use for the current HTTP request
* passed by reference
*/
public static function prepareGateway(&$gateway) {}

/**
* This methods allows custom remote data source to read the returned
* data before it becomes only available in the XML.
*
* @since Remote Datasource 2.0
* @param string $data
* the parsed xml string data returned by the Gateway by reference
*/
public function exposeData(&$data) {}

/**
* This method is called when their is an http error
* or when content type is unsupported
*
* @since Remote Datasource 2.0
* @param array $info
* info of the http request
*/
public function httpError(&$info) {}
````