Send link of document over hover panel via mail (de)


Send link of document via mail de Title

Eine der meist gewünschten Funktionen meiner Kunden ist: Wie kann ich schnell einen Link zu einem Dokument versenden?

Der angenehmste, einfachste und benutzerfreundlichste Weg ist es diese Funktion im Hover Panel des Dokuments zu ermöglichen. Meine Meinung.

Normalerweise sieht das Standard-Hover-Panel so aus:

Send link of document via mail  (de)_1

Das Endergebnis wird so aussehen:

Send link of document via mail  (de)_2

Nachdem man auf den Link “Sende Link” klickt, öffnet sich dann der Standardmailclient (in meinem Fall Outlook) mit einem vordefinierten Text und dem Link

Send link of document via mail  (de)_3

Jetzt kann noch dem Empfänger der E-Mail festgelegt werden. Die versendete E-Mail sieht beim Empfänger dann so aus:

Send link of document via mail  (de)_4

Ich finde dies die perfekte Lösung um einen Link schnell und einfach zu versenden.
Nun, wie funktioniert das?

Um es zu testen, füge einen Inhaltseditor der Dokumentbibliothek hinzu:

Send link of document via mail  (de)_5

Dann füge das folgende Skript ein:

<script>
SP.SOD.executeFunc("callout.js", "Callout", function () {
  var itemCtx = {};
  itemCtx.Templates = {};
  itemCtx.BaseViewID = 'Callout';
  // Definiere den Listentyp
  itemCtx.ListTemplateType = 101;
  itemCtx.Templates.Footer = function (itemCtx) {
    // context, custom action Funktionen, Zeige das ECB Menü (boolean)
    return CalloutRenderFooterTemplate(itemCtx, AddCustomAction, true);
  };
  SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx);
});

function AddCustomAction (renderCtx, calloutActionMenu) {      

  // Custom Action Sende E-Mail
  var editPropUrl = renderCtx.CurrentItem.FileRef;
  editPropUrl = editPropUrl.replace(/ /g, '%20');

  var preUrl = _spPageContextInfo.siteAbsoluteUrl;

  calloutActionMenu.addAction (new CalloutAction ({
    text: "Sende Link",
    tooltip: 'Sende einen Link zum Dokument',
    onClickCallback: function() 
    {  

       var strTest = buildMailTo('', 'Link zum Dokument', 'Hier der Link zum Dokument nn' + preUrl + editPropUrl + 'nn Grüße');
       window.location(strTest);

    }
  }));
}

function buildMailTo(address, subject, body, preUrl, editPropUrl) {
    var strMail = 'mailto:' + encodeURIComponent(address)
                   + '?subject=' + encodeURIComponent(subject)
                   + '&body=' + encodeURIComponent(body);
    return strMail;
}

</script>

Ansicht:

Send link of document via mail  (de)_6

Nun sollte alles funktionieren. Wenn sich nichts geändert hat schau nach ob unter Websiteeinstellungen -> Websitefeatures verwalten -> Folgeinhalt und Minimale Download Strategie ausgeschaltet ist. Dies sollte so sein.

Wenn du das Feature auf all deinen Dokumentbiliotheken möchtest kannst du z.B. das Skript deiner Masterpage hinzufügen.

Das sollte es nun gewesen sein. Bei Fragen einfach fragen. Wenn dir dieser blogpost gefallen hat, würde ich mich freuen wenn du diesen in deinen Sozialen Netzwerken teilst oder mir auch auf Twitter oder Facebook folgst.

2 responses to “Send link of document over hover panel via mail (de)”

  1. It seems that it does not work with our On-Premise 2013 farm and not with SharePoint Online. A new custom action does not appear…

    • Have you checked the devloper tools? Are there any errors? I tried it just now again and it is working. Tested in Internet Explorer.

Leave a Reply

Your email address will not be published. Required fields are marked *