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.




callto:// in SharePoint Liste

Unbeantwortet Dieser Beitrag hat 7 Antworten

Ohne Rang
9 Beiträge
mkernchen erstellt 25 Feb. 2011 15:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

hat jemand eine Idee, wie ich in einer SharePoint-Liste (Kontakte-Liste) die Anweisung callto:// einbinden kann?

Ich habe eine Kontakte-Liste gepflegt und würden nun gerne per Mausklick die Telefonnummern wählen lassen (SIP-Client). Im normalen Browser funktioniert das Ganze auch mit callto://Telefonnummer/, nur der SharePoint erwartet, bei einem Hyperlink-Feld immer http://.

Gibt es irgend eine Möglichkeit, dass ich dem SharePoint bei bringen kann, dass callto anstelle von http erlaubt ist?

Schon einmal vielen Dank für die Hilfe.

Gruß

Michael

Alle Antworten

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 28 Feb. 2011 10:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da gibt es viele Möglichkeiten, z.B. mit dem SharePoint Designer einen XSLT DataView bauen, oder sogar mit .NET ein eigenes custom Field entwicklen welches das eingebaut hat (um nur zwei Beispiele zu nennen).

Eine relativ einfache Möglichkeit ist ein wenig JavaScript zu verwenden und dieses mit einem Simple Form WebPart in die Ansicht der Kontakte Liste einzubinden.

Dazu kannst du diese Script hier http://sharepointcommunity.de/members/sigweber/files/PhoneNumberScript.js.txt.aspx benutzen. Es erkennt Telefonnummern die mit "+49" beginnen. Damit findet es Telefonnummern wie z.B. "+49 89 32168" oder auch "+49 (30) 12345678". Es prüft aber nicht ob diese Telefonnummer auch in einem Format vorliegt dass dein SIP Client versteht, es soll ja noch Leute geben die verwenden "+49 (0)69 87654321" ;-)

Das Script bindest du z.B. auf der Ansicht deiner Kontakteliste ein indem du diese im Web Browser in den Designmodus schaltest:

http://deinserver/deinesite/lists/deinekontakte/allitems.aspx?DisplayMode=Design

Dann fügst du dir den Simple Form WebPart (hab leider nur englisches System hier) ein und stellst in den Eigenschaften des WebPart ein dass dieser "hidden" ist. Danach klickst du auf den HTML-Sourceocde Button im WebPart Toolpane, löschst den existierenden Code und kopierst das Script hinein.

Jetzt nur noch den WebPart und die Seite speichern und es sollte klappen. Könnte allerdings im Internet Explorer seeeeeeehr langsam werden wenn du eine Ansicht verwendest auf der sehr viele Listeneinträge mit Telefonnummern stehen, das ist erst im IE 9 besser geworden.

Nachdem du das alles gemacht hast, werden alle Telefonnummern die mit "+49" beginnen als aktiver Link dargestellt. Solltest du andere Ländervorwahlen verwenden wollen musst du dir das Script erweitern damit es auch diese erkennt.

Wenn du nun auf einen solchen Link klickst wird im Web Browser eine Abfrage angezeigt und du kannst den SIP Client starten der in der Windows Registry mit dem "callto:" Url-Protokoll verknüpft ist.

Hoffe das hilft.

Cheers,

Sigi Weber

Ohne Rang
9 Beiträge
mkernchen Als Antwort am 1 März 2011 09:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,

jetzt habe ich schon mal einen Teilerfolg gehabt.

Gestern habe ich das Scipt hinzugefügt und es hat auch funktioniert, aber nachdem ich meine Telefonnummern alle angepasst habe im AD und per Crawl alles aktualisiert habe, möchte das Script heute einfach nicht mehr.

Eine Idee voran das liegen könnte?

Sonst muss ich mir vielleicht doch einmal die DataView Geschichte mit dem SharePoint Designer anschauen.

Aber schon einmal vielen Dank für deine Hilfe.

 

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 1 März 2011 10:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da bin ich jetzt etwas ratlos :-(

Ich habe das Script mit einer Standard SharePoint 2007 Kontakte-Liste getestet und es hat geklappt. Ich habe es allerdings nur mit den Standard-Ansichten, sowie der Anzeige eines einzelnen Kontakts ausprobiert. Mehr nicht.

Ich weiss jetzt auch nicht wieso du alle deine Telefonnummern im AD angepasst hast, denn die haben ja eigentlich nichts mit einer Kontakte-Liste zu tun, oder hab ich da was verpasst?

Im Script gibt es eine Abfrage die versucht herauszufinden ob es sich auf einer Kontakte Listenansicht, oder einem einzelnen Kontakt befindet:

if (elementClassName == "ms-vb2" || elementClassName == "ms-stylebody" || elementId == "SPFieldText")

Ich kann mir zwar nur schwer vorstellen dass dies dein Problem ist, aber du kannst ja mal probieren daran zu schrauben. Manchmal hilft auch das einfache einfuegen eines

if (elementText != "")

{

alert(elementText);

um zu sehen ob es ueberhaupt Telefonnummern findet.

Ansonsten, kannst es ja mal mit SharePoint Designer probieren, obs einfacher ist kann ich mir allerdings nur schwer vorstellen denn es braucht XSLT Kenntnisse...

Good luck!

Cheers,

Sigi Weber

Ohne Rang
9 Beiträge
mkernchen Als Antwort am 1 März 2011 12:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die Listen-Inhalte werden mit AD-Inhalten befüllt, über die Felder Telefonnummer, Name, Vorname etc.

Die Änderungen am Script werde ich mal testen und noch einmal schauen.

 

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 1 März 2011 12:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="mkernchen"]

Die Listen-Inhalte werden mit AD-Inhalten befüllt, über die Felder Telefonnummer, Name, Vorname etc.

[/quote]

Interessant! Sowas wollte ich auch schon mal machen, hab aber keine Moeglichkeit gefunden dies ohne Programmierung in SharePoint zu loesen. Wie habt ihr das denn geloest, wenn ich mal fragen darf?

Cheers,

Sigi Weber

Ohne Rang
9 Beiträge
mkernchen Als Antwort am 1 März 2011 13:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ohne die Zeile

if (elementClassName == "ms-vb2" || elementClassName == "ms-stylebody" || elementId == "SPFieldText")

läuft es nun, die Telefonnummer ist anscheinend nicht in einem SPFieldText hinterlegt.

Ohne Rang
66 Beiträge
Sigi Weber Als Antwort am 1 März 2011 13:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Prima! Ich tippe mal dass es an der Ansicht deiner Kontakte- Liste liegt, denn wie gesagt, ich habs mit einer Standard SharePoint 2007 Kontakte-Liste ausprobiert.

Teste es mal ausgiebig mit vielen (50-101) Eintraegen in deiner Liste. Ohne die oben angegebene Zeile koennte das recht langsam werden (zumindest im IE) da nun alle Tabellenzellen ("TD") auf der Webseite durchforstet werden muessen. Das kann bei SharePoint 2007 wo extrem viel HTML Tabellen verwendet werden sehr schnell zum Performancekiller auf dem Web Browser Client werden.

Etwas verwirrt mich immer noch, ist das wirklich eine SharePoint Kontakte-Liste oder vielleicht nicht doch die SharePoint User Liste? Letztere wird ja beim SharePoint Server 2007 ueber das Windows AD in die SharePoint Profile Datenbank synchronisiert. Ich will nur wissen ob ich mein Script noch etwas anpassen muss fuer die Zukunft ;-)

Cheers,

Sigi Weber