icon

Support Forum

[Frage] Projektveraltung Funktion "Verschieben nach" auf Server ARCHIV [Gelöst]

Schlagworte:
  • Projektverwaltung
  • Verschieben
  • Nach
  • Zeitstempel

Hallo zusammen,

unsere Projekte werden auf 2 Servern verwaltet. Wenn ich nun vom Server CAD2201 Projekte mit der Funktion R-Klick "Verschieben nach" anklicke und den Server CAD2201-ARCHIV als Ziel auswähle, dann geht der alte Zeitstempel und auch der eigentliche Eigentümer verloren. Jetzt trage ich unter der Spalte "Beschreibung" das Ursprungsdatum ein, damit wir nachvollziehen können, wann das Projekt tatsächlich in den Müll kann.
Früher haben wir die Projekte z.B. mit dem Total Commander verschoben, allerdings mussten wir dann aber immer einen ReOrg ausführen, der leider bei der Anzahl unserer Projekt fast 24 Stunden läuft.
Gibt es hier eine bessere Lösung?

Der Projektpilot bietet leider keine Möglichkeit, da er die Server gar nicht splittet, oder?
Ist das nicht dringend notwendig?

Gruß
Heike Koch

Anhänge (1)

Typ: image/png
54-mal heruntergeladen
Größe: 37,85 KiB

Lösung anzeigen Lösung verbergen

Zitiert von: koch_heike
aber das Erstellungsdatum ist nicht änderbar.

mit den PowerShell befehlen kann man das Erstellungsdatum eines Ordners ändern.

den Code als "KorrigiereDate.ps1" datei speichern und starten

(nur vorher noch C:\Data\Allplan\Allplan 2025\ anpassen in dem Script!)
eine mal da wo der Archiv Ornder liegt: projFile
und einmal mainFile (wo die der $NET Pfad liegt ..)

dann wird man nach dem Name des Projektordners gefragt
und dann nach dem Wunsch Datum

PS: nicht am Wort "Unix" im script Stören lassen:
das erwartete Datum ist ein wert im UNIX Timestamp format .. also 0 => 1.1.1970 oder heute 1763999822
https://www.epochconverter.com/

   # user nach projektname fragen
$projName = Read-Host "Projektname eingeben"

# pfade bauen
$projFile = "C:\Data\Allplan\Allplan 2025\Prj\$projName.prj\Project1.Dat.xml"
$mainFile = "C:\Data\Allplan\Allplan 2025\Prj\Project.Dat.xml"

# user nach datum fragen
$inputDate = Read-Host "Bitte Datum eingeben (YYYY-MM-DD)"

# datum parsen
$date = [datetime]::ParseExact($inputDate, "yyyy-MM-dd", $null)

# unix zeit
$unix = [int]([datetimeoffset]$date).ToUnixTimeSeconds()

# projektdatei laden
[xml]$projXml = Get-Content $projFile

# uuid holen
$uuid = $projXml.AllplanProjectData.Project.Uuid.ToString()

# main xml laden
[xml]$mainXml = Get-Content $mainFile

# richtigen project-knoten suchen
$node = $mainXml.AllplanProjectData.Project | Where-Object { $_.Uuid -eq $uuid }

if ($node -eq $null) {
    Write-Host "kein eintrag gefunden"
} else {
    $node.Created = $unix.ToString()
    $mainXml.Save($mainFile)
    Write-Host "Updated Created auf $unix"
}

Allplan Webentwicklung

Private messages must be private. No support request via Private message.

Anhänge (2)

Typ: image/png
42-mal heruntergeladen
Größe: 20,68 KiB
Typ: image/png
38-mal heruntergeladen
Größe: 13,35 KiB
11 - 15 (15)

Hallo,

vielen Dank für die schnelle Antwort. Ich bin mir noch nicht ganz sicher, ob ich das von Ihnen beschriebene Verfahren ausführen kann und all diese Schritte korrekt nachvollziehen kann.

Somit ein paar Anfängerfragen dazu:

Verstehe ich das richtig, dass ich damit bei jedem Verschieben ein Korrektur-Datum eingeben muss oder könnte?
Den obigen Code in Notepad+ unter dem Namen "KorrigiereDate.ps1" speichern / starten (?) und wo genau soll dann der Code mit den korrekt gebauten Pfaden abspeichern (Ordner Projektfile Archiv)?
Kann bei der Testung z.B. verschieben von einem Projekt, ein Schaden passieren oder kann ich das problemlos austesten?

Gruß
Heike

Wo das script gespeichert wird ist egal, nur nicht an einem Ort der von einem Software Update überschrieben wird. Sonst geht vielleicht das Script dabei verloren.

wichtig sind die beiden Einstellungen am Anfang des Scripts:

$projFile = "C:\Data\Allplan\Allplan 2025\Prj\$projName.prj\Project1.Dat.xml"
$mainFile = "C:\Data\Allplan\Allplan 2025\Prj\Project.Dat.xml"

1. die sorgen dafür, dass die Änderungen vorgenommen werden.
2. Die zeigen, welche Dateien sie vorher sichern sollten.

Wenn Sie das für ein Testprojekt "testkoch" im Archiv Ordner: Probieren wollen:

(wenn dazu fragen sind, bitte die Konfig zeigen)

beispiel analog dem, denn Bei ihnen ist ja vermutlich auf dem 1. Server der Netzmanager Pfad, d.h. den NET Pfad an zeigen lassen im Allmenü und unten eintragen
und beim anderen den Pfad zu ihrem Test Projekt

\\server-02\Allplan\Allplan 2025\Prj\testkoch.prj\Project1.Dat.xml
\\server-01\Allplan\Allplan 2025\net\Project.Dat.xml

Was kann schief gehen:
Die Pfade sind beide falsch eingetragen:
das script kann die dateien nicht lesen und wirft eine Fehlermeldung und nix passiert
alsoo hier kein Risiko

EINER der Pfade ist falsch eingetragen:
das script kann die datei nicht lesen und wirft eine Fehlermeldung
und die Änderung ist entweder nicht in Allplan sichtbar oder nicht dauerhaft (verschwindet nach einem 24h dauerndem Reorg)
.. je nach dem welcher der Pfade falsch ist

Das Projekt ist in Allplan geöffnet:
das script kann die dateien nicht speichern und wirft eine Fehlermeldung und nix passiert
Also auch kein Risiko

Somit: solange keine Fehlermeldung auftritt, alles gut.

und ja:
nach dem verschieben stimmt das ErstzellungsDatum nicht. Aber, mit dem Script können sie das ändern. Und damit stimmt ihre Vermutung, dass sie das jedesmal nach dem Verschieben machen müssten um das Datum zu korrigieren. (ist also auch nur eine notlösung/Workaround-. Aber besser als 24h zu warten und auf die ANpassung im Allplan Programcode, dass beim verschieben, das Datum NICHT geändert wird)

Allplan Webentwicklung

Private messages must be private. No support request via Private message.

Guten Tag,

vielen Dank für die schnelle und ausführliche Antwort!

Meine PS1-Datei scheint ja alles richtig zu machen, denn es kommt kein Fehler dabei raus.
Allerdings scheint mir noch ein entscheidender Schritt zu fehlen, denn das Datum wird in der Projektverwaltung noch nicht aktualisiert.

Ich habe auch einen Reorg für das benannte Projekt ausgeführt, allerdings bleibt die Darstellung des Datums unverändert.

Als Anlage die PS1-Datei, sowie ein paar Bilder zum Ergebnis.

Vielen Dank für die Hilfe!

Gruß
Heike

Anhänge (3)

Typ: text/plain
18-mal heruntergeladen
Größe: 1,20 KiB
Typ: image/png
18-mal heruntergeladen
Größe: 168,14 KiB
Typ: image/png
14-mal heruntergeladen
Größe: 9,68 KiB

ich bin nicht 100% sicher, aber

das dürfte die Zeile sein:
$mainFile = "\\cad2201\CAD\Allplan\Nemdaten\PRJ\Project.Dat.xml"

mainFile ist die HAUPT Datei in der alle Projekte drinnen stehen. und bei WorkGroup Manager müsste das eher so aussehen:

$mainFile = "\\cad2201\CAD\Allplan\Nemdaten\NET\Project.Dat.xml"

zum Eingrenzen welches die Haupt Datei ist, in der das Datum korrigiert werden muss:

Neues projekt anlegen und allplan beenden.

suchen nach "Project.Dat.xml" in den Festplatten auf dem Server Und, wenn mehrere da sind schauen, bei welcher sich das datum geändert hat.

Noch die Frage:
Warum das Powershell script das datum auch in der Projekt1.Dat.xml ändert??
damit bei "Reorg", "Projektliste wieder herstellen", die info in dem fall aus der Datei im Projekt mit dem gewünschten Datum geholt wird...

Allplan Webentwicklung

Private messages must be private. No support request via Private message.

Guten Morgen,

super, das hat jetzt wunderbar geklappt! :-)

Wie von Ihnen vermutet: Die Datei befindet sich im NET-Verzeichnis und im jeweiligen Projekt-Verzeichnis.

Vielen Dank für Ihre Hilfe und die weiteren Erklärungen zu diesem Thema, das ist gut zu wissen.

Viele Grüße
Heike

11 - 15 (15)