Microsoft Dynamics CRM 2015 | Schon gewusst?

Während ich kürzlich mit dem Microsoft Support Team an einem Fehler der Konfiguration eines Outlook Clients mit einer CRM 2015 Online Instanz arbeitete (nähere Einzelheiten finden sich hierzu unter https://support.microsoft.com/en-us/kb/3093119) wurde ich auf einen weiteren Fehler aufmerksam.

Beim Aufruf der Ansicht “Aktive Anfragen” meldete der Outlook Client einen Fehler in der Anzeige, wobei die Ansicht anschließend scheinbar einwandfrei alle Datensätze anzeigte.

Nachdem ein kurzer Test ergab, dass sich der Fehler auch auf anderen Outlook Clients zeigte, er jedoch nicht innerhalb des Web-Clients auftrat, war schnell klar, die Ursache hierfür in dem Aufbau der Abfrage zu suchen.

So ergab der Export der Lösung und ein Blick unter Saved Queries im Vergleich mit einem Original-System im Bereich der FetchXML-Abfrage einen Unterschied.

Es fand sich der Eintrag

<attribute name=“processid“ />
                  <link-entity alias=“processidworkflowworkflowid“ name=“workflow“ from=“workflowid“ to=“processid“ link-type=“outer“ visible=“false“>
                    <attribute name=“versionnumber“ />
                  </link-entity>

der zunächst wie ein Standard-Eintrag aussah. Nachdem der Eintrag gelöscht war, die Lösung wieder eingespielt wurde, ist nunmehr auch der Fehler passé.

In der Ursachenforschung stießen wir dann auf die Verwendung des im XrmToolbox bekannten ViewReplicator Tools. Offenbar wurde ein anderes Ansichts-Layout in die Ansicht “Aktive Anfragen” kopiert. Dabei wurde jedoch auch die FetchXML Abfrage angepasst.

Fazit: Der Outlook-Client reagiert auf Metadaten-Änderungen deutlich empfindlicher, als der Web-Client und manchmal ist es hilfreich, ein Original-System für den Abgleich zu haben.

Bis zum nächsten Mal…

Advertisements

Microsoft Dynamics CRM 2015 | Schon gewusst?

Mit Microsoft Dynamics CRM 2015 kommt auch die neue Form-Rendering Engine, die in Sachen Umgang mit der Aktualisierung von Webressourcen offenbar so ihre Tücken im Bereich Caching hat. Zwar stellt ein Caching eine Verbesserung der Ladeperformance dar, wollte man jedoch mit

var control = Xrm.Page.getControl(“WebResource_Name”);
control.setSrc(control.getSrc());

eine Aktualisierung herbeiführen, so verhält sich dieser Code nicht wie gewünscht.

Abhilfe schafft hier jedoch eine simple Modifikation der zweiten Zeile

control.setSrc(control.getSrc() + ‘?data=’ + Date.now());

sorgt für den gewünschten Effekt und der WebRessourcen-Inhalt wird aktualisiert.

Microsoft Dynamics CRM 2015 | Schon gewusst?

Error_SSS_Dashboard_NoCharts

Mit Einführung der neuen Leistungsübersicht der serverseitigen Synchronisation können im Rahmen von auftretenden Störungen einige ungewünschte “Seiteneffekte” auftreten. Zum Einen können ggfs. die Grafiken wie im Schaubild dargestellt nicht mehr dargestellt werden und man wird aufgefordert die Anzahl der Datensätze zu reduzieren.

Zum Anderen können im Rahmen der gesammelten Informationen Speicherprobleme auftreten, die wiederum zur Folge haben können, dass die Organisation nur noch im Lese-Modus erreichbar ist.

Ablaufverfolgung_ErweiterteSucheEs stellt sich die Frage, welche Art von Datensätzen sich hinter den Grafiken verbergen und wie man diese vor allem reduzieren kann?!

Einsicht verschafft man sich über eine Erweiterte Suche und wählt hier den Entitätstyp “Ablaufverfolgung”. Diese Art Datensätze kann sich im Bezug auf entweder

a) Mailboxen oder

b) Mailbox-Profile

beziehen. Löschen kann man die Datensätze durch Einrichtung eines entsprechenden Massen-Löschung Auftrags. Als Hintergrund muss man wissen, dass neben Fehlern in der Ablaufverfolgung auch Warnungen oder gar Informationen gesammelt werden können. Fehler, die man bereinigt hat (z.B. auf Grund von versehentlich deaktivierten Postfächern konnten E-Mails nicht nachverfolgt werden), werden nicht automatisch gelöscht. D.h. die Ablaufverfolgung bleibt erhalten und im Hintergrund entstehen rasch über tausende von Datensätzen.

Hat man die Anzahl der Ablaufverfolgungsdatensätze signifikant reduziert, so kann plötzlich auch die Leistungsübersicht wieder Grafiken anzeigen.

Microsoft Dynamics CRM 2015 | Schon gewusst?

DidYouKnow

Im Rahmen der so genannten Plug-In Entwicklung stellt Microsoft innerhalb des SDK das Plug-In Registrierungstool bereit. Mit diesem können nicht nur Plug-ins, sondern auch so genannte Workflow Aktivitäten registrieren, die man als Erweiterung der vorhandenen Workflow Schritte programmiert hat und nunmehr bereitstellen möchte.

Nachdem man die einzelnen Bibliotheken registriert hat, bietet einem das Werkzeug jedoch auch noch die Möglichkeit, einige Felder anzupassen als da wären:

  • Description
  • FriendlyName
  • Name
  • WorkflowActivityGroupName

PluginRegistration_EditableFields

Da kommt man schnell mal in die Versuchung, wie im Beispiel links zu sehen, den FriendlyName (in der Regel steht hier eine GUID) neu zu setzen. Doch wär hätte gedacht, dass der FriendlyName, in Wahrheit gar nicht der FriendlyName ist. Stattdessen ist der Name oder DisplayName in Wahrheit der FriendlyName.

Der “Fehler” geht zurück auf die CRM 4.0 Zeit und konnte seitdem auf Grund von Abwärtskompatibilitätsgründen noch nicht korrigiert werden. Wer nun jedoch im FriendlyName die GUID entfernt hat, stellt fest, dass beim nächsten Update der Bibliothek (z.B. eine Fehlerbereinigung) die Aktualisierung mit einem Fehler abbricht. Hintergrund hierfür ist, dass die GUID nicht mehr gefunden werden kann, die sich an einem Prozess oder auch einer Prozessvorlage (verbunden mit dieser Workflow-Aktivität) nicht mehr findet, da Ihr diese durch einen “FriendlyName” ausgetauscht habt.

Lasst in Zukunft also besser die Finger von diesem Feld und beschränkt eure Anpassungen auf die Felder Beschreibung, Name und Workflow-Activity-Group-Name.

Microsoft Dynamics CRM 2015 | Schon gewusst?

DidYouKnowIn einer neuen Serie “Schon gewusst?” möchte ich euch einige Tipps & Tricks vorstellen, über die ich im Rahmen zahlreicher Kundenprojekte oder dem Studium von anderen Artikeln gestoßen bin. Heute geht es um ein aktuell im CRM 2015 Update 1 vorliegendes Script-Fehler Problem:

<Message>Uncaught TypeError: Cannot read property ‚uniqueId‘ of null</Message>
   <Line>1</Line>
   <URL>/_static/_common/scripts/jquery-2.1.1.min.js?ver=265869287</URL>

Dieses Problem äußert sich z.B. durch Nutzung des Outlook Clients, Öffnen einer Anfrage und nachdem ihr Änderungen getätigt und gespeichert habt, kommt ein Hinweis auf jenen Script Fehler, den ihr mit OK bestätigen könnt.

Der Fehler ist weitaus tiefgreifender, als nur ein reiner Script Fehler und von Seiten Microsoft wird bereits an einem entsprechenden Fix gearbeitet. Wem jedoch die Bestätigung des Scripts in der Praxis aufstößt, der kann durch eine simple Anpassung dem ganzen Herr werden.

Hierzu eine Lösung erstellen, die Entität Anfrage hinzufügen und die Lösung unverwaltet exportieren. Die Archiv-Datei exportieren und im Anschluss in der Datei customizations.xml nach „accountcasessgrid“ suchen. Es sollte sich ein Treffer finden.

Fügt nunmehr innerhalb des Parameters XML Tags den Parameter

<EnableContextualActions>false</EnableContextualActions>

Case_Entity_SubGridshinzu. Speichert die Änderungen, packt die Dateien erneut in ein Archiv und importiert dieses. Die Änderung bewirkt, dass Ihr das Plus (+) Zeichen bei der Vorschau aktueller Anfragen nicht mehr haben werdet und damit nutzen könnt. Jedoch ist im Anschluss auch der Fehler passé und Ihr könnt ohne die Fehlermeldung eurer Arbeit nachgehen. Wer im übrigen seine Anfrage-Maske angepasst hat und weitere Subgrids eingebracht hat, der muss o.g. Parameter auch für diese setzen.

Wie gesagt, der Fehler ist Microsoft bereits bekannt und es wird an einer Lösung gearbeitet. Wann diese Lösung veröffentlicht / zur Verfügung gestellt werden kann, steht jedoch noch nicht fest.

Microsoft Dynamics CRM 2015 | UpD 1–Lessons Learned

Lessons_LearnedWer es noch nicht mitbekommen hat, Update 1 für CRM 2015 (formerly known as Spring wave) ist seit zwei Tagen offiziell verfügbar. Und schon ist es Zeit über einige Erfahrungen in der Praxis zu berichten.

Der CRM 2015 Outlook Client – eine Aktualisierung des Clients wurde bislang nicht vorgenommen, da man mit dem CRM2015 Client grundsätzlich auch auf eine Update 1 Organisation zugreifen kann, doch schon nach kurzer Zeit stellten sich die ersten Support-Anfragen in Sachen “Öffnen einer Ansicht” ein. Die Benutzer “beklagten”, dass sich Ansichten nicht mehr öffnen ließen und Sie stattdessen mit der Animationsgrafik “Lade…” beglückt würden.

Nachdem verschiedene Auswertungen der Trace-Files nicht zu entscheidenden Hinweisen auf einen Fehler führten, wurde eine neue Ansicht erstellt und deren Layout anschließend mit Hilfe des ViewLayout Replicator aus der XrmToolBox auf alle Systemansichten übertragen. Et voilà – die Benutzer können alle Ansichten wieder einwandfrei laden. Offenbar hat sich in den fehlerhaften Ansichten ein Problem in der Layout-Definition eingeschlichen.

De- und Neuinstallation des CRM Outlook Clients für 2015 – den Outlook Client bei auftretenden Problemen gleich zu deinstallieren und anschließend neu zu installieren ist insbesondere bei großen PST Dateien wenig ratsam, stellte sich doch heraus, dass der Client nach erfolgter Verbindung zur Organisation beginnt, sämtliche nachverfolgte E-Mails erneut nachzuverfolgen. Dies führte zu einer “Unbrauchbarkeit” von MS Outlook während des gesamten Synchronisationsvorgangs. Abhilfe schafft hier

a) der Verzicht auf eine De- und Neuinstallation, da nicht erforderlich in der Aktualisierung
b) seine E-Mail Anzahl durch sorgfältige Archivierung deutlich zu reduzieren und somit den Synchronisationsvorgang zu beschleunigen.

Die neue Form Rendering Engine / kollabierte Abschnitte mit WebRessourcen / IFrames – wurde die Maske mit kollabierten Abschnitten gespeichert, in denen sich eine HTML WebRessource befindet und diese programmatisch (JavaScript) zur Laufzeit aufgeklappt, so zeigte sich eine falsche Größenberechnung, so dass nur teile des WebRessourcen-Inhalts sichtbar waren. Abhilfe schafft hier derzeit nur

a) ein Workaround, den Abschnitt aufgeklappt in der Maskendefinition zu speichern.
b) die Form Rendering Engine in den Einstellungen auszuschalten und die so genannten Legacy Forms zu verwenden.

Sodann zeigt sich der Inhalt der nachgeladenen WebRessource in der korrekten Breite. Dieser Fehler ist bekannt und es wird bereits an einer Lösung gearbeitet.

Vorhandene Workflow Aktivitäten – Durch einen Echtzeit Prozess mit einer Benutzerdefinierten Workflow Aktivität wurden plötzlich mehrere Datensätze dem Benutzer SYSTEM zugewiesen. Nachdem der Überwachungsverlauf den Prozess als “Übeltäter” entlarvte, konnte ermittelt werden, dass die Workflow Aktivität noch aus CRM 2011 Zeiten stammte und ursprünglich gegen dieses SDK kompiliert wurde. Abhilfe schaffte die Neu-Kompilierung gegen das CRM 2015 SDK und das .NET Framework 4.5.2.

Nutzung des Plug-In-Registration Toolkits – Bei dem Versuch, sich mit der Online Organisation zu verbinden zeigte sich nur ein weißer Bildschirm, obwohl das neueste SDK verwendet wurde. Dies konnte auf mehreren Rechnern nachgestellt werden. Abhilfe schaffte die Löschung des Ordners “de-de” aus dem Plug-In-Registration Toolkit Pfad. Der anschließende Neustart und nach Verbindung zur Online Organisation waren alle Plug-Ins und Workflow Aktivitäten wieder sichtbar / zugänglich.

Spontaner Anstieg des Speicherverbrauchs – grundsätzlich sollte man gerade in der Online Umgebung seine Ressourcen im Blick behalten. Durch Aktivierung zahlreicher neuer Erweiterungen – die offenbar sehr gut angenommen werden – kann sich der Speicherbedarf jedoch erheblich erhöhen. Es ist daher ratsam, sich im Vorfeld einen Blick über die bereits verwendeten Ressourcen zu verschaffen.

Soweit die ersten Erfahrungsberichte aus der täglichen Praxis. Bis zum nächsten Mal…

eXtremeCRM 2015 Madrid | Day 3 – How can I innovate

Bobs FiresideChatIf you´ve ever been to a conference like eXtremeCRM, it probably was never that hard to figure out, how to clone yourself to be part of simultaneously ongoing sessions with topics that gets your attention. The good news is, that the final Fireside Chat with Bob Stutz wasn´t and all of us have been able to ask a question, after getting so much valuable information from either the sessions, conversations, networking or connections after two or three conference days, depending on if you were attending the pre-events.

And even though it is funny to watch who´s going to be the first one having a question (breaking the ice), it is valuable to recognize quotes like:

To me, I haven´t yet figured out what the IoT (Internet of Things) is…

IC_Team_1And then there were our Innovation Challengers presenting their ideas that they´ve been working on for 8 hours. So Team 1 was presenting their concept of a better scheduling, needed for solving business case scenarios.

IC_Team_2Team 2 who where working on a mobile app with OCR business card scanning and recognition to make our next eXtremeCRM networking easier with the help of Microsoft Dynamics CRM.

IC_Team_3Team 3 who where working on an unleashed Social Pane control that is configurable, extensible and sortable like users wanna consume their Information. And last but not least…

IC_Team_4Team 4 who were going to introduce us to a CSI crime scene investigation software based on a mobile to Microsoft Dynamics CRM connected framework that could be used to achieve a faster and easier way of working on investigating crimes. As in front of the Innvation Challenge the eXtremeCRM Team and a couple of MVPs and other Contributors had a discussion about the idea of broadening up this format to all registered attendees, whether be a Functional- or Technical Consultant, being a Sales- or Marketing Manager or being a Software Developer. I´m very proud of achiving our goal to emphazise more attendees in showing up and start sharing and growing their knowledge.IC_Pricing

Thanks to our Sponsor (Adxstudio), thanks for all your virtual votes, that I got as a feedback on my first article about the Innovation Challenge and the ideas that we came up with. Thanks to my MVP colleagues ones again attending and sharing their knowledge and experiences as well as introducing (thanks Julie) and guiding the teams up on stage.

And finally another big THANK YOU to the eXtremCRM event team offering such „platform“ – 5th time in a row in EMEA.

As a personal wrap up being an attendee for a couple of years, I should mention, that I was trying to avoid going to eXtreme this time, which ended up in having less sessions, but spending more time in a face to face talk with YOU.

Thanks for your feedback on the work and content that I´m providing and thanks for your support in becoming and staying an MVP. Every comment I got – being negative or positive – is driving innovation. See you soon at eXtremeCRM or anywhere else. Safe travels back home, take care…