One of my personal blogging goals this year is to take a tour of apps, code, libraries, and other third-party tools in the Hyperion ecosystem. I have some cool stuff on deck to be reviewed, starting with today.
Today I’d like to take a look at Harry Gates‘ cubeSavvy. cubeSavvy ostensibly purports to be “Planning without Planning”. Or, put another way, it’s a web-based interface for Essbase cubes, without all of the additional infrastructure and setup that Planning entails. This is an interesting approach. Let’s think about it for a moment.
As many of you know, by design, Hyperion Planning sits on top of Essbase and is synchronized down to Essbase. This design has some drawbacks and some advantages that are possibly worth musing on in a future post. Planning also brings a lot of extra functionality to the table that manifests itself in the user interface and/or is pushed down in some way to the underlying cube. cubeSavvy comes to the table and more or less says, “Hey, let’s do away with all of that and get a little more purist about this: let’s have grids (similar in concept to forms in Planning) defined that work with our vanilla Essbase functionality – and let’s just manage the cube instead of pushing and synchronizing things down to Essbase.”
So in theory, if you have an Essbase server up and running and then stick a cubeSavvy server in front of it, define some grids and provision some users, you’ve got a web-based budgeting and planning system on top of your cubes. Interesting.
In a first for me and this blog, this article will be split up in to several pages, covering Installation & Setup, Configuring Grids, User Experience, and Closing Thoughts. Please enjoy this whirlwind tour of cubeSavvy!
Jason,
Excellent article. I had never heard of cubeSavvy but will now check it out.
Thank you for sharing!
Have you ever tried using Dodeca for budgeting instead of Planning? Just curious.
Doug
Yes I have used Dodeca – in fact, I rolled out one of the earliest and largest (at that point) Dodeca deployments several years ago! I am going to do a long blog series on Dodeca as soon as possible. As I said, I am working through the third-party Hyperion ecosystem this year and next on the list is something quite interesting, followed by Dodeca. Stay tuned. :D
Jason,
Two things I didn’t see:
1) How is dimensional security in grids represented? Does it follow the user’s username and so metaread filters would suffice or does cubeSavvy use a “ghost user” to do logins and handles security some other way?
2) Is there any way to pass grid POV, page, row, and column settings to some kind of calc script execution stage? I am thinking either the way Planning forms work with business rules (not bad, but could use some real improvement in the row and column area) or the way tokens work in Dodeca (even better because if you set the views up just right you can drive aggregations in BSO with row and column information).
Otherwise a very intriguing product.
Regards,
Cameron Lackpour
1. Dimensional security is handled by way of the user’s security — rather than all requests being marshaled through an admin user, the user uses their own credentials.
2. This came to mind as well and I almost commented on it since it’s highly relevant to what calc gets run on submit. At present I don’t think the product includes this capability, but speaking from my own experience, it is possible to do with just the Essbase Java API (i.e., generate your own calc based on a template that you parameterize). So… doable, if not trivial.
Cameron,
1) Jason is correct. You log into cubeSavvy with the same credentials you would log into Essbase. The only difference being that you would need to be in the cubeSavvy_admins group (either native Essbase or Shared Services) to create grids or cubeSavvy_users to enter data in a grid. Having users continue to utilize their own ID (instead of the “ghost user” approach you mentioned) has the added benefit of simplifying the logging of user activity.
2) This is definitely on my road map for the product. I will try to piggyback off the new Essbase as much as possible, since my whole goal is to stick with native Essbase functionality (and not bastardize it to death, as Planning has done). I envision being able to limit a calc to EXACTLY what is displayed in the grid – including rows and columns.
I’d be more than happy to hear any other ideas you have.
Thanks,
Harry Gates
That should read “piggyback off the new Essbase runtime substitution variables as much as possible”.
[…] you come up for air next week. It has been a busy week on my end, what with doing a fairly deep cubeSavvy review, building elegant/robust/awesome solutions for clients, polishing up open source Essbase […]