Autor
|
Thema: SmTeam32.ini (2361 mal gelesen)
|
floe Mitglied Application Engineer
Beiträge: 32 Registriert: 22.03.2004
|
erstellt am: 19. Apr. 2004 11:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum Weiss jemand wie man in R10 das Work Verzeichnis Userspezifisch anlegen kann? Das Work Verzeichnis wird ja im SmTeam32.ini definiert. Aber leider für alle User an der selben Machine gleich. Ich habe schon probiert das USER_DIR in der Userspezifischen SmTeam32.ini Datei zu definieren, hat aber nicht geklappt ;-( kann mir jeman weiterhelfen? Grüsse floe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 19. Apr. 2004 15:08 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Hi, im Login Event kannst Du ein Skript einhängen, indem das Verzeichnis gesetzt wird. Dieses hat sich jedoch mit der V5R11 erledigt, damit hast Du nun die Möglichkeit über den SMARTEAM File Explorer die Verzeichnisse zu definieren. Die Einstellungen werden dann unter den Local Settings des unter Windows - Angemeldeten Benutzers abgelegt. Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
floe Mitglied Application Engineer
Beiträge: 32 Registriert: 22.03.2004
|
erstellt am: 20. Apr. 2004 09:25 <-- editieren / zitieren --> Unities abgeben:
|
phimUoB Mitglied Ingenieur
Beiträge: 107 Registriert: 08.08.2003 CATIA/Smarteam V5R16 Linux, Oracle, VMWare
|
erstellt am: 05. Sep. 2005 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Hallo, Ich glaub ich steh grad ein wenig auf dem Schlauch: Wo soll das Skript eingehängt werden? In Skript Maintenace habe ich zwar eine 'On Login'-Operation, aber in Bezug auf eine bestimmte Objekt- oder Link-Klasse. Wenn ich die Local Settings für einen User lösche kommt ja von irgendwoher der Default Wert. Wo ist das? Unter smarteam.std.integration.config gibt es eine baseTempFolder Einstellung mit dem Default-Wert 'C:\Temp\Work'... Gruss, Beat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristianS Moderator Leiter Kundenbetreuung
Beiträge: 635 Registriert: 27.09.2000
|
erstellt am: 05. Sep. 2005 16:55 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Hi, das Script kam mal in den after Login auf oberster Klassenebene rein, da in der R10 das Userverzeichnis noch in der SmTeam32.ini gespeichert wurde. Ab R11 sind die Verzeichnisse 'Windows-User' orientiert abgelegt und damit war das Script in der Form nicht mehr notwendig. Der Defaultwert liegt bei C:\Dokumente und Einstellungen\{USERNAME}\Eigene Dateien\SmarTeam\Work --> Ich glaube das ist hart codiert, habe zumindest noch keinen Parameter dafür gefunden Wo das aktuelle UserVerzeichnis zu finden ist steht in C:\Dokumente und Einstellungen\{USERNAME}\Lokale Einstellungen\Anwendungsdaten\SmarTeam\{DATENBANK GUID}\SMARTEAM-FileCatalog-Main (In der R13, bei der R11 ohne das letzte Verzeichnis) Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KleinerMuck Mitglied
Beiträge: 111 Registriert: 12.08.2002
|
erstellt am: 05. Sep. 2005 18:52 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Hallo, das Skript kann aber nachwievor genutzt werden, um automtisiert einen anderen Pfad als den Standard-Pfad zu nutzen (was normalerweise manuell vom Benutzer eingestellt werden müsste). Wobei es durch die Verzeichnis-Umstellung seit den letzten Releases auch einfacher geht - wie angehängt zu sehen (ungetestet! - evt. kann man das $Admin auch durch $Local ersetzen)
Das Script ist hierfür m.E. am obersten Klassen-Knoten einzuhängen (beim Knoten ClassBrowser). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phimUoB Mitglied Ingenieur
Beiträge: 107 Registriert: 08.08.2003 CATIA/Smarteam V5R16 Linux, Oracle, VMWare
|
erstellt am: 06. Sep. 2005 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für floe
OK das Skript funktioniert. Vielen Dank. Ich will damit die Work Verzeichnisse auf ein Netzwerk-Share umleiten: Code: Function LoginLight(ApplHndl As Long, sOperation As String, FirstPar As Long, SecondPar As Long, ThirdPar As Long ) As Integer Dim SmSession As SmApplic.SmSession Dim UserName As String Dim WorkDir As String Set SmSession = SCREXT_ObjectForInterface(ApplHndl) 'Username UserName = SmSession.UserMetaInfo.UserLogin If UserName <> Empty Then 'UNC path to user working directory WorkDir = "\\domain_pdc\" & UserName & "\site\users\" & UserName & "\smarteam_work" SmSession.Config.Value("$Admin\Directory Structure\USER_DIR") = WorkDir Else MsgBox "User name not found" End If End Function
Das Share kommt von einem Linux/Samba-Server. Irgenwie gibt es aber noch Proleme mit den Zugriffsrechten. Beim Check-Out oder Copy werden zwar alle Files angelegt (inkl. SMARTEAM-FileCatalog), aber für jedes File kommt 2x die Meldung:
Warning No: 00751 Internal operation code REMOTE COPY failed on the vault server. Please check the reason for this failure on vault server at 'phimws22.unibe.ch'. und der Help Button bringt folgendes: Error Vault Write Failed An error has occurred within the operating system. Check if the resources of the operating system are too low. Welche Zugriffsrechte muss ein Work Directory haben. Reicht es nicht wenn der Client User Vollzugriff hat. Muss da auch der Vault Service User noch irgenwie rankommen?
Gruss, Beat
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KleinerMuck Mitglied
Beiträge: 111 Registriert: 12.08.2002
|
erstellt am: 06. Sep. 2005 17:00 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Hallo, die Meldung deutet darauf hin, dass die Option "Remote Copy To/From Working Directory" in den Administrator-Optionen von SMARTEAM aktiviert ist. Dadurch versucht der Vault-Server bei einem Checkout/NewRelease die Datei direkt in das Arbeits-Verzeichnis des Benutzers zu schreiben, sofern dieses nicht lokal liegt. Somit benötigt der Vault-Server Dienst Schreibrechte in dem work-Verzeichnis. Ohne die Option wird der Schreibvorgang vom client und damit mit den Rechten den Windows Benutzers durchgeführt.
Bleiben also 2 Alternativen: - Der UserID, unter welcher der Vault-Dienst läuft, Schreibrechte im Share der Work-VErzeichnisse gewähren - Die entsprechende Option deaktivieren (wird aber die Performance beeinflussen) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phimUoB Mitglied Ingenieur
Beiträge: 107 Registriert: 08.08.2003 CATIA/Smarteam V5R16 Linux, Oracle, VMWare
|
erstellt am: 07. Sep. 2005 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Genau das war das Problem, vielen Dank. Jetzt funktioniert es perfekt. Bei setzen des Working Directory gibt es nun noch das Problem dass der Pfad den User Name des Windows User beinhalten sollte und nicht den Smarteam User. Weis jemand wie man im Skript den Windows User herausfindet? Gruss, Beat [Diese Nachricht wurde von phimUoB am 07. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KleinerMuck Mitglied
Beiträge: 111 Registriert: 12.08.2002
|
erstellt am: 07. Sep. 2005 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Auszug aus der VBScript Doku von Microsoft: Set WshNetwork = WScript.CreateObject("WScript.Network") WScript.Echo "Domain = " & WshNetwork.UserDomain WScript.Echo "Computer Name = " & WshNetwork.ComputerName WScript.Echo "User Name = " & WshNetwork.UserName Um es in einem ST-Script zu verwenden, ist die erste Zeile wie folgt zu ändern: Set WshNetwork = CreateObject("WScript.Network") msgbox "Domain = " & WshNetwork.UserDomain msgbox "Computer Name = " & WshNetwork.ComputerName msgbox "User Name = " & WshNetwork.UserName
[Diese Nachricht wurde von KleinerMuck am 08. Sep. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
phimUoB Mitglied Ingenieur
Beiträge: 107 Registriert: 08.08.2003 CATIA/Smarteam V5R16 Linux, Oracle, VMWare
|
erstellt am: 08. Sep. 2005 16:22 <-- editieren / zitieren --> Unities abgeben: Nur für floe
Noch mal vielen Dank, Für alle die auch mal sowas suchen hier nun mein fertiges Skript: Code: Option Explicit'--------------------------------------------------------------------------- ' This Script sets the user working directory '--------------------------------------------------------------------------- Function LoginLight(ApplHndl As Long, sOperation As String, FirstPar As Long, SecondPar As Long, ThirdPar As Long ) As Integer Dim SmSession As SmApplic.SmSession Dim UserName As String Dim WorkDir As String Dim OldWorkDir As String Dim wsNetwork As Object Dim fso As Object LoginLight = Err_NONE Set SmSession = SCREXT_ObjectForInterface(ApplHndl) 'Username Set wsNetwork = CreateObject("WScript.Network") UserName = wsNetwork.UserName 'UNC path to user working directory WorkDir = "\\vaultserver\SmVaults\WorkingDirectories\" & UserName 'Change user working directory if folder exists Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists(WorkDir)) Then OldWorkDir = SmSession.Config.Value("$Admin\Directory Structure\USER_DIR") If OldWorkDir <> WorkDir Then SmSession.Config.Value("$Admin\Directory Structure\USER_DIR") = WorkDir MsgBox "SmarTEAM Working Directory changed: " & WorkDir End If Else MsgBox "SmarTEAM Working Directory """ & WorkDir & """ doesn't exist." End If End Function
Als erstes hatte ich mal die Option "Remote Copy To/From Working Directory" deaktiviert. Das funktionierte, eben halt mit weniger Performance. Mit aktivierter Option habe ich noch ein Problem mit den Zugriffsrechten:
Error No: 00307 An error occurred in obtaining the file mode for 'CATPRT-000421.CATPart' located in folder '\\vaultserver\SmVaults\WorkingDirectories\bz'. Dies obwohl der vault service User da Schreibrechte hat, sogar 'Full Control'. Wie gesagt, dass Share kommt von einem Samba Server. Eventuell gibt es da Probleme zwischen Windows/Unix
Gruss, Beat
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |