mce wrote:I have a requirement from a set of users: Two users want to be able to share the cube views that they created.
Obviously I can copy *.vue files from one user to the other user in TM1 data folder. But this will not be impacted until I unload the cube, which would take considerable time for big cubes.
You don't need to unload the cube. Having the user log out and log back in will be all that's needed when you're talking about private views being copied from one user to another. I've done this a stack of times. Unless something has changed in the most recent versions, the user objects are loaded when the user logs on.
Making a view public is another matter, but I find it easier to copy those to to my own admin login's folder, log out and back on, and publish them from there. Or, as Martin suggested, you could temporarily make the user an Admin. (That'll never, ever happen on my system, but that's an administrative choice rather than a technical one.)
Only problem is that a feature like this can't be put into a promotional video of pretty multi-coloured web dashboards, and sports cars with red lit instrument panels rushing down darkened roadways. It's therefore not a priority. But I'm sure that we're always welcome to submit a business case for it...
ajain86 wrote:You could build a process that would call a script file which would copy the .vue files from one user to another. This would be a complex implementation.
Actually the implementation of doing that
by itself isn't all that complex. Unfortunately the big potential "gotcha" is if the views also use private subsets. You need to have a way of reading the view file or definition to determine the names of those, then have the process copy the relevant subset files as well. There are ways of doing that too (both via the API and I can even think how to do it in TI), but yeah,
that's where it can get complex and very ugly. If there aren't any private subsets involved, then obviously you can get away with just copying the .vue file. But for regular use, I wouldn't regard that as being a safe assumption.
The other issue is that there's no way of having the "target" user say that they don't want the view.
Target User: "Hey, what's going on, my views are all screwed up!"
Source user: "Oh, those are MY views of that name. I thought you'd like a copy of them so I sent them to you."
Target user: "You overwrote my views?? DO YOU HAVE ANY IDEA HOW LONG IT TOOK ME TO CREATE THOSE???"
{Coffee cup flies across the cubicle...}