My company uses ClearTeam Explorer for version control. Sometimes when either I or a co-worker apply a label, we get an error message. Today my comrade got
"An error occurred during a ClearCase operation.
CRMAP7009: CCRC command "WriteProperties" failed:
CCRC WANServer: Error: No permission to perform operaton "change event".
CCRC WAN Server:Error: Mustbe one of : user associated with event, object owner, element owner, VOB.."
According to the above message, you would think the operation failed, correct?
However, it appears looking at a random sampling of the files that everything was labeled correctly.
It is alarming to get this message and then find out it appears to have done what it said it didn't??? - There will always be lingering doubt unless you can verify that every single file was labeled properly.
Early on, I ignored this error and continued making labels for various versions. Now, I want to verify because I have lots of GB of files and there is no way I can hand verify everything.
Offhand, it seems like I want to make a view based on the date the label was created (maybe months ago) and then have a script to show any files that don't have a label.
Comparing files between 2 labels might work also provided at least one of the labels has "all the files" labeled?
Any guidance is appreciated.
According to the above message, you would think the operation failed, correct?
No, and there is an APAR PM79463 in progress on that one.
(an APAR is an Authorized Program Analysis Report, or APAR, that is: "a formal report to IBM development of a problem caused by a suspected defect in a current release of an IBM program")
(CTE = " ClearTeam Explorer")
Error description
User tried to apply label to an element on CTE, and error messages were shown although label was applied.
So user tried to apply label to an element on HomeBase in native client after logging in Windows as the same user as user who was used in CTE, and succeeded to apply label without errors.
If executed user is not the owner nor creator of the object but belongs the same group of VOB owner, the issue was occurred on CTE although the operation was succeeded on HomeBase.
Error messages are shown on pop up window as follows.
CRMAP7009: CCRC command 'WriteProperties' failed:
CCRC WAN Server Error: no permission to perform operation 'change event'
CCRC WAN Server Error: Must be one of : user associated with event:
object owner, element owner, VOB owner, member of ClearCase group
So you can try and put labels through the ClearCase HomeBase gui, which seems more robust.
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'm trying to modify one of the FireDAC sample projects in order to use an existing SQLite file as the database source. The sample works fine unmodified and connects to its database. However, I can't figure out where the database it connects to is specified, in order to change it.
According to the documentation, there should be a Database property on the TFDPhysSQLiteDriverLink component. There isn't: it doesn't exist. I even converted the form to text and looked through all components' customized properties, and there's no path defined anywhere. Nor is there in code - the sample is very small and there's no path defined at all.
The other option on the documentation is to include the FireDAC.Phys.SQLite unit, although that doesn't explain how to set the database, since as far as I can tell that unit just includes the component. And when I search for Database properties (see attached image) none of them in any class in that unit seem to be quite what I'm after. The closest is a string that's for a backup component - I doubt that's what I need. There is a SQLiteDatabase property in the TFDPhysSQLiteConnection class but that's read-only.
List of all Database properties defined in the FireDAC.Phys.SQLite unit
I also tried creating a temporary connection definition at runtime, by double-clicking the TFDConnection component. That only gives an exception:
Exception double-clicking the TFDConnection component
The only solution to this I found is in the XE5 documentation, where it says to set the $(PUBLICDOCUMENTSDIR) environment variable. I already had to do that to get the demo to run (previously, it threw the same exception on the line FDConnection1.Connected := True;; it doesn't now, the demo runs perfectly at runtime.) That change obviously hasn't affected the designer, and I don't even know if I'm looking in the right place, since after all the documentation talks about setting the Database property.
So I'm stumped. Where does it set the database? It's not in the DFM or any streamed properties; it's not in the property defined by the documentation (TFDPhysSQLiteDriverLink.Database doesn't exist, nor does anything that looks like it); it's not in the TFDConnection designtime editor (even though it throws an exception, a file specified as a property here would appear in the streamed DFM, I'd think); it's not in code; ...where else can it be?
(I have never used FireDAC before so am a complete noob, btw. I'm self-teaching via the documentation and samples.)
You don't actually need a TFDPhysSQLiteDriverLink for a minimalist FireDAC project, and using one rather confuses the issue if you're trying to make a connection to a database for the first time.
Try this:
Make a note of the name including path of a Sqlite db.
Start a new VCL project and drop a TFDconnection, TFDQuery, TDataSource & TDBGrid onto its form and connection them up. Set the TDFQuery's Sql to select * from some table you know exists in the db.
Right-click the TFDConnection and select Connection editor from the pop-up.
Set the DriverID to SQLite and insert your db name into the Database Value box.
Open the FDQuery.
If you compile and run the project, you'll get an exception telling you a class factory for a TFDGUIxWaitCursor is missing (this is the sort of thing I love about FireDAC), but that's easily fixed by dropping one onto your form. Notice that you don't have to connect it using the Object Inspector to any of the other FD components.
After that, you can add a TFDPhysSQLiteDriverLink and set its DriverID to the same as for the TFDConnection.
I ussualy roll my own class and handle the OnBeforeConnect event
Something like this
procedure TSQLiteConnection.SQLiteConnectionBeforeConnect(Sender: TObject);
begin
if not(TFile.Exists(DatabaseFilePath)) then
Params.Values['OpenMode'] := 'CreateUTF16'
else
Params.Values['OpenMode'] := 'ReadWrite';
Params.Values['Database'] := DatabaseFilePath;
DriverName := 'SQLite';
end;
The DatabaseFilePath is just a string field of the class, so basically you can put any file path there
TSQLiteConnection is, of course, a TFDConnection descendant
In ClearCase GUI, when I tried to check-in, an empty comment field will be shown, which I can fill in check-in messages.
Is it possible to set template for this message?
For example, when the team need to checkin, below message will be shown, and each team member can just fill in the commit message.
Reviewer:
Test suggestion:
Thanks
There is no native template mechanism that I know of.
You can try and see if the ClearCase environment variables could help, like setting in a pre-op checkin trigger a:
CLEARCASE_CMNT_PN
The path name of the file in which cleartool and multitool cache the most recent user-supplied comment. Defining or removing this EV enables or disables comment caching.
(and make sure that file contains a message template)
That thread from 2005 though mentions:
The CLEARCASE_* environment variables are effectively read only (changes to them have no effect.)
Some potential options are:
A) reject comments that do not meet your template and make the user fix them and redo the checkin/out
B) put a wrapper around checkout/in operations to meet your template needs
C) use 'ct chevent' to change the comment during a postop trigger
D) use attributes, hlinks, or labels to store the information instead of using the comment field. (You can apply the attributes, hlinks, or labels during the preop)
I'm thinking that C or D might be your better choices.
Within 'Pending Changes' RTC source control is listing my target folder as an outgoing change. My project is maven based. I have not made any changes to the target folder.
When I compare the target folder with the stream I am flowing to I there are no differences displayed :
Is there some other criteria that is causing the 'Pending Changes' view to list my target folder & how can I determine what change is being recognized by RTC ?
When I try and undo the changeset within the target folder I receive the error :
The little + in the black arrow above the 'target' directory means RTC detects said directory as a new element to be delivered.
That means you must have checked in that directory with the rest of your changes.
Generally, target should be ignored (ie never considered to be checked-in in the first place).
In your case, you should:
remove that directory from your changeset (assuming you didn't already complete the changeset): try undo on the target directory within your changeset.
(That would actually trigger, for a newly created element, the error message
"Undoing this change would produce an orphan with no parent folder").
Right-click and select "ignore"
(don't select "Reverse" on the changeset itself: it would roll back all the changes currently checked-in)
add it to your .jazzignore: the ignore option will add or create a .jazzignore, in order to declare your directory in it.
Of edit your .jazzignore if you have already one, with a content like:
core.ignore.recursive= \
{target}
Note: with ClearCase, the issue is different, since ClearCase doesn't detected what is private from what is checked-out (and you don't check out with RTC).
You need to ask explicitly for all private files or all checked out files.
When a deliver has been performed I can rightlick an entry in the GUI version/element log and it displays me a popup with the element log. Quite handy.
I now have a delivery with about 25 failed ones and a couple of hundred OK's. Sadly I can not sort on the column "status" so I have to make screenshots wherever I find a [!] to sit together with the specific team to find out if it is really ok to not deliver those.
It would however be handy to have this list of element logs from a deliver so that I do not have to make screenshots or copy the contents of the popup box one by one but just have a list of the failed ones with the element log.
Is there a way to export the element logs from a deliver (so the the ones that show up when you rightclick and choose "Display Element Log") and/or only the ones that gave failures?
Whenever a deliver fails graphically, one possible solution is to resume it through the command line (cleartool deliver -resume), grepping for the "cleartool Error" message.
At least that way, you have a text information to share.
Other than tat, I do not know of a way to export the deliver result directly from the GUI.