Has anyone here already worked with the Rational / IBM CAL and knows if at all, and how to check for a view's creator/owner (username)? Elements, Vobs etc all have an Owner/Creator, but for some reason views do not?
I have only do small VB scripts with CAL, as illustrated in this answer about label.
After having checked cc_cal.chm (found in C:\Program Files\IBM, in the latest 7.1.0.1 version of ClearCase installation), I have found their ICCView interface very incomplete, and always prefered to patch the output of a classic:
cleartool lsview -l -full -pro aTagViewName
With that output, I am sure to find whatever information I need.
The only other "pure CAL" way to get some views for a given username is for UCM views, where you can ask the stream for those (but that does not address directly your question)
Dim Streams As CCStreams
Dim Stream As CCStream
Set Streams = Project.DevelopmentStreams(Name)
For Each Stream In Streams
Dim Views As CCViews
Set Views = Stream.Views(Name)
Dim View As CCView
For Each View In Views
Str = Str & View.TagName & " in stream: " & _
Stream.Title & vbCrLf
Next
Next
Basically, if you can think of a way to do it with cleartool, the answer is yes. If there isn't a specific interface/object API to do what you want, just create the cleartool object in CAL and stuff your query in there!
The advantage to using CAL is that you only need to load the .dll once, and don't have to pay the price of executing a zillion separate cleartool processes if that's what you'd otherwise have to do.
The CAL documentation sucks, though. In Visual Studio, you can add CAL as a resource by finding the DLL in your resource explorer, and talk to it via COM like anything else.
If you aren't using VB or VB.NET (e.g. C#), you'll have to do a little more type-casting than you see in the sample documentation.
Related
I am currently trying to track down a problem in another persons agent. The agent crashes when it performs a lookup with a certain view in another database (I do not have designer access to it). In order to see whats wrong I wanted to take a look at the view and see if its empty or not. Problem is that I only have the "real name" of the view and navigation in Notes only gives me the "display name" which is totally different.
I searched the entire client if is possible to navigate to the view by "real name" but I did not find anything. Does anyone know?
If you have a properly installed Notes client, and a version of Windows which includes PowerShell, you can do the following after you open a Powershell prompt:
$ns = New-Object -COM Lotus.NotesSession
$ns.Initialize()
$db = $ns.GetDatabase("Server", "Filepath")
$db.Views | sort Name | ft Name, Aliases -auto
If the Notes type library is properly installed, you should execute the first command without issues.
If the client is properly installed and you entered the right password, the Notes session should have been properly initialized.
If the server and filepath are correct, the third instruction should execute without issues.
If all goes well, you will get a sorted list of all the views in the database, with their corresponding aliases (I think you are referring to the alias of a view when you refer to the "real name").
Edit: I should clarify that "all the views in the database" only includes the views that are visible for you. The database ACL may block you from accessing some views.
You can use the NotesPeek tool. It will let you explore everything in the database that you have rights to see, using a tree-style UI.
I hope this two tips will help you:
Shortcuts to open also hidden views in the database:
How to display hidden views in a Notes/Domino database
Or if point 1. does not help you try to make a toolbar action with the following formula:
OpenView #Command
and then, open the database where you think the view is and run the toolbar action.
If you are not familiar how you can make toolbar action mabye this link will help you:
Customize toolbar functionality and buttons
You know view's "real name" (= alias).
Create a button or agent somewhere with following LotusScript code:
Dim workspace As New NotesUIWorkspace
Call workspace.OpenDatabase("yourServer", "yourDatabasePath", "yourViewRealName")
or with following formula:
#Command([FileOpenDatabase]; "yourServer" : "yourDatabasePath"; "yourViewRealName")
and execute it in Notes Client. It will open the view.
As an alternative, copy the database to Local with the option "Application design only" and without option "Access Control List" and explore it in Designer.
I need to get a list of user names for every version listed in the version tree of an element, and then repeat for every element in the directory.
So far, I have come up with the following:
> cd M:\path\to\folder
> cleartool find . -version "created_since(01-January-1979.00:00:00)" -exec "cleartool describe -fmt ""%Lu\t%Fu\t%n\n"" %CLEARCASE_XPN%"
I chose a really old date thinking our VOB is younger than that date.
This gives me the same information for every version of an element because it's looking at the element owner, not the individual that contributed a specific version.
I'm using the following pages for reference:
http://www.ipnom.com/ClearCase-Commands/describe.html
http://www.ipnom.com/ClearCase-Commands/fmt_ccase.html
http://www.ipnom.com/ClearCase-Commands/find.html
http://www.ipnom.com/ClearCase-Commands/query_language.html
This might be a simple case of RTFM. Any help is appreciated.
You need to check if %n (used in the -fmt_case directive) returns the element name of the version name:
if it is the element name (without any extended path information, as in ##/main/.../x), then it would be normal for the cleartool describe to return always the same information.
if it is the extended path, as I would expect with %CLEARCASE_XPN%, then %u should be the user associated with the event (the version), and not the "element owner)
%u
Login name of the user associated with the event.
Small note, I always prefer using double-quotes around %CLEARCASE_XPN%, in case the path filename has a space in it.
-exec "cleartool describe -fmt ""%Lu\t%Fu\t%n\n"" \"%CLEARCASE_XPN%\""
Upon closer inspection, it looks like the command I posted above is sufficient. I saw a bunch of user names that were the same and thought they were all the same, but that's not true. I'm seeing different user names for different versions of the same element as I originally wanted.
If you work on a multisited VOB, do not forget that the owner of an object created on another site will be the VOB owner on your site. Therefore, if an object was created and modified only in a remote site, all of its tree and version would be owned by the VOB owner.
Of course, I assume you are in non preserving mode for identities for your replica synchronization (see the Changing preservation mode for mode infos). In most cases, you would not want replication to preserve identities, because each site has its own set of users.
Hello I'm coding a simple CRUDE application that runs perfectly using JSF and DB4O.
I can add and list all the entities normally without errors.
I've used this code to persist the entities
bd = Db4oEmbedded.openFile(configuration, "db.data");
bd.store(client);
bd.commit();
the problem is that I cant locate the db.data file. I,ve done a search in the whole PC and still cant find it.
soo where DB4O store those entities, how is it possible??
thank you.
It must be in your project execution path. Usually db4o file name is called with extension yap. Better you can use relative path to the database file like
String dbPath = "c:/db/project.yap"; // better read from project resource
EmbeddedObjectContainer openFile = Db4oEmbedded.openFile(dbPath);
I need to write a small R script for people who never used R before that imports a file and does some things with it. I would like to minimize user input as much as possible, and since assigning the file-path is basically all the user input required I was wondering, is it possible to get a popup screen (basically your usual "open file" screen) allowing someone to select a file (import the name as string in R or something)?
The file.choose function performs this, eg:
fname <- file.choose()
source(file.choose())
You may also want to look at choose.files (for multiple files) and choose.dir (for just selecting a directory path).
The tcltk package gives you tk_choose.files.
If you want to go beyond file choosers then you can use the package to build user interfaces.
It's worth mentioning rChoiceDialogs::rchoose.files. I'm not completely sold yet, but they advertise it as being completely cross platform and fixing the annoying problem common to choose.files and tk_choose.files of popping up behind other windows. See their vignette here.
We have a ad-hoc reporting projecto where we created several data source views (DSV) and several Report Models (SDML). Frequently we need to change the DSV associated to a particular SDML, but we only found it's reference in one place: the "Data Source View Name" property (availabe through the VS properties pane) of the sdml file.
We found absolutly no reference to it anywhere else, not even in the sdml xml code view. But, strangly enough, VS asks to check out the sdml file when we change that "Data Source View Name" property ... then makes no change to the checked out file.
Finally, when we close the project and reopen it, VS forgets that property setting. This behavior points to some kind of in-memory-only saving location for that setting ...
Are we missing something or does anybody noticed similar behavior?
Thanks.
Bruno Lopes
Look in your ReportModel.smdlproj file (the project file).
View it in notepad rather than double-click, as that will just launch Visual Studio.
In the <Models> section you'll find:
<Models>
<ModelProjectItem>
<Name>MySmdlName.smdl</Name>
<FullPath>MySmdlName.smdl</FullPath>
<DsvName>MyDsvName</DsvName>
</ModelProjectItem>
</Models>
This is how VS associates the dsv and the smdl files.
Why this association is getting lost when you deploy I don't know, but this may help.
You are right. I do not know if it is by design or anything else but you can try doing this:
After deploying smdl's to the Report Server, click on Edit in the Model Definition section for a smdl. This downloads the smdl and the xml seems to have the DataSourceView element in it!