Tips & Tricks – Eigen Widgets in CRM
Eigen Widgets in CRM Introductie De WebUI van CRM 7.0 maakt het mogelijk om je eigen widgets te maken en deze in je eigen view te gebruiken. Dat kan door gebruik te maken van bestaande widgets en deze op te nemen in de CRM applicatie. Maar als een widget niet bestaat, hoe ga je dan te werk? Als voorbeeld nemen we een eigen chat widget, waarmee we in deze tip & trick laten zien, wat er zoal bij komt kijken. Het is een eenvoudige eerste stap, maar maakt duidelijk, dat het niet erg moeilijk is.
Limitering De opzet is gemaakt op een CRM 7.0 systeem met Enhancement pack 1 geïnstalleerd, met daarbij de SAP CRM 7.0 Web UI. Er bestaan mogelijkheden voor eerdere versies, maar die zijn in deze tip & trick niet geprobeerd. Verder zal er gebruik worden gemaakt van de OpenAjax Metadata 1.0 specificatie, om in onze widget van XML code te kunnen voorzien.
Widgets beschikbaar stellen In deze tip ga ik er vanuit, dat u al weet hoe u een widget via CRM customizing beschikbaar kunt maken voor personalisatie door een gebruiker. De gebruiker kan dan kiezen of hij de nieuwe widgets op het startscherm wil hebben of niet.
In het kort volgen hier de stappen om www.google.com toe te voegen. Eerst doen we customizing in SAP CRM. VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 1
Tips & Tricks - Eigen Widgets in CRM
1. Volg het (IMG) customizing pad als volgt:
2. Selecteer: “Define Web Link” en het voer de onderstaande gegevens zoals in de screenshot.
Web Link ID
ZWD_006 (kies uw eigen vrij beschikbare Z-naam)
Web Link Type WDG Widget Link Title
Google
Description
Google
URL
http://www.google.com
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 2
Tips & Tricks - Eigen Widgets in CRM
3. Na het definiëren van de Web Link maakt een widget groep aan met de eerder gedefinieerde WEB Link.
4. Ga na het definiëren van de Web link naar de Business Rol waar de widget (URL) moet worden weergegeven. Selecteer de gewenste Business Rol en klik op Toewijzen Functie Profiel. Voeg het functieprofiel ID WIDGET_LINKS toe en zet in de profielwaarde de Widget groep ID van stap 3.
5. Zodra de Widget-profiel is toegevoegd en opgeslagen aan de Business Rol, bent u in SAP klaar. Het transport, dat is gemaakt kunt u doorzetten naar de gewenste systemen in uw SAP CRM landschap.
De tweede fase kan door de gebruiker worden uitgevoerd. Natuurlijk is dit ook als standaard voor gebruikers toe te voegen, maar wellicht dat gebruikers niet alle beschikbare widgets op hun startscherm willen hebben.
Voor gebruik van de widget gebruiken we de SAP CRM Web UI.
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 3
Tips & Tricks - Eigen Widgets in CRM
6. Nu dient u in te loggen op SAP CRM Web UI met dezelfde Business Rol waarvoor de Widget-profiel is toegevoegd en klik op Persoonlijke instellingen. Uit de Personalisatie Favorieten blok klik op Personaliseren Widgets.
7. Selecteer de widgets, die op het start scherm zichtbaar moeten zijn. Selecteer Google.
8. Ga na het selecteren van de Google Widget naar de startpagina en klik op Persoonlijke instellingen en selecteert de Google widget, die in de vorige stap werd toegevoegd.
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 4
Tips & Tricks - Eigen Widgets in CRM
9. Hierna staat Google als widget op uw startscherm.
De informatie voor de Google widget is afkomstig van wiki blog van Vindo Reddy in de SAP Community Network: http://wiki.scn.sap.com/wiki/display/CRM/Adding+Widgets+on+WEB+UI+Home+page
Opzet van onze widget Onze widget bestaat in feite uit twee aparte widgets. Een widget om chat teksten te verzenden en een widget om de chat log weer te geven. Omdat we nu weten hoe we een webpagina moeten koppelen, zullen we beide widgets eveneens baseren op een webpagina, maar dan onze eigen webpagina met alleen de widgets erin. VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 5
Tips & Tricks - Eigen Widgets in CRM
Verder maken we gebruik van EMAP (Enterprise Mashup Application Platform), die door SAP research is ontwikkeld. Hiermee is het vrijwel zonder kennis van zaken mogelijk om widgets te koppelen in het CRM systeem en daarbij ook de XML code te kunnen leveren. Ook hiermee is het effectief mogelijk om widgets aan te maken. Voor meer informatie over EMAP verwijs ik naar de SAP wiki pagina: http://wiki.scn.sap.com/wiki/display/Research/EMAP
Voor een simpele widget gebruiksinstructie van EMAP kunt u het document vinden op: http://scn.sap.com/docs/DOC-22676.
Met behulp van het genoemde document van auteur Rama Gurram is de volgende instructie gemaakt.
Om EMAP te benaderen moet basis beheer een URL hiervoor hebben opgezet. Dat kan ook door een navigatie link in de SAP CRM Web UI op te nemen.
De Chat en Chatlog widgets Start de EMAP applicatie op (eventueel direct in een eigen browser als de link in SAP CRM Web UI nog niet beschikbaar is). Bij de start krijgt u een overzicht van al bestaande applicaties.
Je kunt een bestaande selecteren of een nieuwe applicatie aanleggen.
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 6
Tips & Tricks - Eigen Widgets in CRM
Indien u “New” kiest geeft u een unieke naam (bijvoorbeeld: zz_user_chat) en slaat deze op. De naam verschijnt daarmee in de lijst en als u er op dubbelklikt verschijnt een “lege” webpagina. Gefeliciteerd. Blijkbaar is er dus al een en ander geregeld, zodat er een “venster” beschikbaar is om onze widget te kunnen bevatten.
Voordat we verder gaan, moet duidelijk zijn, dat een widget zonder programma code natuurlijk geen echte waarde heeft. Waarde krijgt de widget als er code aan wordt toegevoegd. Dit moet volgens een bepaalde standaard. Binnen EMAP wordt gebruik gemaakt van de OpenAjax formaat: http://www.openajax.org/member/wiki/OpenAjax_Metadata_Specification
Dat leidt tot een standaard raamwerk voor de widget programma code: <widget xmlns="http://openajax.org/metadata" name="UwNaam" id="http://openajax.org/bijoux/widgets/Send" height="UwHoogte">
Send <properties> <property name="UwNaam" topic="TopicID" publish="true" />
We hebben al een lege applicatie voor onze widget aangelegd (zz_user_chat) en deze gaat onze chat teksten versturen. VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 7
Tips & Tricks - Eigen Widgets in CRM
Open uw widget met de Enterprise Widget Editor en voeg de onderstaande code in: <widget xmlns="http://openajax.org/metadata" name="Send" id="http://openajax.org/bijoux/widgets/Send" height="45">
Send <properties> <property name="chat" topic="chat_message" publish="true" />
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 8
Tips & Tricks - Eigen Widgets in CRM
this.onReady = function() { var viewport = new Ext.Viewport({ border: false, hideBorders: true, style: 'padding: 5px; background: #fff;', layout: 'fit', items: { layout: 'anchor', items: this.chatField } }); } } //--> ]]>
In principe is hiermee het eerste deel van de chat widget gereed. Dit onderdeel zal de chat teksten versturen. Op het scherm gaat dat er zo uitzien:
Maar daarover later meer.
Maar natuurlijk willen we ook weten welke berichten we krijgen en onze eigen berichten terugzien. Dat kan in een log en daarvoor maken we ook een nieuwe widget aan. We kiezen de naam zz_user_chatlog.
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 9
Tips & Tricks - Eigen Widgets in CRM
Open ook deze widget met de Editor en voeg de onderstaande code in: <widget xmlns="http://openajax.org/metadata" name="ChatLog" id="http://openajax.org/bijoux/widgets/Send" height="220">
ChatLog <properties> <property name="chat" default="" topic="chat_message" subscribe="true" />
Vervolg volgende pagina
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 10
Tips & Tricks - Eigen Widgets in CRM
this.onReady = function() { var viewport = new Ext.Viewport({ border: false, hideBorders: true, style: 'padding: 5px; background: #fff;', layout: 'fit', items: { layout: 'anchor', items: this.chatField } }); } } //--> ]]>
Dit onderdeel is de chat log en zal er op het scherm zo uitzien:
OK. We hebben nu twee widget applicaties, maar die staan nog niet in het startscherm van de SAP CRM Web UI. VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 11
Tips & Tricks - Eigen Widgets in CRM
Daarvoor moeten we achterhalen wat nu precies de URL is van beide widgets. Dat gaat eenvoudig. Selecteer de widget en kies de optie “About this Gadget”. Deze opent een venster met daarin wat informatie. Naast de ID van de gadget worden ook een URI en desktop URL getoond. Met de URI kunt u op de al eerder beschreven wijze de widget koppelen.
Hiervoor is geen screenprint gegeven, maar dat is, omdat die in de adres data veel informatie bevat over onze systemen en die wil ik niet met u delen.
Tot slot Let op. Het is, ondanks deze tip, niet eenvoudig om een geheel eigen widget te maken. Er zijn echter op internet diverse bronnen beschikbaar, die het mogelijk maken om eigen widgets te maken. Probeer het eens met bestaande widgets, waarvan u kleine stukjes code aanpast. Het is gemakkelijk om bijvoorbeeld een eigen afbeelding in een widget op te nemen, als die een afbeelding bevat. Verander simpelweg de bestandsnaam en pad in uw eigen bestandsnaam en pad. Let hierbij op dat de SAP CRM server (waar de WebUI service draait) dat pad kan bereiken en het bestand mag lezen. Test uw widgets voordat u ze productief inzet. Een fout kan ertoe leiden, dat de start pagina van SAP CRM Web UI niet meer geladen kan worden en dat is erg vervelend. Dus wees voorzichtig.
Deze tip is aangeleverd door Superp Technology Consultants BV (http://www.superp.nl/). Voor vragen of extra informatie over dit onderwerp kunt u via email contact opnemen met Robbie Veenstra (mailto:
[email protected]).
VNSG magazine jaargang 19 NR. 1 MAART 2015
Blad 12