Chapter 3. Services configuration

Repository Discovery Service (now @Path("/services/discovery"))
Get Entry Points
Upload Service (now @Path("/services/upload"))
Upload Local File
Loopback Content Service (now @Path("/services/loopbackcontent"))
Get Local File's Content
Download Content Service (now @Path("/services/downloadcontent"))
Download File
Groovy Script Service (now @Path("/services/groovy"))
Validation Groovy Script
Deploy/Undeploy Groovy Script
Gadget Service (now @Path("/ideall/gadget"))
Deploy Gadget
Undeploy gadget
REST Conversation State Service (now @Path("/conversation-state"))
Whoami
REST Registry Service
Save Application Settings
Get Application Settings
Proxy Service
WebDav Service

Let's see the description and configuration of server-side services, used by eXo IDE application.

IDE was built with support for virtual file system that can have many implementations. Repository Discovery Service is used to provide the client a list of entry points, including the access protocol. For now only the WebDav protocol is supported.

RepositoryDiscoveryService is configured in such a way:

Use next configuration for Upload Service:

Loopback Content Service is used for getting the content of local file through server.

To make request client must create a HTML form (<form> element), and set only one field that indicates file input.

After this client must set form parameters such as method, encoding and submit url ( action ):

Add following configuration for Loopback Content Service:

Download Content Service is used for downloading files and forces the browser to open download window. Use the configuration below for Download Content Service:

Groovy Script Service is used for validating, deploying and undeploying groovy services. Use next configuration to set up Groovy Script Service:

Gadget service is used for operations with Google gadgets, such as deploy and undeploy it in portal.

Add following component to your configuration file:

REST Conversation State service is used to get logged user in portal.

Configuration is the following:

To store and get eXo IDE application's settings, REST registry service is used.

Add the following to configuration file:

As far as GWT applications use AJAX and it doesn't allow cross site requests, proxy service may be helpful. It gets your URL from "url" query parameter and gets the required content instead of client and gives it back. To use it add written bellow to your configuration:

The main protocol for communication with the server in eXo IDE is WebDav. WebDav is used for storing, managing files and folders in the repository. GWT supports only GET and POST HTTP methods for sending requests.

Only GET and POST http methods are supported in GWT. Considering this limitation, the client sets a special header ("X-HTTP-Method-Override") for each request to the server, which indicates the original WebDav method.

WebDav service will be available, if the following configuration is added: