TRAC: Ordner Auswahldialog öffnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Proofin
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2016, 08:25

Moin Community,

ich versuche mich gerade darin ein Plugin für trac zu schreiben. Das funktioniert soweit auch ganz gut.
Jetzt möchte ich aber einen Ordner Auswahldialog von meinem Plugin aus starten und das funktioniert nicht.

ich habe versucht mit:

Code: Alles auswählen

tkFileDialog.askdirectory(title='Please select a directory', mustexist=1)
den Dialog zu öffnen. Das Plugin läuft auch bis zu dieser Stelle und dann läd sich die Web Seite zu tode.
Im Log steht leider auch nichts drin, d.h. für mich, das es kein Fehler gibt.

Jetzt meine Frage: Was mach ich falsch oder hat jemand eine andere Idee, wie ich das umsetzen kann?

Danke schon mal im Vorraus für eure Hilfe!
Gruß
Proofin
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Ich mag mich täuschen, aber Trac läuft doch serverseitig, oder? Was versprichst du dir davon, auf dem Server einen Dateidialog zu öffnen?
BlackJack

@Proofin: Das Plugin läuft auf dem Server und dort würde auch die GUI gestartet. Das nützt auf dem Client nichts. Wo soll der Benutzer denn einen Ordner auswählen können? Auf dem Server oder lokal?
Proofin
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2016, 08:25

Danke für eure Antworten.
Der Dialog soll schon beim Client aufgehen.

Was ich damit vorhabe ist, das wir in unseren Tickets ein Feld zu einem server-Verzeichnis haben. Dort liegen dann die Daten für das jeweilig Ticket.
Die Daten sind einfach zu groß, um sie direkt an das Ticket zu hängen.

Habt Ihr veilleicht eine Idee, wie ich das trotzdem hinbekomme?
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Was ich damit vorhabe ist, das wir in unseren Tickets ein Feld zu einem server-Verzeichnis haben
.
Das geht doch rein technisch nicht - der Client, der ja via HTTP oder HTTPS mit dem Server kommuniziert, kennt nur URLs, keine Verzeichnisse auf dem Server...

Willst du vielleicht im Ticket nicht nur einfach eine Downloadlink auf den Daten?

Gruß, noisefloor
Proofin
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2016, 08:25

Moin noisefloor,
der Daten Server ist nicht der trac Server. Die Daten liegen bei uns halt in userem Netzwerk.
Und ja man kann es als Download Pfad sehen. Bisher muß der Pfad von Hand in das Feld kopiert werden.
Im ticket sieht das dann inetwa so aus:
Link filer: \\server\Daten\Ticket123

Gruß
Proofin
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

axo. Trac kennt ja OOTB keine URL/URI-Felder. Eine Möglichkeit wäre, dass du ein Textfeld einfügst, wo man dann den Netzwerkpfad manuell einträgst. Allerdings ist das dann wohl wirklich Text und kein klickbarer Link auf eine URI. Sowas kennt Trac AFAIK nicht. Dazu müsstest du dir dann ein Plugin schreiben bzw. schauen, ob es nicht was fertiges gibt.

Gruß, noisefloor
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Proofin: Dein Wunsch ist grundsätzlich nicht möglich. Der Server auf dem TRAC läuft hat keinen Zugriff auf \\server\Daten, kann also nicht wissen, welche Dateien dort liegen und der Browser darf aus Sicherheitsgründen nicht (z.B. per Javascript) auf das lokale Netzwerk zugreifen.
Proofin
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2016, 08:25

@noisefloor:
Ja es ist aktuell schon ein Textfeld im Ticket. Und das reicht uns auch. Es ist ja nur für den Entwickler wichtig, wo die Daten liegen.

@Sirius3:
Trac soll mit den Daten nichts machen. Es ist nur eine Information für die weitere Bearbeitung des Tickets.

Im Prinzip verstehe ich das als das gleich wie ein Attachment. Nur mit dem Unterschied, das ich keine Datei auswähle sondern ein Ordner.
Und Dateien kann ich ja sehr wohl vom Client aus lokal auswählen.
Gibt es dann die Möglichkeit, dass man den Attachment Dialog dafür missbrauchen kann?
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Gibt es dann die Möglichkeit, dass man den Attachment Dialog dafür missbrauchen kann?
IMHO nein. Weil a) lässt der Dialog ja keine Auswahl von Ordnern zu, sondern nur Dateien und b) müsstest du den gesamten Programmablauf dahinter umschreiben, weil das Formular, welches den Auswahldialog enthält, standardmäßig eine POST-Request inkl. Übertragen der Daten auslöst.

Ihr könnten aber auch die Dateien ins Versionskontrollsystem einchecken - dann kannst du aus Trac direkt darauf verlinken.

Gruß, noisefloor
BlackJack

@Proofin: Das ist nicht das gleiche wie Attachements. Da wählst Du Dateien aus und der Server und auch das JavaScript bekommt deren Inhalt, aber nicht den lokalen Pfad zu fassen. Aus Sicherheitsgründen.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Proofin: auch wenn Du versuchst, per <input file>-Tag eine lokale Datei auszuwählen (Chrome bietet mit dem Attribut webkitdirectory auch an, ein Verzeichnis auszuwählen) kommst Du, außer beim Internet-Explorer nicht an den vollen Pfad heran. Firefox liefert immer nur den Dateinamen, Chrome den absoluten Pfad C:\FakeDirectory\Dateiname. Das dient alles der Sicherheit, damit nicht böse Webseiten Deinen Rechner nach lohnenden Angriffszielen durchsuchen können.
Proofin
User
Beiträge: 5
Registriert: Dienstag 17. Mai 2016, 08:25

Moin zusammen,

ich danke euch für eure Antworten.
Dann müssen wir auch weiterhin den Pfad per Hand reinkopieren.

Danke
Proofin
Antworten