Microsoft Dynamics CRM | MVP Award

MVP_FullColor_ForScreenIm Oktober ist es wieder soweit. Ich werde gespannt auf meinen Posteingang blicken und die eine E-Mail vom Microsoft MVP Team erwarten.

Ihr selbst seid dabei ausschlaggebend und urteilt über die Qualität und Vielfalt meiner Artikel, Tweets und sonstiger Community Aktivitäten.

Daher solltet Ihr Eure Kandidaten gern unter diesem Link nominieren und damit zum Ausdruck bringen, wie wertvoll Euch die Arbeit dieser Person ist.

Natürlich freue auch ich mich über eine Nominierung und jeden Kommentar oder jede E-Mail Anfrage, die mich in dem letzten Jahr von Euch erreicht hat. Mit der kommenden Version, aber auch dem aktuellen Release stehen noch zahlreiche Informationen im Raum, die es wert sind, geteilt zu werden.

Technorati Tags:

Microsoft Dynamics CRM 2015 | No Kidding–Get Ready

Am 16. September war es soweit – die neue Version von Microsoft Dynamics CRM wurde offiziell per Pressemitteilung verkündet und den Benutzern und Administratoren damit ans Herz gelegt, sich mit den Neuerungen frühzeitig auseinanderzusetzen.

Hierfür wurde ebenfalls eine neue Version des Release Preview Guides zum Download bereitgestellt. Und um sich neben vielen Informationen auch online ein Bild machen zu können wurde zudem die neue Seite im Customer Center aktiviert. Hier finden sich unter anderem auch für Entwickler einige Informationen, um sich bereits im Vorfeld auf das kommende Release einstellen zu können.

Und auch Bob Stutz hat auf seinem Blog mit einem Artikel Stellung zum neuen Release genommen.

Während viele Kunden noch auf der Basis von CRM 2011 aktiv unterwegs sind, stellt sich mit dieser neuen Version nunmehr erneut die Überlegung – wann aktualisieren wir unsere Umgebung?

Dabei geht es mit Sicherheit nicht gleich um den Wechsel von On-Premise auf Online, mit Sicherheit aber um die Diskussion, ob man sein System mit all den Anpassungen in der neuen Umgebung 1:1 “wiederfinden” wird.

Mit den im Oktober beginnenden Konferenzen in den USA (extremeCRM und CRMUG Summit) werden die ersten Informationen den Teilnehmern näher gebracht werden und auch wir in Europa dürfen uns angesichts der bevorstehenden EMEA Convergence in Barcelona auf das Produkt-Team und aktuelle Informationen zum kommenden Release freuen.

Übrigens bin auch ich auf der Convergence und Ihr werdet mich auf dem Stand der FLS GmbH mit der Vorstellung unseres Add-Ons für einfache Ressourcenplanungen und Optimierungen inkl. einem mobilen Client ebenso antreffen, wie auf der Expo von Microsoft.

Technorati Tags:

CRMUG Summit | Join me

crmugWell there´s a second chance joining me in October in the US. This time I´m excited not only to be part of the CRMUG MVP sessions. I´m also presenting a couple of other sessions. Again a great chance to talk about real world scenarios, sharing tips and tricks and providing a powerful network.

I´ll be talking about a couple of usecases around service scheduling and share knowledge about Parature. Yes, Parature Integration scenarios inside Microsoft Dynamics CRM and all about the customization options.

So happy and hope to see you in St. Louis.

Technorati Tags:

eXtremeCRM | I´m presenting

Join_me_eXtremeCRM_Vegas

Just a couple of days left and eXtremeCRM will be kicked of in Las Vegas. Again a great time to share ideas, network and take a look at state-of-the-art CRM deployments and scenarios from the field.

Join me in different sessions or during the Innovation challenge. Nikhil and I are so excited about the teams and ideas we´re going to see this year.

You´ve a couple of questions and so far didn´t find an answer? Then the Ask-the-experts sessions will be your friend and I invite you to join our sessions in the Extend- and Deployment-Track and aks your questions.

See you in Las Vegas

Technorati Tags:

Microsoft Dynamics CRM 2013 | DataTables

Vor zwei Jahren habe ich das letzte Mal über die Integration des jQuery Plug-Ins DataTables in Microsoft Dynamics CRM 2011 berichtet und es ist Zeit für ein Update. Denn auch in CRM 2013 kann man mit diesem Plug-In hervorragende und z.T. verblüffende Effekte erzielen.

2nd_dataTable_in_CRM2013_style

In den zwei Jahren hat sich selbst-verständlich einiges getan. So haben sich beispielsweise die API und die Features der DataTables stark verändert. Das schöne jedoch an diesem jQuery Plug-In, ist nach wie vor die einfache Initialisierung mit wenigen Programmzeilen:

$(document).ready(function(){
$('#myTable').dataTable();
});

Doch auch in Microsoft Dynamics CRM 2013 gilt es, einige Punkte für die Verwendung zu beachten. So hat sich natürlich das CSS-Design im CRM 2013 geändert und damit eure Datentabellen in passendem Design daherkommen, solltet ihr das erforderliche CSS anpassen.

Im Gegensatz zu damals, ist das mit dem Theme-Creator Werkzeug jedoch erheblich einfacher geworden. Und ein paar Mausklicks und CSS-Abgriffen des CRM 2013 später schon erledigt. Gab es für CRM 2011 noch einen Style Guide, so heißt es heute, mit den Entwicklerwerkzeugen die Informationen aus den verwendeten CSS-Vorlagen selbst herauszusuchen. Doch mit dem o.g. Link habt ihr dafür die erforderlichen Schritte ausführlich beschrieben.

Für die eigentliche Integration der DataTables empfehle ich die Verwendung der neuesten jQuery Version. Und wie es sich gehört, solltet ihr eure Version von der bereits integrierten Version kapseln. Hierzu findet ihr einen Hinweis auch im aktuellen SDK.

Habt ihr die beiden erforderlichen Dateien (../css/jquery.dataTables.css | ../js/jquery.dataTables.js)
für DataTables als Web-Ressourcen zur Verfügung gestellt, so empfehle ich auch für CRM 2013 die Erweiterungen TableTools und ZeroClipboard. Falls ihr euch jetzt fragt, warum ich keinen Link zur zweiten Erweiterung anbiete, so liegt der Grund hierfür in einem weiteren Unterschied zu damals. Denn in den TableTools ist die Clipboard-Erweiterung nunmehr bereits integriert und ihr benötigt nur noch diese eine Erweiterung.

Da ihr z.B. auch die Paging Option geboten bekommt und mit

$('#example').dataTable( {
"lengthMenu": [ 10, 25, 50, 75, 100 ]
} );

die jeweilige Konfiguration

"lengthMenu": [ 25, 50, 75, 100, 250 ]

den Möglichkeiten von CRM hin anpassen könnt oder gar mit page.len() die Vorgabe auf den Wert vorgeben könnt, den der jeweilige Nutzer in seinen persönlichen Einstellungen vorkonfiguriert hat, ist mit wenigen Handgriffen ein zum Standard Grid natürliches Look & Feel geschaffen.

Mein persönliches Fazit lautet: Habt ihr verschiedene Daten aus einer Fremd-Anwendung (z.B. einem ERP System) oder bietet sich euch nicht die Gelegenheit der Abbildung mit Hilfe der neuen Sub-Grids, so stellen die DataTables dank der einfachen Bedienung und der ausgereiften API eine hervorragende Möglichkeit, Daten in einer HTML Web-Ressource zu visualisieren.

Technorati Tags:

Microsoft Dynamics CRM 2013 | Time Off via SDK Nach Spring Wave’14

Einige von euch erinnern sich vielleicht noch an meine Artikel Serie zu der programmatischen Anlage von Kalendern und Arbeitsfreien Zeiten für CRM 2011. Viele haben diese Plug-In Techniken mit in Ihr CRM 2013 Release übernommen und so wurde ich zuletzt um Unterstützung gebeten, da nach Update von CRM 2013 mit Service Pack 1 (On-Prem) bzw. Spring-Wave ‘14 Fehler in den Plug-Ins auftraten.

Dazu sei allen Neu-Interessierten noch mal im Schnelldurchgang beschrieben, was eigentlich bei der programmatischen Anlage einer Arbeitsfreien Zeit per SDK passiert.

  1. Es wird der aktuelle Kalender des Users abgefragt
  2. Ein neuer innerer Kalender wird für die Aufnahme der neuen Informationen erzeugt und dem aktuellen (primären) User zugewiesen
  3. Anschließend wird eine neue Kalender-Regel mit einem Pattern erzeugt. Dieser bestimmt die Häufigkeit der Anwendung
  4. Eine weitere Kalender-Regel wird erstellt und nimmt z.B. den Subcode, sowie den Offset auf.
  5. Die Kalender-Regeln werden dem User-Kalender hinzugefügt und dieser abschließend aktualisiert.

Nachdem nunmehr für CRM 2013 Online Kunden die Spring Wave ‘14 Features mit einem Datenbank-Update einher gingen und On-Prem-Kunden das Service Pack 1 installiert haben, meldeten mir verschiedene Blog-Leser eine “Inner-Fault-Exception” bei der Ausführung des Plug-In-Codes.

Was war geschehen? Normalerweise sollen die neuen Updates vorhandenen Code komplett unterstützen und damit keinen Eingriff erforderlich machen.

In diesem besonderen Fall jedoch, ist eine entscheidende Änderung in den Kalender eingebracht worden. Im Speziellen sind dies die neuen Kalender-Typen:

Value Label Description
0 Default Business closure calendars for service scheduling.
1 Customer Service Service calendars for customer service.
2

Holiday Schedule

Holiday schedule calendars for customer service.
-1 Inner Calendar type Inner Calendars are used by other calendars to build a graph of time slots available for customer service or service scheduling to be performed.

Das liest sich zunächst relativ unspektakulär. Mit Hilfe des SOAPLoggers (einem bereits von mir vorgestelltem Tools innerhalb des SDK) lässt sich schnell feststellen, dass bei der Anlage eines neuen Kalenders der Typ immer auf den Default Wert (0) festgesetzt wird. Während dies bei der programmatischen Anlage von z.B. täglichen Kalendern durchaus hilfreich ist, führt dies bei der Anlage von Arbeitsfreien Zeiten zu besagter Verletzung und Ausnahme.

Konkret liegt dieses Problem in den Zeilen

// Create a new inner calendar
      Entity newInnerCalendar = new Entity("calendar");
      newInnerCalendar.Attributes["businessunitid"] = new EntityReference("businessunit", ((Microsoft.Xrm.Sdk.EntityReference)(userCalendarEntity["businessunitid"])).Id);
      newInnerCalendar.Attributes["name"] = "CUSTOM Time Off";
      newInnerCalendar.Attributes["primaryuserid"] = _currentUserId;
      Guid innerCalendarId = service.Create(newInnerCalendar);

Bislang reichten diese Zeilen für die Erstellung des neuen Kalenders aus. Nach Einführung von Spring Wave’14 bzw. Service Pack 1 bedarf es jedoch vor der letzten Zeile einer zusätzlichen:

newInnerCalendar.Attributes["type"] = new OptionSetValue(-1);

Mit dieser zusätzlichen Zeile verhindert Ihr den Inneren Fehler, der bei der Ausführung des Plug-In-Codes eine Ausnahme wirft. Der Wert (-1) gilt hier natürlich nur dann, wenn Ihr eine Arbeitsfreie Zeit anlegen wollt.

Allen Programmierern für CRM 2013 stellt sich damit eine neue Herausforderung. Wie kann man seinen Quellcode für beide Varianten (Service-Pack 1/Spring Wave’14 installiert bzw. (noch) nicht installiert) stabil halten?

HIer bietet sich die Option, die o.g. Zeile nur dann anzuwenden, wenn identifiziert wurde, ob die neuen Features installiert sind oder nicht. Zu diesem Thema bietet das SDK ebenfalls eine Antwort.

Euch damit auch weiterhin viel Spaß bei der Programmierung. Auch, wenn hier vorhandener Quellcode in der Ausführung behindert wird.

Die Designer mussten eine Entscheidung treffen, wie der “Impact” gering gehalten werden kann und haben sich für die Vorgabe des Typs 0 entschieden, um möglichst viel vorhandenen Quellcode zu unterstützen.

Ich hoffe jedenfalls, euch damit etwas Zeit gespart zu haben.

Technorati Tags:

Microsoft Dynamics CRM 2013 | Falsches Datum an der Notiz einer Anfrage

Heute möchte ich Euch auf einen Support-Artikel für On-Prem Kunden aufmerksam machen, der sich mit einem Fehler auseinandersetzt, den ich in der letzten Woche bei Kunden und in meiner Entwicklungsumgebung festgestellt hatte.

Es geht dabei um die inkorrekte Darstellung des Datums bei Notizen, die Anfragen zugeordnet sind. Unter diesem Link findet Ihr hierzu die exakte Vorgehensweise, um die fehlerhafte Darstellung zu korrigieren. Vergewissert Euch dabei vorher, welcher Fall bei Euch zutrifft. Es muss nur je einer der beschriebenen Fälle ausgeführt werden.

Technorati Tags: