Ich habe zwei Drittanbieter-Komponenten für die PDF-Dokumentgenerierung verwendet (in .NET, aber ich denke, das ist ein plattformunabhängiges Thema). Ich werde die Firmennamen für jetzt herauslassen, aber ich werde sagen, sie sind nicht extrem bekannte Anbieter.Ist es üblich/angemessen, dass Komponenten von Drittanbietern das Dateisystem nicht dokumentiert verwenden?
Ich habe festgestellt, dass beide Produkte undokumentiert Verwendung des Dateisystems machen (d. H. Put temporäre Dateien auf der Festplatte). Das hat ein Problem für mich in meiner ASP.NET-Webanwendung erstellt, da ich jetzt die Dateispeicherorte identifizieren und Berechtigungen für sie entsprechend festlegen muss. Da meine Webanwendung für den Identitätswechsel mit Windows-Authentifizierung eingerichtet ist, bedeutet dies im Wesentlichen, dass ich Schreibberechtigungen für einige Dateispeicherorte auf meinem Webserver zuweisen muss.
Keine große Sache, sobald ich herausgefunden habe, warum die Komponenten versagten, aber ... ich sehe das als ein Wartungsproblem. Was passiert, wenn wir unsere Server auf ein Betriebssystem aktualisieren, das einen der temporären Dateispeicherorte ändert? Was passiert, wenn der Anbieter den Speicherort der temporären Datei ändert? Unsere Anwendung wird "brechen", ohne eine Zeile unseres Codes zu ändern. Zugehörig, aber wenn wir diese Anwendung auf einer "frischen" Maschine (unabhängig von der Umgebung) aufstellen müssen, müssen wir über dieses Problem Bescheid wissen und die Berechtigungen entsprechend festlegen.
Unglücklicherweise bieten die Komponenten keine Möglichkeit, diesen temporären Dateipfad "konfigurierbar" zu machen, was zumindest etwas deutlicher machen würde, was unter den Abdeckungen vor sich geht. Dies ist
nicht wirklich eine Frage, die ich beantworten muss, sondern eher ein Kick-off für ein Gespräch darüber, ob, was diese Komponente Anbieter tun, ist angemessen, wie dies sollte für die Nutzer dokumentiert/mitgeteilt, usw.
Gedanken? Meinungen? Bemerkungen?
Name & Schande, so können wir schäbig Software-Hersteller vermeiden –
Ich weiß nicht die konkrete Antwort für Ihre Frage, aber: wenn .NET, dann Reflektor. (http://www.red-gate.com/products/reflector/) – boj
Guten Ruf auf Reflektor. Ich muss das wirklich in meiner Liste der Fehlerbehebungsschritte für jede Projekt-/Codebasis nach oben verschieben. – Brian