We have a shared platform between several clients, each client creating their own reports. We are looking for a way to make an automatic backup of reports, folder by folder.
We already use the Restful APIs to control the use of universe’s objects in reports, but have not found how to backup from a webi document in an automated way (without using the java API).
You can’t do a backup that way. The only way I’ve found to do this is to use the BiarEngine SDK for Java. You could use the RESTful Web services to get the report SI_ID values, but you would still need the Java SDK to get the IInfoObjects to add to the .biar files.
Thanks a lot, i didn’t thought about using biarengine.jar !
I’ve just ended the developpement of a small windows module, running on the BI server, that reads all objects of the BI plateform via the Restfull APIs, and back them up one by one whith biarengine, in BIAR files, in a folder hierarchy representing the one inside the BI plateform. Now, i can easyly back-up users, documents, roles, profiles, etc…
My module also allow to restore one, or all the BIARs of a folder onto the BI plateform.
Impressive work, i am very new to REST and SDK, would you mind sharing how you developed this module using REST? Where did you begin? Would appreciate any help. Thanks.
Originally I only wanted to use the BO API to allow the display of a report without the user having to connect to webi. It was after implementing this development that I realized that 90% of the work was already done to make a backup of server objects.
The steps were the following for me:
Successfully authenticate to the BO Rest API (not very difficult, use : /biprws/logon/long to retrieve a token, then return the token to the following REST request’s header [X-SAP -LogonToken] = “token”).
Retrieve the list of all “links” elements of the platform with /biprws/infostore and /biprws/infostore/link_id/children.
I save all the hierarchy and the properties of the “links” in a database that is specific to my backup tool.
From my local database, I know all the “links” of the platform and their children, so I’m able to rebuild the folder hierarchy.
For each “link”, I run biarengine.jar with a specific properties file for the “link” to be exported to a biar.
Note that the query “exportQuery1” is different depending on the type of the BI object to export:
... from Ci_ infoobjects ... // for reports, folders, etc.
... from Ci_systemobjects ... // for users, groups of users, etc ...
... from Ci_appobjects ... // for connections, universes, etc ...
Thanks to the APIs, i also developped a module that list all universe objects used by all reports of the plateform, so i’m able to know if i can update or delete a BI object in the universe without any issue for end users