Compare commits
11 Commits
c3c214dfed
...
2.9.8-Rele
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7694da3192 | ||
|
|
eb826009f8 | ||
|
|
018cbc5ae0 | ||
|
|
e4d6734b03 | ||
|
|
61f6029001 | ||
|
|
de47ed9f3b | ||
|
|
e9a78cf6a4 | ||
|
|
b3848af701 | ||
|
|
a374b55ba2 | ||
|
|
a0ec897784 | ||
|
|
8f894d582d |
@@ -14,7 +14,6 @@ Public Class ClassNIProfile
|
||||
xmlConfigFile = oConfigPath
|
||||
ClassNIProfile.LoadFromXmlFile()
|
||||
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
|
||||
_windream.Init()
|
||||
End Sub
|
||||
Public Shared Function IsXmlAccessable() As Boolean
|
||||
Dim xml As New Xml.XmlDocument
|
||||
|
||||
@@ -393,13 +393,13 @@ Public Class ClassWD_Rechte
|
||||
End Function
|
||||
Private Function WorkRight(_methode As String, createdFolder As String, _form As Boolean, oWMObject As WINDREAMLib.WMObject, deleteRights As Boolean, folgeRegel As Boolean, _UserOrGroup As String,
|
||||
_GruppenUserRecht As String, _lRight As Integer) As Boolean
|
||||
Dim Object2Change As WINDREAMLib.WMObject = Nothing
|
||||
Try
|
||||
Dim _Erfolgreich As Boolean = True
|
||||
Dim UserGroupRelation
|
||||
Dim UserOrGroup
|
||||
Dim oGroup
|
||||
Dim oUSer
|
||||
Dim Object2Change As WINDREAMLib.WMObject
|
||||
If _methode = "AddRightFolder" Then
|
||||
Object2Change = oWMObject.aParentWMObject
|
||||
ElseIf _methode = "AddRightCreatedFolder" Then
|
||||
@@ -731,6 +731,13 @@ Public Class ClassWD_Rechte
|
||||
Return _Erfolgreich
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
Try
|
||||
If Object2Change IsNot Nothing AndAlso Object2Change.aLocked Then
|
||||
Object2Change.unlock()
|
||||
_Logger.Debug("WorkRight Catch: Object2Change unlocked after error.")
|
||||
End If
|
||||
Catch
|
||||
End Try
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
@@ -49,7 +49,20 @@ Public Class ClassWindream_allgemein
|
||||
' Process.GetCurrentProcess.Kill()
|
||||
End If
|
||||
End Sub
|
||||
Private Sub LogoutCurrentSession()
|
||||
If Not IsNothing(CURRENToWMSession) Then
|
||||
Try
|
||||
CURRENToWMSession.Logout()
|
||||
Catch
|
||||
' ignorieren – Session war evtl. schon tot
|
||||
End Try
|
||||
CURRENToWMSession = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function GetWMSessionAsUser(Domain, ServerName, UserName, Password)
|
||||
LogoutCurrentSession()
|
||||
|
||||
Dim SessionAsUser
|
||||
Dim aConnect, aUserId, aSession
|
||||
On Error Resume Next
|
||||
@@ -95,10 +108,24 @@ Public Class ClassWindream_allgemein
|
||||
SessionAsUser = aSession
|
||||
If aSession.aLoggedin = True Then
|
||||
_Logger.Debug($"#Impersonate login [{UserName}] successfull!")
|
||||
Return SessionAsUser
|
||||
Me.oWMSession = aSession
|
||||
CURRENToWMSession = aSession
|
||||
CURRENToWMSession_Created = Now
|
||||
Me.oObjekttypen = aSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
|
||||
If Err.Number <> 0 Then
|
||||
_Logger.Warn("Fehler beim Laden der Objekttypen nach Impersonate-Login: " & Err.Description)
|
||||
Err.Clear()
|
||||
End If
|
||||
Me.oOrdnerTypen = aSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityFolder)
|
||||
If Err.Number <> 0 Then
|
||||
_Logger.Warn("Fehler beim Laden der Ordnertypen nach Impersonate-Login: " & Err.Description)
|
||||
Err.Clear()
|
||||
End If
|
||||
Return True
|
||||
End If
|
||||
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
@@ -107,25 +134,30 @@ Public Class ClassWindream_allgemein
|
||||
''' <returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function Init() As Boolean
|
||||
Dim oHourDifference As Integer
|
||||
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
|
||||
|
||||
If IsNothing(CURRENToWMSession) Or oHourDifference >= 2 Then
|
||||
If IsNothing(CURRENToWMSession) OrElse Not CBool(CURRENToWMSession.aLoggedin) Then
|
||||
If WMLOGIN_DOMAIN <> String.Empty Then
|
||||
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
|
||||
Return GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
|
||||
Else
|
||||
GetWMSession()
|
||||
Return GetWMSession()
|
||||
End If
|
||||
|
||||
Else
|
||||
If My.Settings.vLogErrorsonly = False Then _Logger.Debug("WMSession already created!")
|
||||
oWMSession = CURRENToWMSession
|
||||
If IsNothing(oObjekttypen) Then
|
||||
oObjekttypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
|
||||
End If
|
||||
If IsNothing(oOrdnerTypen) Then
|
||||
oOrdnerTypen = oWMSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityFolder)
|
||||
End If
|
||||
Return True
|
||||
End If
|
||||
|
||||
|
||||
End Function
|
||||
Private Function GetWMSession()
|
||||
LogoutCurrentSession()
|
||||
|
||||
Try
|
||||
Try
|
||||
' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen
|
||||
@@ -530,6 +562,9 @@ Public Class ClassWindream_allgemein
|
||||
''' <remarks></remarks>
|
||||
Public Function IsLoggedIn() As Boolean
|
||||
Try
|
||||
If IsNothing(Me.oWMSession) Then
|
||||
Return False
|
||||
End If
|
||||
Return Me.oWMSession.aLoggedin
|
||||
Catch ex As Exception
|
||||
clsHelper.Add_Application_log("Unexpected error in Windream.IsLoggedIn: " & ex.Message)
|
||||
|
||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.9.9.0")>
|
||||
<Assembly: AssemblyVersion("2.10.1.0")>
|
||||
<Assembly: AssemblyFileVersion("2.9.9.0")>
|
||||
|
||||
@@ -87,7 +87,7 @@ Public Class clsNIFulltext
|
||||
End If
|
||||
Else
|
||||
'Es gibt nur From, also auch nur einen Wert
|
||||
If Pos_From = oCountMatchedElements Then
|
||||
If Pos_From = i Then
|
||||
'Das Ende ist erreicht - Ausstieg
|
||||
ReDim Preserve Ergebnis(0)
|
||||
Ergebnis(0) = Convert.ToString(g.ToString)
|
||||
|
||||
@@ -68,17 +68,9 @@ Public Class frmNIHauptseite
|
||||
_windreamNI = New ClassNIWindream(_MyLogger)
|
||||
database = New ClassNIDatenbankzugriff(_MyLogger)
|
||||
|
||||
|
||||
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
|
||||
If _windreamNI.Init() = False Then
|
||||
_Logger.Warn("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert.")
|
||||
Exit Sub
|
||||
|
||||
End If
|
||||
'ClassMoveRenameLogger.Init("", "MoveRename_", True)
|
||||
|
||||
|
||||
|
||||
AddHandler bwProfil.DoWork, AddressOf bwProfil_DoWork
|
||||
AddHandler bwProfil.RunWorkerCompleted, AddressOf bwProfil_RunWorkerCompleted
|
||||
AddHandler bwProfil.ProgressChanged, AddressOf bwProfil_ProgressChanged
|
||||
@@ -932,9 +924,9 @@ Public Class frmNIHauptseite
|
||||
_Logger.Debug(">> _fulltext initialized.")
|
||||
fulltext = pMyWMDoc.GetVariableValue(aktivesProfil.Desk_windreamIndex)
|
||||
If Len(fulltext) > 0 Then
|
||||
_Logger.Info($"{aktivesProfil.Desk_windreamIndex} is empty...")
|
||||
_Logger.Info($"Volltext aus [{aktivesProfil.Desk_windreamIndex}] erfolgreich extrahiert.")
|
||||
Else
|
||||
_Logger.Info($"## No fulltext from [{aktivesProfil.Desk_windreamIndex}] extracted!")
|
||||
_Logger.Info($"## Kein Volltext aus [{aktivesProfil.Desk_windreamIndex}] extrahiert - versuche 'Manueller Volltext'...")
|
||||
fulltext = pMyWMDoc.GetVariableValue("Manueller Volltext")
|
||||
End If
|
||||
If Len(fulltext) > 0 Then
|
||||
@@ -1921,7 +1913,7 @@ Public Class frmNIHauptseite
|
||||
If adReworkOk = False Then
|
||||
_Logger.Warn($"## Nachbearbeitung AD für [{pMyWMDoc.aName}] fehlgeschlagen - Error-Index wird gesetzt")
|
||||
File_SetBooleanIndex(True, pMyWMDoc, aktivesProfil.IndexValidation)
|
||||
SetErrorMeldung("Rechtevergabe fehlgeschlagen", pMyWMDoc, aktivesProfil.IndexFehler)
|
||||
File_SetBooleanIndex(True, pMyWMDoc, aktivesProfil.IndexFehler)
|
||||
End If
|
||||
Else
|
||||
If aktivesProfil.NachbearbeitungAD = True Then
|
||||
@@ -2555,12 +2547,22 @@ Public Class frmNIHauptseite
|
||||
'Ab Hier Error prüfen
|
||||
Sub File_SetBooleanIndex(ByVal _value As Boolean, ByVal _dok As WINDREAMLib.WMObject, ByVal _Indexname As String)
|
||||
Try
|
||||
_Logger.Debug($"File_SetBooleanIndex called: Index=[{_Indexname}] Value=[{_value}] Doc=[{If(_dok IsNot Nothing, _dok.aName, "NULL")}]")
|
||||
If _Indexname <> "" Then
|
||||
'Überprüfen ob Boolean-Value bereits gesetzt wurde?
|
||||
Dim akt_Status As Boolean = CBool(_dok.GetVariableValue(_Indexname))
|
||||
Dim akt_Status As Boolean = False
|
||||
Try
|
||||
Dim rawValue As Object = _dok.GetVariableValue(_Indexname)
|
||||
_Logger.Debug($"File_SetBooleanIndex: rawValue=[{If(rawValue IsNot Nothing, rawValue.ToString, "NULL")}]")
|
||||
If rawValue IsNot Nothing Then
|
||||
akt_Status = CBool(rawValue)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
_Logger.Debug($"File_SetBooleanIndex: GetVariableValue threw exception - treating as False. Error: {ex.Message}")
|
||||
akt_Status = False
|
||||
End Try
|
||||
If akt_Status <> _value Then
|
||||
'Index muß angepasst werden
|
||||
_Logger.Debug("Validation Index not set to '" & _value.ToString & "'.")
|
||||
_Logger.Debug($"File_SetBooleanIndex: writing [{_value}] to index [{_Indexname}]")
|
||||
Dim arrIndex() As String = Nothing
|
||||
Dim arrValue() As String = Nothing
|
||||
'Nun die Datei indexieren
|
||||
@@ -2585,6 +2587,8 @@ Public Class frmNIHauptseite
|
||||
'Validation muß nicht angepasst werden
|
||||
_Logger.Debug("Validation Index already set to '" & _value & "'.")
|
||||
End If
|
||||
Else
|
||||
_Logger.Warn($"File_SetBooleanIndex: _Indexname is empty - no index written! (Doc=[{If(_dok IsNot Nothing, _dok.aName, "NULL")}] Value=[{_value}])")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
_Logger.Warn("Error in File_SetBooleanIndex")
|
||||
|
||||
@@ -635,7 +635,7 @@ Partial Class frmNIProfileigenschaften
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(624, 83)
|
||||
Me.GroupBox1.TabIndex = 70
|
||||
Me.GroupBox1.TabStop = False
|
||||
Me.GroupBox1.Text = "Indexname - Nachindexierung fehlerhaft:"
|
||||
Me.GroupBox1.Text = "Indexname - Nachindexierung/Nachbearbeitung fehlerhaft:"
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
@@ -701,7 +701,7 @@ Partial Class frmNIProfileigenschaften
|
||||
Me.GroupBox2.Size = New System.Drawing.Size(624, 83)
|
||||
Me.GroupBox2.TabIndex = 75
|
||||
Me.GroupBox2.TabStop = False
|
||||
Me.GroupBox2.Text = "Dauerhafte Kennzeichnung - Fehler bei Indexierung:"
|
||||
Me.GroupBox2.Text = "Dauerhafte Kennzeichnung - Fehler bei Nachindexierung/Nachbearbeitung:"
|
||||
'
|
||||
'Label8
|
||||
'
|
||||
@@ -1007,7 +1007,6 @@ Partial Class frmNIProfileigenschaften
|
||||
'
|
||||
Me.grpbxMORE.Controls.Add(Me.btnMoveRename)
|
||||
Me.grpbxMORE.Controls.Add(Me.Label21)
|
||||
Me.grpbxMORE.Enabled = False
|
||||
Me.grpbxMORE.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.grpbxMORE.Location = New System.Drawing.Point(6, 104)
|
||||
Me.grpbxMORE.Name = "grpbxMORE"
|
||||
|
||||
@@ -161,7 +161,7 @@ einen Startindex erhält, der nicht in der Datenbank existiert. Diese Kennzeichn
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAK
|
||||
CQAAAk1TRnQBSQFMAgEBAgEAAdABAAHQAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CQAAAk1TRnQBSQFMAgEBAgEAAeABAAHgAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
||||
@@ -1109,11 +1109,6 @@ Public Class frmNIProfileigenschaften
|
||||
End Sub
|
||||
|
||||
Private Sub frmNIProfileigenschaften_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If LICENSE_MoveRename = True Then
|
||||
grpbxMORE.Enabled = True
|
||||
Else
|
||||
grpbxMORE.Enabled = False
|
||||
End If
|
||||
If Me._selectedProfile Is Nothing Then
|
||||
Me.pnlProfileigenschaften.Visible = False
|
||||
Else
|
||||
|
||||
5
ToolCollection/frmNIVerknuepfungen.Designer.vb
generated
5
ToolCollection/frmNIVerknuepfungen.Designer.vb
generated
@@ -1461,9 +1461,10 @@ Partial Class frmNIVerknuepfungen
|
||||
Me.Label27.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label27.Location = New System.Drawing.Point(7, 14)
|
||||
Me.Label27.Name = "Label27"
|
||||
Me.Label27.Size = New System.Drawing.Size(120, 13)
|
||||
Me.Label27.Size = New System.Drawing.Size(761, 13)
|
||||
Me.Label27.TabIndex = 22
|
||||
Me.Label27.Text = "2. Regular Expression:"
|
||||
Me.Label27.Text = "2. Regular Expression: ACHTUNG: REGEX DARF NUR AUS EINER MATCHING GROUP BESTEHEN," &
|
||||
" DA ES SONST FEHLER BEIM INDEXIEREN VERURSACHT!"
|
||||
'
|
||||
'GroupBox4
|
||||
'
|
||||
|
||||
Reference in New Issue
Block a user