Hallo, wir nutzen in der Fa. EAGLE und arbeiten auf dem Server. Allerdings kann es vorkommen, wenn 2 Leute gleichzeitig eine Datei öffnen und ändern, daß die Datei vom zuletzt speichernden Kollegen überschrieben wird. Ich Fände eine Abfrage wie bei WORD sehr hilfreich, die einem Bescheit gibt, daß die Datei geöffnet ist. Gibt es dafür ein Tool oder hat jemand eine andere praktikable Idee? Gruß Rolf
:
Verschoben durch Admin
Schwierig. Dafür is System halt nicht gedacht. Was mir aber pauschal so einfallen würde... Eagle über ein Batch/cmd starten... und beim start in eine Datei (Eagleverzeichnis) den Windowsuser eintragen.. oder einen Zähler... was auch immer. Wenn dann Eagle beendet wird, löscht das Batchprogramm auch wider den Eintrage/Datei. Das Batch-Programm überprüft beim starten aber obs schon Einträge gibt und warnt entsprechen... oder sperrt. Die ganz einfach Variante währ nur jeweile eine Datei mit $ntuser.act anzulegen. Ähnliches gibt auch unter Linux, da funktioniert das ganz gut. (PID-Files) Das alles erfordert aber Schreibberechtigung in den Verzeichnissen.
Hallo byte, im prinzip eine gute Idee, nur möchte ich das für einzelne Dateien (Projekte) haben. Es kann gut sein das unterschiedliche Kollegen an unterschiedlichen Projekten unter EAGLE arbeiten. Es müsste das EAGLE Projektverzeichnis auf dem Server permanent gescannt werden. Sobald ein Projekt geöffnet wird muss dann ein Eintrag in eine Datei erfolgen, welches Projekt von wem bearbeitet wird. (Wie kann man das Erkennen?) Für alle anderen user muss dann beim öffnen einens Projektes zuerst in diese Datei geschaut werden, wird ein bereits eingetragenes Projekt erneut geöffnet, bekommt man eine Meldung. Nur wie kann man das Umsetzten??? Gruß Rolf
Allersimpelste Variante wären Dateisperren: Kleines Shellskript, erst mit flock (siehe Manualseite) eine Sperre erwirken (oder halt abbrechen, falls schon gesperrt ist), dann Eagle starten. Zum Schluss die Sperre freigeben (passiert i.d.R. automatisch). Mit Windoof-Netzwerken (SMB) gabs früher(tm) ganz arge Proble mit den Dateisperren, sagte man. Das unter Vorbehalt, ich benutze sowas nicht.
Wie wärs einfach mit einer Versionsverwaltung? Ich persönlich vergewaltige Subversion seit ein paar Jahren (auch) für solche Sachen. Das Mergen von Binär- (EAGLE-) Files ist zwar (vermutlich) witzlos, aber Ihr könnt zahlreiche andere Funktionen (locken, branchen, taggen usw.) sicher sinnvoll einsetzen.
gab's da bei windows server bzw active directory geschichten nicht dieses shadowing, dass genau dafür gedacht ist, dass mehrere leute eine datei bearbeiten und diese verschiedenen versionen gespeichert werden ohne dass es zu konflikten oder verlusten kommt???
Schreib doch mal an die Entwickler (CadSoft) und schildere Ihnen Dein Problem, vielleicht können Sie eine Lösung in die nächste Version mit aufnehmen.
Hallo, danke für Eure Antworten. Der Beitrag von Sven klingt genau nach dem was ich suche. Nur wie gehe ich da vor? Hab so ein Skript noch nie verfasst. Hast Du einen Link mit guten Beispielen parat? Ich werde CadSoft aber auch mal anschreiben. Grüße Rolf
Richtig primitiv: Schreib das hier in eine .bat-Datei, mit der du das eagle-file öffnest.
1 | if exist %1.edt goto istoffen |
2 | |
3 | echo in bearbeitung > %1.edt |
4 | c:\programme\eagle\eagle.exe %1 |
5 | del %1.edt |
6 | goto exit |
7 | |
8 | :istoffen |
9 | echo DATEI IST IN BEARBEITUNG! |
10 | net send localhost DATEI IST IN BEARBEITUNG! |
11 | |
12 | :exit |
Idee und Funktion sind hoffentlich selbsterklärend. Anfälligkeiten: wird eine .brd-Datei geöffnet, wirkt der Schutz nicht für die .sch-Datei. Eine mächtigere Skriptsprache als batch wäre praktisch - ruby, python, usw.
Sven P. schrieb: > Allersimpelste Variante wären Dateisperren: Das klappt nicht, weil man dann ja selbst nicht speichern kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.