SOAPI and Jamroom
Jamroom Developers
Hi Paul,
well I am not able to create a ticket as far as I know since this feature requires a monthly VIP subscription which I do not have. Correct me if I am wrong. Also I do not have an testing instance so far from the flowworks company that drives the DAM where all the videos and photos are managed with and stored. Actually all they give me is that SOAPI. The database is in MySQL on their side. Also I did get the field definition paper (FlowCenter SOAP API) from them. They name it "Introduction and configuration". Since this paper is quite helpful I think I could send it to you. How can I transfer a file to you without getting it seen by the whole internet?
But actually all details are allready in the
http://flowcenter1.flowworks.de/flowcenter.wsdl/flowcenter.wsdl.xml
Actually SOAPI works almost similar to a REST API. So what it does is it requires a specific URL where one can connect to another server that runs the SOAP API on a specific port. A user with read or write access and a password can then communicate with the MYSQL database.
Also SOAPI is completely integrated in PHP and can be run out of the box. A SOAP Interpreter can be found here:
https://github.com/meng-tian/php-soap-interpreter
So all there needs to be done is an API integration into Jamroom (smartyphp-environment) via a "Module". The Module would need the following fields in my opinion:
- Path to the external Server
- username
- PW
There are SOAP testing programs for free that can read the WSDL to make example requests, e.g.:
http://sourceforge.net/projects/soapui/
Flow Center and SOAP can also be run with HTTPs and additional HTTP authentication by
configuring the apache webserver.
About the security aspect the following can be said:
There always should be a PHP or any other kind of CGI-script between the SOAP API and the
client browser. It should validate the requests before calling the SOAP API and make the SOAP
API 'invisible' for the client.
If there is a dummy user the password must not be inside the HTML/Javascript source codes in the
client browser! Otherwise the user can be able to access more functions then you wanted to offer in
your frontend.
It is recommended to use additional security measurements for the SOAP API e.g. HTTPs, Client
certificates, HTTP Auth or IP restrictions.
Custom data
For SOAP-Messages getclip, editclip, getuser, edituser, getcliplist, editcliplist it is necessary to
allow custom data which is not defined in WSDL because it differs with every project. This SOAP
parameter type is called „flowmetadata“.
For example a music website needs metadata like „title“, „artist“, „album“, whereas a commercial
database needs metadata like „product“, „title“, „client“.
You can use the parameter “custom_metadata” (or “custom_metadata_def”) in these functions to
load a configuration. Inside the configuration your custom data is defined.
Another part of this configuration is a filter for media files. Each clip is linked to multiple media
files. You can either see all of them or a filtered result. The parameter “purpose” inside the
mediafile details can be used to tell the SOAP client what you need this file for.
I do have the configuration data for name, custom data examples and media file
purposes. But would not like to share them here in the public form as well.
So the best would be I could email you the PDF document and we can take the route from there if you don`t mind. I should actually have your emailadress from a couple years ago. Once I am at home I will check my old computer.
I hope this helps allready.
Best Matthias