Where's my old Borland blog?
I think the folks at Borland have finally removed my StarTeam blog. With the inception of CodeGear, CG seemed to take over the blog server, and removed me.
I honestly haven't touched it since leaving Borland, but several former colleagues and customers have emailed me wondering if the content is still available somewhere (I had a lot of how-to's and SDK samples posted). I honestly don't think it's archived anywhere, but I've asked the CodeGear folks via email, and will post the URL if it's still posted somewhere.
Comments
- Anonymous
February 15, 2008
Hi Steve, I want to generate a report to list all the files in StarTeam that are locked in all the views in a project? Basically I am looking for a report which says the following File - Locked by - Comments - LockedDate File A - ViewB - DeveloperX-Comments File A - ViewC - DeveloperY-Comments File B - ViewB - DeveloperZ-Comments I searched through the internet and found a script that list all the files in all the projects. It was posted in Codegear by someone but it was mentioned that you helped him writing this script. If yes Could you please help me in this? Regards Vijay This is the script
' This code provided by Steve Lange, tweaked by Mark Creamer for my environment's needs ' Thanks Steve for this incredibly valuable script!! ' VBScript source code ' The StarTeam URL to connect to the server ' Enter between the quotes in this format: user:password@server:port const strURL= "user:password@server:port" ' The output file path const strOutputFile = "c:filelist.txt" ' The field delimiter for the output file const strDelimiter = "|" '======================================================== ' Get going.. '======================================================== ' StarTeam Variables Dim oFinder, oServer, oProject, oView, oFLMFact, oFLM, oILMFact, oILM, oType, oFile ' File System Variables Dim oFSO, oFSOFile echo "Connecting to StarTeam.." Set oFinder = WScript.CreateObject("StarTeam.StStarTeamFinderStatics") Set oServer = oFinder.openServer(strURL) echo "Connected." ' Create the ..ListManager Factories Set oFLMFact = WScript.CreateObject("StarTeam.StFolderListManagerFactory") Set oILMFact = WScript.CreateObject("StarTeam.StItemListManagerFactory") ' Get "File" type Set oType = oServer.typeForName(oServer.TypeNames.FILE) ' Open output file echo "Opening output file.." set oFSO = WScript.CreateObject("Scripting.FileSystemObject") OpenFile ' Process Projects echo "Processing projects.." For Each oProject in oServer.Projects echo vbTab & oProject.Name Set oView = oProject.DefaultView Set oFLM = oFLMFact.Create(oView) oFLM.includeFolders oView.RootFolder, -1 Set oILM = oILMFact.Create(oType, oFLM) echo vbTab & "Logging " & oILM.ItemsArray.Count & " files.." For Each oFile in oILM.ItemsArray echo vbTab & oFile.Name Log oProject.Name & strDelimiter & oFile.ParentFolderHierarchy & strDelimiter & oFile.Name Next Next echo "Done processing projects." ' Close output file echo "Closing output file.." CloseFile ' Disconnect from the server. echo "Disconnecting from StarTeam.." oServer.disconnect echo "Done!" ' Clean up Set oFile = Nothing Set oType = Nothing Set oILM = Nothing Set oILMFact = Nothing Set oFLM = Nothing Set oFLMFact = Nothing Set oView = Nothing Set oProject = Nothing Set oServer = Nothing Set oFinder = Nothing '======================================================== ' Functions & Subs '======================================================== ' Convenience method for writing to the command window Sub echo(txt) WScript.Echo txt End Sub ' Open output file Sub OpenFile() Set oFSOFile = oFSO.CreateTextFile(strOutputFile, true) End Sub ' Close output file Sub CloseFile() oFSOFile.Close End Sub ' Write to output file Sub log(txt) oFSOFile.WriteLine txt End Sub
- Anonymous
February 20, 2008
Hi Vijay, It's been quite some time since I wrote this script (think 3+ years), and I'm not sure what would need updating to work with the more recent versions of StarTeam. It looks like this script will get you close, except that you want to scope your script to a given project, and you want to output comments and who/when the file is locked. There is a property name (PropertyNames.EXCLUSIVE_LOCKER) that will get the user id of the user with the lock (or -1 if it's not locked), and .Comment will give you the comment of the latest revision. However, to my recollection (again, it's been a few years since I hacked away at the StarTeam SDK), there isn't a way to get a timestamp of when a lock was created. And comments are only created when revisions are created, so there isn't a "lock comment" necessarily. Sorry I can't be of more help.