SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




WSS3 - Dialog, Überschreiben von Dokumenten?

Unbeantwortet Dieser Beitrag hat 11 Antworten

Ohne Rang
168 Beiträge
niceoldlady erstellt 12 Mai 2010 08:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

du könntest versuchen das ganze über einen ItemAdding- Event- Handler umzusetzen.

MfG

Alle Antworten

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 12 Mai 2010 09:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das würde mich auch interessieren, ob das im Stil eines "Möchten Sie wirklich..." Dialogs möglich ist. Event-Handler wird funktionieren denke ich, aber kenne ich nur so, dass man auf eine Fehlerseite weitergeleitet wird. 

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Mai 2010 09:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Versuch doch auf eine andere Seite umzuleiten mit Server.Transfer(<url>, true);. Da kannste dir deine eigene aspx seite angeben und dort fragen. Die nötigen parameter übergeben. Würd mich auch mal interessieren ob das geht :)

MfG

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 12 Mai 2010 09:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moin,

Alternativ müsstest du wohl mit JavaScript arbeiten.

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Mai 2010 10:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

du könntest die Datei Upload.aspx im Layoutsordner editieren und die CheckBox enable="false" und immer auf checked="false" setzen. Leider beeinflusst das aber alle Seiten auf deinem Server. Und diese Funktion ist nicht mehr verfügbar.

MfG

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 12 Mai 2010 10:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist möglich ja, wird aber nicht von Microsoft unterstützt. Man kann die C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\Upload.aspx bearbeiten und das Häkchen rausnehmen. Das gilt dann für alle Dokumentenbibliotheken! Diese Vorlage kann zudem ggf. durch ein Servicepack oder Hotfix wieder mit dem Standard überschrieben werden!

Leider weiss ich nicht ob/wie man eine Dokumentenbibliothek spezifische Upload.aspx verwenden kann. Ich wollte gerade etwas entsprechendes mit Javascript versuchen. Dabei musste ich aber leider feststellen, dass ich mit toolpaneview=2 kein Webpart in die Seite einfügen kann. Änderungen an Dokbib/Forms/Upload.aspx scheinen überhaupt keine Auswirkung zu haben. Es wird immer die oben genannte im Layouts Ordner verwendet. Gibt es eine Möglichkeit eine Dokumentenbibliothek spezifische Upload.aspx zu verwenden/bearbeiten?

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Mai 2010 10:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Änderungen werden erst Wirksam, bei allen Dateien in den Layout- Ordnern, nach einem IIS- Reset. Nur ma am rande ;) Hab dich erst falsch verstanden :D

Leider benutzt die Dokumentbibliothek nicht die "eigene" unter Forms, wie anzunhemen (oder eher zu erhoffen?), sondern die \TEMPLATE\LAYOUTS\Upload.aspx.

Eine saubere Lösung wäre eine Solution mit einer CustomAction zum Hochladen für Dokumente. Da kannst du auch deine eigene Upload- Form mitliefern welche der original entspricht, außer halt die Checkbox.

MfG

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 12 Mai 2010 10:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aber ich frage mich dann wofür ist die Form im Dokumentenbibliothek/Forms Verzeichnis, wenn immer die Form aus dem Layouts verzeichnis verwendet wird? Wenn ich Dokumentenbibliothek/Forms/Upload.aspx aufrufe werde ich auch einfach weitergeleitet nach _Layouts/Upload.aspx

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 12 Mai 2010 10:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

hehe, sher gute frage :)

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 12 Mai 2010 13:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hier gibts das ganze mit eigener Upload.aspx und rotem Fehlertext unter dem Eingabefeld wenn Datei schon vorhanden und überschreiben Häkchen nicht gesetzt.

http://consultingblogs.emc.com/merrickchaffer/archive/2008/03/05/customising-file-upload-validation-in-moss-2007-sharepoint.aspx

 

Mit Javascript und dementsprechend mit "Möchten Sie wirklich..." Dialog ein von mir eben selbst hingewursteltes Beispiel. Es wird nur gefragt, wenn die Überschreiben Checkbox gesetzt ist, ansonsten Standard Fehlerseite. Verwendet wird jQuery und die jQuery Library for Sharepoint WebServices http://spservices.codeplex.com/

<script type="text/javascript">
    var exists = false;
    var filename = '';
    var overwrite = true;
    function UploadConfirm() {
        exists = false;
        $('input').each(function() { if ($(this).attr('id').indexOf('InputFile') > -1) { filename = $(this).val(); } else if ($(this).attr('id').indexOf('OverwriteSingle') > -1) { overwrite = $(this).attr('checked'); } });
        filename = filename.substring(filename.lastIndexOf('\\') + 1, filename.length);
       
        $().SPServices({
            operation: "GetListItems",
            async: false,
            webURL: "http://sharepoint/site",
            listName: "listenname",
            CAMLQuery: "",
            CAMLViewFields: "",
            CAMLRowLimit: 0,
            completefunc: function(xData, Status) { if (Status === 'success' && xData.responseText.indexOf(filename) > -1 && overwrite && !confirm('Überschreiben?')) exists = true; }
        });
       
        return !exists;
    }
   
</script>

 

Dazu muss der Standard Button entsprechend angepasst werden

<INPUT id="btnOK" runat="server" Type="button" AccessKey="<%$Resources:wss,multipages_okbutton_accesskey%>" class="ms-ButtonHeightWidth" Value="<%$Resources:wss,multipages_okbutton_text%>" onclick="javascript:if (!VerifyCommentLength()) return false;javascript:if (!UploadConfirm()) return false;" OnServerClick="OnSubmit" />