Backup your ElastiCube schema after each build
When would I use this plugin?
In some cases, we'd like to be able to save the schema of our ElastiCubes for backup after each build. That way, if something happens to the ElastiCube (such as a mistake we made in the data model and/or build failures), we'll have the ElastiCube schema file that we can always revert back to.
Since the .ecube file is comparatively tiny (tens/hundreds of KBs max), this will have a negligent effect on the hard disk space.
How do I install it?
1) End the ElastiCube.Service.exe process using Task Manager > Processes tab.
Note: Make sure to do this when no Cubes are building as this will cause a few moments of downtime.
2) Download the plugin from here
Make sure to unblock the file after download. This can be done by right-clicking the file, choosing Properties and clicking the Unblock button under the Security section.
3) Save the DLL to C:\Program Files\Sisense\Prism\Server\Plugins. If the Plugins directory doesn't exist, please create it.
4) Start the ElastiCubeManagement service using Task Manager > Services tab.
5) Open the ElastiCube Manager and load the ElastiCube you'd like to apply the plugin to.
6) Choose ElastiCube > Pre & Post Execution Plugins from the ElastiCube Manager upper menu.
7) Click Add in the Post Execution Plugins and name the new plugin SaveEcubePostBuildPlugin (name is important!). Then click on the little script icon and paste the following XML:
<Attributes
backupPath="C:\temp">
</Attributes>
Change the backupPath value to whichever directory you'd like to create the backup .ecube file to. Make sure to use the UNC convention in the path.
In this example, if I had an ElastiCube named ProductReview, after the build succeeds, a new .ecube file will be created in the following path:
C:\temp\ProductReview\ProductReview_yyyyMMddHHmmss.ecube
Let me know if you have any other suggestions/improvements to make the plugin better!
Tested on versions 6.6.1 and 7.0.1.
-
Official comment
Hi Jeremy,
It was tested on 6.7.1 and 7.0.1 but I don't see any trouble running it in all versions.
Let me know if you run into any issues,
Kobbi
Comment actions -
Hi Geoffrey,
I've uploaded a newer version of the DLL with an extra layer of logs to help troubleshoot.
Can you please try the following:
1) Kill the ElastiCube.Service.
2) Copy the DLL into the Plugins folder.
3) Before restarting the service, open Services (services.msc from the command line), find ElastiCubeManagementService and right-click Properties.
4) In the Log On tab, run the service as your user by choosing the This account option.
5) Click Apply and restart the service.
6) Run a build.
Let me know how it goes!
-
Hi Kobbi Gal,
This plugin is working as expected, but the plugin itself is getting removed from pre & post build plugins, when "build entire cube" option is selected.
If I build only "Schema changes", then the plugin remains in the list.
Any leads on this?
Thanks,
Roni
Please sign in to leave a comment.
Comments
10 comments