Microsoft Dynamics CRM 2013 | Action required before Upgrade

Notification

Jüngst sollten einige CRM Online Kunden von Euch Post von Microsoft erhalten haben. In dieser E-Mail informiert das CRM Online Team über einen durchgeführten Test mit Eurer/(n) CRM 2011 Organisation/(en) bzgl. eingesetzter JavaScript Ressourcen. Anlage ist eine .txt-Datei in denen weitere Details entnommen werden können. So heißt es hier in etwa:

Output for Organization Your Organizationname:
==========================================================================
Solution Name: Solutionname            Publisher Name: Default Publisher                                    Version: 1.0        IsManaged:False
———————————————————————————————————————————-
 
Web Resource Name : jQuery_min.js            Web Resource Type: 3
 
Match found: .ParseXml
Match found: .Clear
Match found: .DefaultValue
Match found: .Disabled

Danach folgt der komplette gefundene Quelltext und dann eine wichtige Zeile:

The organization Organizationname has X potential issues with their Web Resources for Microsoft Dynamics CRM 2013

In der E-Mail findet Ihr weitere Hinweise mit Links zu Seiten, die Euch weiterhelfen können. Aus der Praxis möchte ich Euch heute einige Tipps geben, wie mit dem Prüfungsergebnis umzugehen ist.

Zunächst gilt es folgende Punkte zu verifizieren:

a) es handelt sich um eine Lösung, die von einem ISV Anbieter bezogen wurde (meist zu erkennen an dem Publisher Name oder an IsManaged = true)

b) es handelt sich um eine eigene Lösung, die von mir oder einem Programmierer realisiert wurde

c) es handelt sich um eine Individual-Lösung von meinem Implementierungspartner, die ich im Rahmen der Implementierung oder Nachpflege erhalten habe (auch hier meist zu erkennen an dem Publisher)

Im Fall A stellt sich die Frage, ob man die Lösung selbst bei dem ISV Partner eingekauft hat oder diese über seinen Implementierungspartner erhalten hat. Im Zweifel kann eigentlich immer der ISV Partner direkt angeschrieben oder angerufen werden, so dass dieser eine Aussage zu der Kompatibilität mit CRM 2013 treffen kann.

Im Fall B ist man selbst gefragt, hierzu gleich noch ein paar Tipps, während im Fall C direkt der Implementierungspartner zu fragen ist. Sollte dieser nicht mehr existieren (Insolvenz), so gibt es in der Regel die Möglichkeit Microsoft direkt anzusprechen und an einen geeigneten Nachfolge-Partner vermittelt zu werden, der einem mit dem Quellcode bzw. dessen Analyse weiterhelfen kann. Falls nicht, fragt Eure MVPs, wir helfen Euch gerne weiter.

———-

Was ist konkret im Fall B ein geeignetes Vorgehen. Ihr findet in dem Satz eine Anzahl (X) potenzieller Fehlerquellen, die einen Umstieg auf CRM 2013 gefährden. Um diese Anzahl zu verifizieren und die Ursachen zu erfahren holt Euch idealerweise das Microsoft Dynamics CRM 2013 Custom Code Validation Tool. Dieses installiert Ihr in Eurer CRM 2011 Instanz und lasst Euren Quellcode analysieren.

Ihr solltet auf eine vergleichbare bzw. gleiche Anzahl an Treffern kommen, die Euch von dem CRM Online Team zur Verfügung gestellt wurde. Das Tool ist jedoch kein “Allheilmittel”.

Ausgewiesen wird z.B. auch ein auskommentierter Code:

// crmForm.all.SOME_FIELD_ID

Ihr solltet also sehr genau prüfen, ob Eure Webressourcen tatsächlich noch v4.0 Code-Zeilen enthalten oder nicht doch etwa schon umgestellt wurden auf CRM 2011 (Xrm.Page.).

Weiterhin gilt: Es werden alle Webressourcen untersucht, unabhängig davon, ob Sie in einer Form eingebunden sind oder nur in Eurer Lösung hinzugefügt wurden. Wird gar eine Webressource als vermeintliche Fehlerquelle ausgewiesen, diese wird jedoch nicht von einer Form aus angesprochen, so wird es hier im Einsatz von CRM 2013 auch keine Fehler geben. Die Ressource wurde wohl eher vergessen zu löschen (vielleicht weil man Sie irgendwann doch wieder benötigen könnte Zwinkerndes Smiley .

Ein weiterer Fall kann die Verwendung von jQuery als Bibliothek sein. Auch diese Webressource wird gescannt und nach potenziellen Gefahren untersucht. Und was soll ich Euch sagen. Natürlich enthält diese Ressource potenziell nicht mehr unterstützte Methoden, wie etwa .Disabled oder .ParseXml.

Leider erkennt das Tool hier jedoch nicht, dass jQuery auf Grund von Cross-Browser-Plattform hier verschiedene Funktionen anbietet und je nach Unterstützung des Browser Methode A, B oder C zum Einsatz bringt. In der Praxis kommt es daher in der Regel auch nicht zu irgendwelchen Fehlern.

In der Praxis hat sich daher bewährt eine Quellcode-Dokumentation einzusetzen. Wer eine solche nicht hat, dem empfehle ich den Einsatz von Snapshot.

Auf Basis der Quellcode-Dokumentation lassen sich erheblich bessere Aussagen treffen, ob Eure Systeme potenzielle Fehlerquellen enthalten, die bei einem Upgrade zu Fehlern führen.

Aus der Praxis heraus empfehle ich daher folgende Reihenfolge bei der Ursachenforschung:

      • Ermittlung eingesetzter ISV Lösungen. Wer ist der Anbieter, welche Version habe ich Einsatz?
        • Ermittlung von crmForm. / v4.0 Code-Zeilen die auf Xrm.Page. hin umgestellt werden müssen
                   Hier empfiehlt sich zunächst erst einmal nur die Anzahl zu ermitteln, um je nach Aufwand zu entscheiden,
                   externe Ressourcen mit heranzuziehen, die bei der Migration unterstützen.
  • Werden 2007er Endpunkte im Quellcode angesprochen ( zu identifizieren anhand der URL                                   “…MSCRMServices/2007/…”
  • Kann ich den/die Entwickler ausfindig machen (wenn ich es nicht selbst gewesen bin)?
  • Kenne ich mich selbst in JavaScript Code aus oder muss ich eine Ressource in Anspruch nehmen?

Und dann noch ein Tipp: Nicht nur JavaScript-Code kann zu Problemen führen, auch einige Plug-Ins können im Einsatz mit CRM 2013 ärger bereiten, da die neue Funktion “auto save” eingeführt wird und dies unter Umständen durch den Plug-In-Code nicht berücksichtigt wird. Auch könnte im Plug-In der 2007er Endpunkt angesprochen werden, der ebenfalls nicht mehr unterstützt wird.

Daher gilt auf jeden Fall: Auch die Plug-Ins untersuchen !!!

Diese Aufgabe übernimmt das Custom Code Validation Tool nicht.

———

Fazit: Wer gut vorbereitet sein will, der sollte sich seine Quellcode-Dokumentation unmittelbar zur Hand nehmen und Schritt für Schritt die Analyse durchführen. Ihr könnt – sofern Ihr bereits einen Migrationstermin erhalten habt – diesen noch um einige Tage verschieben und somit die notwendige Sorgfalt wahren, um auch mit der neuen Version Eure Nutzer zu begeistern.

 

Technorati Tags:

2 Gedanken zu “Microsoft Dynamics CRM 2013 | Action required before Upgrade

  1. Die in der von Microsoft gesendeten Punkte werden mir mithilfe des Code Validation Tools leider nicht angezeigt. Was muss man hier tun?
    In der Textdatei werden folgende Punkte beanstandet:
    Xrm.Page.ui.navigation.items.get(); (Beanstandung .items)
    Xrm.Page.ui.controls.get(„…“).setFocus(); (Beanstandung .setFocus)

    Bin ein wenig verwundert, da beides ja mit dem Xrm.Page-Konstrukt umgesetzt wurden.

    Danke für deine Hilfe!

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s