Accéder au contenu principal

Oracle Sites Cloud Service - Apps

It's possible to add kinds of widgets (named APPS) inside any page of a site built with Oracle Sites Cloud Service (SCS).
Any app is materialized by two URL:

  • a Renderer Url which will render any HTML fragment inside an iframe tag at runtime
  • a settings url which will be rendrered at design time in the settings menu.

all URLs must be called through https (meaning that the called server has to be ssl enabled)
In the following samples, we integrate:

  • a dummy app (a simple html page produced with node.js) which demonstrates the parameteres caried by the Sites Cloud engine when calling the backend server, 
  • a regular Apex report or form, 
  • a custom report which calls a rest api generated by Apex /ORDS

Sample node.js server.js


below is a sample of parameter values get from a dummy node.js server

Main call


id=26e45e21-dbb6-4877-9886-482b37213d2f
instance=eyJpbnN0YW5jZWlkIjoiQTI0NUNFNUNFNjA5MjE1REZBRTA2RTQyRjExOThBNThFNzc4RDc5NzFDMkIiLCJzaWduZGF0ZSI6IjE0NTAxMDg1MDU3MzEiLCJzaXRlZG9tYWluIjoiZG9jdW1lbnRzLWZyZ21mYWN0b3J5dHJpYWwuc2l0ZXMudXMyLm9yYWNsZWNsb3VkLmNvbSIsInBlcm1pc3Npb25zIjpudWxsLCJlbnRpdGxlbWVudHMiOiIifQ%3D%3D.nnzuo3PtOvuCG1yM3qreNGkzwSfaIRaGqcR54tsP1h8%3D
cacheBuster=603206034
width=300px
height=515px
viewMode=navigate
locale=fr
settingsId=
customSettingsData=%7B%7D

Settings :


id=settings-26e45e21-dbb6-4877-9886-482b37213d2f
instance=eyJpbnN0YW5jZWlkIjoiQTI0NUNFNUNFNjA5MjE1REZBRTA2RTQyRjExOThBNThFNzc4RDc5NzFDMkIiLCJzaWduZGF0ZSI6IjE0NTAxMDg1NjQ4NzAiLCJzaXRlZG9tYWluIjoiZG9jdW1lbnRzLWZyZ21mYWN0b3J5dHJpYWwuc2l0ZXMudXMyLm9yYWNsZWNsb3VkLmNvbSIsInBlcm1pc3Npb25zIjoiU0lURV9PV05FUiIsImVudGl0bGVtZW50cyI6IiJ9.aMC6XtXcpExqgWjOPvZqb3yOFdGXIYmzy1XFx9hKUCI%3D
currCompId=26e45e21-dbb6-4877-9886-482b37213d2f
width=300
locale=fr
origSettingsId=
settingsId=9271b3c5-fba5-4d0f-afd9-c8e6d1b2aa74
customSettingsData=%7B%7D

in order to avoid undesirable call from other sources, a secret key must be shared between Sites Cloud and the backend server. This key is used for encryption of instance value. It's responsability of the backend server to decrypt this value with the help of sdk provided in documentation.


















cf parameter list in documentation of SCS.

Content of appinfo.json:

{“iconUrl”:”/_sitescloud/sitebuilder/components/images/icon/app.svg”,”appName”:”appelConsole”,”appDescription”:””,”appGUID”:”4fed0cdf-8174-4cc8-b6c3-f517ae348ae6″,”endpoints”:{“widget”:{“url”:”https://xxxxxxxx:7777″,”height”:300,”width”:300},”settings”:{“url”:”https://xxxxxxxxx:7777″,”height”:400,”width”:300}},”supportInfo”:{“supportUrl”:””,”supportEmail”:””,”supportPhone”:””},”company”:””}

Integration with Oracle Application Express (APEX)


just by registering an Apex URL, it's possible to add nice report or form inside a page.
Prerequisite; At Apex level:

  • Authorize launching apex application through an iframe
  • Choose the Universal theme and modal template for the page, in  order to put away all navigation stuff





Limitations:
I was not able to create a single apex applications with multi purpose page inside because deeep linking option causes problems. So, I have to switch back to a strategy where I create ONE Apex application each time I want to have a new page.

Calling a node.js app wich calls a Apex rest APi


This app calls a node.js page which in turn calls a REST api built with Apex /ORDS)

Parameters passing


The behaviour can be something strange because extra parameters dedicated to SCS are pushed at the very beginning of Apex url:


Sometimes, I get an error message if I go through the design console of Apex just before calling the site. That must be keep in mind.


Commentaires

Posts les plus consultés de ce blog

Streaming mp3 fromVLC / Icecast to Android

Here are some tips for streaming music to android mobile devices from a PC. Platform which has been used fo test: Ubuntu 11.10 oneiric + a NAS for storing music (windows can fit as well) Videolan VLC 1.1.12 (providing mp3 flow) icecast 2.3.2 (shoutcast radio) Winamp 1.2.12 for Android mobile(music player) Android-vlc-remote for Android (remote control for VLC) Start icecast server icecast2 -c icecast.xml The icecast xml config file is the original one. don't modify anything at this stage.  Setup VLC in order to stream mp3 instead ogg format Close VLC Prepare a playlist (ie: scarlatti.m3u) with Banshee or whatever. Launch VLC in command line vlc scarlatti.m3u --sout '#standard{access=shout,mux=ogg,dst=source:hackme@192.168.0.3:8000/scarlatti}' --sout-keep --extraintf=luahttp --fullscreen --http-album-art     Check that icecast is displaying a mount point for the new radio Check the HTTP acces

Oracle Sites Cloud Service - Adding authentication to a site

With Oracle Sites Cloud Services, access to any site is Public, by default. If you have to add authentication, there is a very simple way to achieve it: First, we assume that authentication will be against the existing Identity Domain provided with the tenant. In a dedicated page of a site, called Login for instance, we add an App component which embeds an URL to any folder of Documents Cloud Service. ie: App URL =  https://documents.XX.oraclecloud.com/documents/ embed /home/nameasc Note that the URL will be called with the EMBED keyword . Then we add the App component is a region, and  we setup a height=1 and a width=1 (almost invisible). That's all. Each time a user will navigate to this custom   Login Page, and if the user is not yet authenticated, a new page will splash on the screen, asking for credentials. Once login and pasword are provided by the user, the page disapears and return to custom Login page. Optionnaly it's possible to add a dedicated butt

Using REST Apis in WebCenter : Setup for Linux

REST Apis are available with Oracle WebCenter R1 PS1 (Nov 2009). This post gives informations for installing samples on an existing WebCenter plateform. REST Samples which are provided on otn site can be installed either with Apache, or with WebLogic Server directly. Setup For Apache To avoid cross site scripting errors, you should proxy URL access to the REST service:   http://<hostname>:<WLSport>/rest/api/resourceIndex On Apache or Oracle HTTP Server Depending the current configuration of apache2.conf, it will be needed to setup the Proxy mod by updating the httpd.conf file, and by adding directives for proxying the target url dedicated to REST. In the lines below, replace the port 7001 by the port used by WLS. Modify httpd.conf by adding the following lines: LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so LoadModule proxy_balancer_module /usr/lib/apache2/modules/mod_proxy_balancer