Beruflich Dokumente
Kultur Dokumente
MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFT
DYNAMICSCRM2013
ModuleOverview
MicrosoftDynamicsCRM2013isahighlyflexiblesoftwareplatformthatcanbecustomizedtomanagemanyprocessesand
monitormanyaspectsofbusinessperformance.
ThecorefunctionalityisbuiltaroundCustomerRelationshipManagement,inparticularformarketing,salesandcustomer
serviceapplications.However,manycustomersuseMicrosoftDynamicsCRMtocontrolavarietyoffunctionsinalltypesof
commercial,governmentandnotforprofitsectors.ThisbroaderuseoftheplatformhasledtothetermxRMbeingused
wherethexrepresentsanythingrelationshipmanagement.
ThiscourseexplainshowMicrosoftDynamicsCRMcanbecustomizedtoletusersrecordandretrievestructuredinformation
thatisrelevanttotheorganizationandtheprocessesthatyouhavetomanage.
ThismoduleexplainshowtouseSolutionstomanageyourworkandalsointroducessomeimportantterminologyand
conceptsthatareusedwhenyoubuildthexRMimplementation.
Objectives
Theobjectivesare:
DescribehowtouseaSolutiontokeeprelatedchangestogether.
DiscusstheimportanceofusingPublishersandprefixestohelpidentifythesourceofchanges.
Defineimportantterminologyforcomponentsthatyoumighthavetocustomize.
IntroducethescenarioofthefictionalbusinessAdventureWorksCycles.OutlineAdventureWorksCycles
customizationrequirementsthatyouwillbuildinthelabsthatappearinthefollowingmodules.
CustomizationorDevelopment?
MicrosoftDynamicsCRM2013canbeadaptedtosuityourorganizationsrequirementsinseveralways.Youcanmakebig
changeswithpointandclickcustomizationofthesystem,butforsomebusinessrequirementsyoumighthavetouseother
methods,suchaswritingJavaScripttomanageclientsidebehaviorofforms,buildingWorkflowstoautomateyourprocesses
orcreating.Netpluginsforthemostcomplextasks.
SomewaysthatyoucanalterthebehaviorofMicrosoftDynamicsCRManddefinetherecordsandfeaturesthatarepresented
tousersmightbeconsideredconfiguration,customization,extendingordevelopment.Thislessondescribessomemethods
thatareavailabletocreateaMicrosoftDynamicsCRMsystemtosuitaparticularsetofrequirements,anddetailsthe
approachesthatarecoveredinthistraining.
CustomizationandConfiguration
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 1/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
ThefocusofthiscourseisabouthowtochangethewayMicrosoftDynamicsCRMworkstosuityourbusinessrequirements
byusingpointandclickmethods.Thesemethodsrequireonlythetoolsthatareprovidedintheuserinterface(UI),and
mightequallybedescribedascustomizationorconfiguration.Therefore,thesetermsareusedinterchangeablyinthiscourse.
Thistypeofcustomizationisdistinctfromextendingordevelopmentwhichrequiresexternalsoftwaretoolstocreatenew
componentssuchas.netpluginsorJavaScriptfunctions,orupdatingcomponentsbydirectlyeditingtheassociatedXMLin
anexportedsolutionpackage.AlthoughthesecomponentsandchangesmightbeincludedinaSolutionalongsideother
customizationsandmightbereferredtoincertainareasduringthiscourse,thereisnotrainingincludedabouthowtocreate
suchextensions.
Whenyouplan,implementandcustomizeyoursystemwerecommendthatyoureviewtheMicrosoftDynamicsCRM
ImplementationGuide.Thisguideisseparatedintoseveraldocumentstohelpwithyourplanningefforts.Thesedocuments
includethefollowing:
PlanningGuide
InstallingGuide
OperatingandMaintainingGuide
AdministrationGuide
ReportingGuide
CustomizationGuide(newforMicrosoftDynamicsCRM2013)
MicrosoftDynamicsCRM2013ImplementationGuidefordownload
http://go.microsoft.com/fwlink/?LinkId=313320
MicrosoftDynamicsCRM2013ImplementationGuideOnline
http://go.microsoft.com/fwlink/p/?LinkID=317735
MicrosoftDynamicsCRMSolutions
SolutionsinMicrosoftDynamicsCRMletyoupackagetogetherasetofcustomcomponentsthatworkwithoneanotherto
providefunctionalitythatsomeorallusersmusthave.ThislessondescribeshowtocreateanduseSolutionstoorganizeyour
customization,andtodeployyourchangesfromadevelopmentortestsystemtoaliveproductionenvironment.
WhyuseSolutions?
TocustomizeMicrosoftDynamicsCRMtosuitaspecificscenario,youmustfirstunderstandtheorganizationsrequirements.
Typically,abusinessanalystwillconductmeetingsandworkshopswithkeypeople.Thebusinessanalystwilldetermine
howuserscarryouttheirjobs,thedatathattheyworkwithandhowtheymustmeasureprogressandperformancefortheir
processes.
Thesediscussionswillresultinasetofbusinessrequirements.Thesemustthenbetranslatedintoaproposedsetofchanges
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 2/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
thatwillprovideasolutiontothoserequirements.Thisinvolvesdiscussionsbetweenthebusinessanalystandthetechnical
expertswhocandeliverthenecessarycustomizations.Sometimesthismightbethesameperson,especiallyinsmaller
organizations.
Requirementsmightbeseparatedintodifferentphases,orfordifferentareasofthebusiness.Eachsetofrequirementsthatis
groupedtogetherwillhaveaproposedsolution.
InMicrosoftDynamicsCRM,aSolutionisawaytoorganizethecustomizationsthatyoumaketothesystemtomeeta
specificsetofbusinessrequirements.Bydoingthis,youcandeliverawholesetofchangesatthesametime.Thismight
includemanynewormodifiedcomponents,especiallyforyourinitialgolive.AdditionalSolutionsmighthavesome
incrementalchangesforlaterphasesofaproject,asyourollouttheusethesystemtomoredepartmentsoraddmorecomplex
functionality.
Solutionsprovidethefollowingbenefitstohelpyoumanagechanges:
Youcanworkonjustthecomponentsthatyoumusthavewithoutanydistractionorconfusionfromeverythingelseinthe
system.
ItmightbeeasiertorecordthechangesthatyouaremakingifyoucandetaileachSolutionseparatelyandthenrelateeach
Solutiontotheoriginalrequirements,insteadofjusthavingonelargedocument.
WhenyourSolutionisready,itcanbeexportedwithallthenecessarycomponentspackagedtogether,andthenyour
Solutioncanbeimportedintoanothersystemfortestingortouseinproduction.
Yourexportedsolutionpackagewillonlycontainthecomponentsthatyouhaveselectedtobeadded.Therefore,your
solutionpackagewillbesmallerandmoremanageablethanifyouexportthewholesystemSolution.
Youcansavethisexportedsolutionpackageaspartofyourchangecontrolrecords.
AnearlierSolutioncanbeusedtohelprollbackcertainunwantedchangesinsomecircumstances.
Note:EvenifyouonlyhaveoneMicrosoftDynamicsCRMsystem(onpremisesorMicrosoftDynamicsCRM
Online),youwillstillbenefitfrommanyoftheadvantagesofusingSolutionstomanageyourcustomizations.
Forexample,youcanusedifferentSolutionsandPublishersfordifferentsetsofrequirements,toupdateversion
numberstoalignwithyourdocumentation,andtoexportyourSolutiontokeeparecordofitscontentsorto
rollbacktoapreviousstate.However,youmightprefertoworkontheDefaultSolutiondirectlysothatyoucan
makeallthecustomizationsinonelocation.Thisisavalidchoice,andyoushouldworkinthewaythatgives
youthebestoutcome.
DefaultSolution
WhenanOrganizationiscreatedinMicrosoftDynamicsCRM,thesystemcreatesaSolutionnamedtheDefaultSolutionthat
containsallthecomponentsinthesystem.YoucanmodifythecomponentsofthesystemdirectlyintheDefaultSolution,or
createnewSolutionsforyourcustomizations.TheDefaultSolutioncanbeexportedfromtheapplicationandthenimported
intoanotherMicrosoftDynamicsCRMOrganization.
Note:YoucannotexporttheDefaultSolutionasaManagedSolution,andyoucannotdeployacompleteDefault
SolutionfromMicrosoftDynamicsCRMonpremisestoMicrosoftDynamicsCRMOnlineortheotherway
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 3/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
around.YoucandeployacustomSolutionbetweentwoMicrosoftDynamicsCRM2013systemsthatuseeither
platform.
However,workingintheDefaultSolutionapproachcanbecomemoredifficultasyoursystembecomesmorecomplex.You
willalwayshaveallthecomponentsofthesystemtobrowsethrough,althoughyoumightonlyneedsomeitemsforthe
requirementsthatyouareworkingon.Thisalsomeansthattheexportedsolutionpackageswillgrowlargerasyouaddmore
elementstothesystem.Italsobecomesdifficulttodeterminethecomponentsthathavechangedfromoneversionofyour
DefaultSolutiontothenextversion.
WerecommendthatyoucreateanewSolutionforeachseparatesetofbusinessrequirementsthatyouaretryingtomeet,
insteadofcustomizingtheDefaultSolutiondirectly.AnythingthatyouaddormodifyinyourSolutionwillupdatethe
DefaultSolutioninanycase.Thisalsomeansthatothercustomizerscanviewandbuildonyourworkasyouconfigurethe
system.
CreateaNewSolution
Tokeepasetofcustomizationstogether,youcancreateanewSolutiontoworkin.Todothis,followthesesteps.
1. SignintotheMicrosoftDynamicsCRMOrganizationwithauseraccountthathaseithertheSystemCustomizeror
SystemAdministratorSecurityRole.
2. Onthenavigationbar,clickorpointtoMicrosoftDynamicsCRM,andthenclickSettings.
3. IfyouarenotalreadyintheSolutionsarea,clickorpointtoSettingsinthenavigationbarandthenclickSolutions(you
mighthavetoscrollfurthertotherighttoaccessSolutions).
4. AlistofallSolutionswillbedisplayed.
5. ClickNewinthecommandbar.
6. TheNewSolutionformwillbedisplayed,asshownintheNewSolutionPropertiesfigure
7. Completethefieldsontheform(discussedinmoredetaillaterinthistopic),andthenclickSave.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 4/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
FIGURE1.1:NEWSOLUTIONPROPERTIES.
Note:MicrosoftDynamicsCRM2013workswithtouchscreendevices.Toavoidrepetition,allstepsinprocedures,
demonstrationsandlabsinthistrainingcoursethatrefertobuttonsorotherinterfaceelementswilluseonlythe
termclick.Unlessspecificallymentioned,youcantapbyusingatouchenableddeviceinsteadofclickingwith
amouse.Whenthetermsrolloverorpointtoareused,youmusttapyourtouchscreen,becausethereisno
equivalentgestureforthisaction.
EntertheDisplayNamethatyouwanttousetorefertothisSolution.YoucanchangetheDisplayNameatanytime.When
youmovefromtheDisplayNamefield,theformwillcopytheDisplayNametotheNamefield,andremoveanycharacters
thatarenotlettersornumbers(thisincludesremovingspaces).YoucannotchangetheNamefieldaftertheSolutionissaved.
Bydefault,theNameisalsousedaspartofthefilenameofyoursolutionpackagewhenyouexportaSolution.
CompletetheVersionfield,byusingtwo,three,orfournumbersthatareseparatedbydecimalpoints,intheform
major.minor.build.revision,suchas2.1.12.3.Ifyouuseonlyonenumbersuchas23,thesystemwilladdthreezerosafter
thisnumbersothatitisdisplayedas23.0.0.0.
Youcanuseanynumbersforthisfield,andyoucanupdatethenumbersinwhateverwayisbestsuitedtoyourchange
managementprocesses.Ifyouhavenoexternalreferencetofollow,youmightchoosetouseyear.month.day.revision,suchas
2013.10.28.3toindicatethelastdatethattheSolutionisupdated,andthethirdrevisiononthatsameday.
TheversionnumberthatyouenterforyourSolutionisappendedtotheNametocreatethedefaultfilenameforthepackage
whenyouexporttheSolution,althoughyoucanenteradifferentfilenameifyouprefer.
BestPractice:TheSolutiondescriptionshouldcontainasummaryofthefunctionalitythattheSolutionprovides.
YoumightalsowanttousetheSolutiondescriptionforshortchangecontroldetails,andtoaddinformation
aboutnewitemsormodificationsthataremade.Ifyoudothis,youshouldaddnewlinesatthetopinsteadofthe
bottom,becausethefieldcanonlyhold2,000charactersandwilltruncateanythingthatislonger.Itmightalsobe
quickertorefertotheSolutiondescriptionifthelatestinformationislocatedatthetop.Thedescriptionis
includedintheXMLinyoursolutionpackagewhenyouexport.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 5/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
PublishersandPrefixes
BeforeyousavethenewSolution,youmustalsospecifyaPublisherfortheSolutionintheNewSolutionform.This
PublishershowsothercustomizersofyoursystemwhocreatedtheSolutionandthecustomizationstheSolutionincludes,and
alsospecifiesashortprefixformanynewcomponentsthatyoucreate.
Whenyoucreateanentity,fieldorrelationshipinanySolutionthatislinkedtothisPublisher,theprefixthatyoudefineis
addedbeforetheschemanamethatisusedinternallyinthesystemforthatcomponent.Thismakessurethattwocustomizers
whousedifferentprefixesfortheirPublisherswillalwayscreateuniquecomponentsthatwillnotconflictwhentheir
Solutionsaredeployedtothesamesystem,eveniftheynamethecomponentsthesame.
Theprefixthatyoudefineshoulddescribewhoisdoingthechanges,andpossiblyonbehalfofwhom.Thismeansthatyour
newcomponentswillalwaysindicatewhocreatedthecomponentsandwhy.Forexample,ifyouworkatAdventureWorks
CyclesandbuildaSolutiontomeettherequirementsofthesalesdivision,youmightuseaprefixofawcsales.Theawc
meansthattheseareinhousecustomizationsinsteadofcustomizationsthatarecreatedbyanexternalpartnerandsaleswill
helplaterwhenyoutrytorecallwhyaspecificnewfieldisadded,andyouwillknowwhichbusinessrequirementsdocument
toreferto,orwhotoask.Inlargerorganizations,youmightwanttoidentifypeoplefromtheprefixinsteadofjustthe
company.However,theprefixcanbenomorethaneightcharacters.
IfyouexportyourSolutionasaManagedSolution,thepublisherisespeciallyimportant.AfteryourSolutionisimportedinto
yourtargetsystem,onlySolutionswiththesamepublisherwillbeabletoupdatethosecomponents.ExportingSolutionsand
selectingmanagedorunmanagedsolutionsisdiscussedinmoredetailintheExportandImportSolutionslesson.
TocreateandspecifyanewPublisherforyourSolution,followthesesteps.
1. ClickthelookupiconnexttothePublisherfieldontheNew
Solutionform.
2. IfthePublisherthatyouwanttouseisnotshowninthelist,clickLookUpMoreRecords.
3. IntheLookUpRecorddialogbox,clickNew.
4. EnteraDisplayNameforyourPublisher.Whenyoumoveawayfromthefieldthenameischangedtolowercaseletters
andiscopiedtotheNamefield,withnonalphanumericcharactersandspacesremoved.
5. AddimportantinformationtotheDescriptionfieldthatoutlinesinformationforthePublisherrecord.
6. EnteraPrefixofaminimumoftwoandnomorethaneightlowercaselettersandnumbers.
7. WhenyouclickortabawayfromthePrefix,theOptionValuePrefixisautomaticallygenerated.
8. EnteryourContactDetailsifyouwantto.Thisismoreimportanttoindependentsoftwarevendors(ISVs)orother
partnersthatcreateSolutionstobesoldtoorusedbytheircustomers.However,theContactDetailscanalsobeuseful
inlargeorganizationsforinternalcustomizationwork.
9. ClickSaveandClose.YouwillbereturnedtotheLookUpRecorddialogboxthathasyournewPublisherselected.
10. ClickAddtousethisPublisherforyourSolution.
WhenyoumodifyanOptionSettoaddnewitems,theOptionValuePrefixnumberprovidesthedefaultintegervaluesfor
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 6/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
theseitems,tohelpavoidconflictsbetweenoptionsthatareaddedbydifferentcustomizers.Werecommendthatyouaccept
thisdefaultvalueinyournewPublisher.YoucanchoosetooverridetheofferedvaluesforanyparticularOptionSetitemif
youmust.MoreinformationabouthowtocreateandmodifyOptionSetscanbefoundintheCustomizingFieldsmodule.
BestPractice:WhenyoucreatetheMicrosoftDynamicsCRMOrganizationthesystemwillcreateaPublisher
calledDefaultPublisherfor<yourOrganizationname>,thatisusedbytheDefaultSolution.Youcaneditthe
prefixonthisPublisheranduseitinsteadofhavingtocreateyourownPublisher.Ifyouhavemorethanone
customizerworkingondifferentsetsofrequirements,werecommendthatyoucreateoneormorenewPublishers
andusetheseforyourSolutionstobeabletoseparatethecustomizationstheycreate.Youdonothavetohavea
differentPublisherforeverySolution,onlyforSolutionsthatarebeingmodifiedbydifferentpeopleorfor
differentpurposes.Ifyouonlyhaveonepersoncustomizingthesystem,youcouldusetheDefaultPublisher.
However,werecommendthatyouchangetheprefixthattheDefaultPublisheruses.
WorkwithMultipleSolutions
YournewSolutionisacontainerforasetofcomponentsthatworktogethertoprovidethefunctionalityforwhichyouare
asked.Tomodifythecomponents,youcancreatenewcomponentsinyourSolution,oraddexistingcomponentsfromthe
systemtoyourSolution.
EvenwhenyouareworkinginyourownSolution,anycomponentsyoucreateormodifyarechangedintheDefaultSolution,
becauseyourSolutiononlycontainsreferencestothesecomponents,notcopiesofthecomponents.Thismeansthatifyou
deletetheSolutionthatyouarecustomizingthisremovesthewrapperaroundthecomponentsthecomponentsremainin
thesystem.
ItalsomeansthatiftwocustomizersworkonthesameitemintwoseparateSolutionsonthesamesystem,eachcustomizer
willbeabletoviewtheothercustomizerschanges.Additionally,bothsetsofchangesarepresentinanysolutionpackage
thatthecustomizersexport.Youmightconsiderthisanadvantagebecauseanyinteractionbetweenthosechangescanbe
viewedandtested.However,youcouldalsoconsiderthisadisadvantage,ifonesetofchangesisincompletewhentheother
setofchangesisdeployedtoanothersystem.Youhavetoconsiderhowtohandlesuchsituationsifyouhaveseveralpeople
whoworkdirectlyonthesamesystematthesametime.
Note:AnySolutionthatyoucreateandmodifywillbeinanunmanagedstate.ASolutiononlybecomesa
ManagedSolutionwhenitisexported,andthenimportedintoatargetsystem.IfyoudeleteaManagedSolution,it
willdeleteallthecomponentsthattheSolutionincludes,andanyrelateddatafromcustomentitiesinthe
Solution.
Onealternativeisforcustomizerstoworkonseparatesystemsandthendeploytoasingletestsystemandthendeploytoyour
liveenvironment.Thedisadvantageofthisapproachisthatitcouldleadtosomeduplicationofeffort,orconflictsinthe
functionalitythatarenotdiscovereduntiltheSolutionsarebroughttogether.
Whenyoureceiveanupdatedsetofrequirementsthatbuildonworkthatyouhavealreadycompleted,youcanchooseto
reusethesameSolutionandupdatetheversionnumber,orcreateawholenewSolution.
Ifthechangesareminor,suchasthosechangesthatareinresponsetofeedbackthatisreceivedfromuseracceptancetesting
beforeyoudeploytotheproductionenvironment,youshouldusetheexistingSolutionandupdatetoanewversionnumber.
YoumightwanttouseanewSolutioniftheoriginalSolutionhasmanycomponentsthatnolongerhavetobeupdated.A
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 7/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
newSolutionwouldbeeasiertomanageifthenewrequirementsincludeupdatesforonlyafewelementsoryoumustcreate
newcomponents,suchasinasecondphaseoftheMicrosoftDynamicsCRMproject.
SolutionComponents
YoucancreateoraddmanycomponentstoyourSolution.Somecomponentsmakeupthemetadatathatdescribeshowthe
componentsworktogetherandhowthecomponentsarepresentedtousers.Othercomponentsrepresentmoredirectlyhow
dataisstoredintheSQLdatabase.Thechangesoradditionstoentities,fields,relationshipsandoptionsetsthataremadeby
usingtheuserinterface(UI)toolsortheapplicationprogramminginterface(API)affecttheschema,withouthavingtomake
changesdirectlyintheSQLdatabase.
OtherSolutioncomponentsstorethedefinitionofUIcomponents,suchasforms,views,chartsanddashboards.Security
Roles,Processesandpluginsdescribehowthesystemoperatesandbehaves.Youcanalsoinclude,forexample,templatesfor
emailmessages,Contracts,andknowledgebaseArticlesinyourSolution.
Together,thesecomponentsformyourcompleteSolution,andprovidethefeaturesthatyouarebuildingbyusingthe
MicrosoftDynamicsCRMplatform.
AddingNeworExistingComponentstoyourSolution
ToaddcomponentstoaSolution,followthesesteps.
1. NavigatetoSettings>Solutionsandthendoubleclickyour
Solutioninthelisttoopenit.
2. ClickComponentsinthesolutionexplorernavigationpaneontheleftsidetoviewalistofallthecomponentsinyour
Solution.
3. ClickthedropdownarrowontheNewbuttonandthenselectacomponenttypetoopenaformforanewcomponentof
thattype.
4. ClickthedropdownarrowontheAddExistingbuttonandthenselectacomponenttypetoadd.Inthedialogboxthat
appears,selectaspecificcomponentofthattypetoaddareferencetothatcomponentinyourSolution.
5. Or,selectanodefromthesolutionexplorertreeandthenclicktheNeworAddExistingbuttonstoaddacomponentof
thattype.Forexample,clickDashboardsandthenNewtocreateanewDashboard.
RemovingComponentsfromyourSolution
ToremoveacomponentfromaSolution,youmustfirstselectthecomponentonthemainlistorontherelevantnodeofthe
solutionexplorer.Youcanthenselecttodeleteorremovethecomponent.WhenyouselectRemove,thisremovesthe
referencefromyourSolution.However,thecomponentremainsintheDefaultSolution.WhenyouselectDelete,thistriesto
removethecomponentfromthewholesystem.Somecomponentscannotbedeleted,suchassystementities(thosethatare
builtintothesystem,suchastheAccountorContactentity)ortheSystemAdministratorSecurityRole.Acomponentthat
dependsonanothercomponentcannotbedeleted.
WhatCannotbeAddedtoaSolution?
SomechangesyoumaketothesystemcannotbeaddedtoaSolution.Exceptionsincludeusers,Teams,BusinessUnits,
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 8/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
Queues,Goals,theSubjecthierarchy,andanythingthatrelatestotheproductcatalog,becausethesearedatarecords,and
theymustbecreatedindependentlyineachOrganizationthatyouuse.
Ifyouhaveviews,reportsorcustomcodethatusesthesetypesofrecords,youshouldmakesurethattheyhavematching
namesinallsystems,andrelyontherecordnamesforanyqueriesorreferences.Tosavetimeandreducetheriskofhuman
error,youmightchoosetocreatesomerecordsbyusingtheImportDataWizardorsimilarmethods.Then,youcaninclude
GUIDsfortherecordsinyourimportfiletomakesurethattheserecordsareidenticalinallsystemsandthatanyview,report
orcustomcodethatreferencestheserecordsisreliable.Adetaileddiscussionabouthowtoimportdataisnotpartofthescope
forthiscourse.
ExportandImportSolutions
Afteryouhavecompletedasetofcustomizations,youcanexportyourSolution.Thisexportedsolutionpackageisa
compressedfilethathasazipfilenameextension(.zip).The.zipfilecontainsseveralXMLfilesandothertypesofcontent
suchas.xaml,.dllandimagefiles,dependingonthecomponentsintheSolution.Youshouldkeepacopyofthissolution
packageinasecurelocationaspartofyourchangemanagementprocess.
Typically,youwillworkonchangesinoneMicrosoftDynamicsCRMOrganizationandthenexportasolutionpackageto
importintoanotherOrganization(thismightbeonthesameserverorinadifferentenvironment).Thismightbeyour
productionsystem,oryoumighthaveanadditionalOrganizationthatissetupforuseracceptancetesting(UAT)ortraining
beforeyoureleasenewfeaturesfortheusers.YoumightperformseveralrevisionsandchangestoaSolutionbeforeitis
signedoffasmeetingtheoriginalrequirements.
ToexportyourSolution,selectanytoplevelcomponentnodeinsolutionexplorer,oronInformationorComponents,and
thenclickExportSolutionintheribbon.YoucanalsonavigatetoSettings>Solutions,selectyourSolutioninthelistand
thenclickExportinthetoolbar.
TheExportSolutionwizardguidesyouthroughtheprocess,checkingdependenciesandaskingyouforadditionalsettings
thatyoumightwanttoinclude.MakesurethatyouselectthecorrectPackageType,asshownintheExportSolution
WizardSelectPackageTypeStepfigure.
FIGURE1.2:EXPORTSOLUTIONWIZARDSELECTPACKAGETYPESTEP
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSiz 9/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
Forinternalchangesthatarebeingdeployedfromonesystemtoanother,youshouldusuallyselecttoexportyourSolutionas
Unmanaged.
ManagedSolutionsareusedtodistributecustomizations,forexampleifyouworkforanIndependentSoftwareVendor(ISV)
thatcreatesMicrosoftDynamicsCRMaddonstoselltoyourcustomers.ManagedSolutionshavefeaturesthatmakeiteasier
forasoftwarevendortocontrolwhathappenstoitsSolutionafterdeployment,anditcanalsohelptoprotectthesoftware
vendorsintellectualproperty.
OnlyduringtheexportprocesscanyoudeterminewhetheraSolutionismanagedorunmanaged.Ifyouexportamanaged
Solution,wealsorecommendthatyouexportanunmanagedcopy.Thishelpsmakesurethatyoucanimportthatcopyifyour
originalenvironmentfailsforanyreason.Then,youcanmakemorechanges,whereasthecomponentsofamanagedSolution
couldbelockeddownbyusingmanagedpropertiestopreventanychangesthatmightinterruptthefunctionalityofthe
Solution.
ToimportaSolution,navigatetoSettings>Solutions,clickImportonthetoolbar,andthenfollowthestepsfortheImport
Solutionwizard.
IntheimportofanunmanagedSolution,allthechangesarewritteninthesystem,andthechangescanbeviewedinthe
DefaultSolution.TheSolutionthatisinthesystemonlyholdsreferencestothesecomponents.Ifthesystemthatyouimport
intodiffersfromthesystemthatyoubuiltintheSolution,thedifferenceswillappearinyourcomponents.Referringtothe
Solutioninthenewsystemafteritisimportedisnotanaccuraterecordofwhattransported.Forexample,ifthetargetsystem
alreadyhadsomecustomfieldsontheAccountentity,andtheSolutionfileincludestheAccountentity,thenwhenyourefer
totheimportedSolution,althoughthecustomfieldsarenottransportedwiththisSolution,thecustomfieldsarevisible.The
prefixesoncustomcomponentshelpidentifychangesthatbelongtothesameSolution.However,theonlyaccuraterecordof
whatisimportedisthesolutionpackagecompressedzipfile.
YoucannotuninstallanunmanagedSolutionbutyoucandeleteit.DeletingaSolutiondoesnotreversetheimportprocess,
becausetheimportedchangesareincorporatedcompletelyintothesystem.IfyoudeleteanunmanagedSolution,no
componentsaredeleted,regardlessofwhethertheSolutioniscreatedinthissystemortheSolutionisimported.
WhenseveralSolutionsareimportedthatcontainchangestothesamecomponents,thelastSolutionthatisimported
overwritespreviouschangesinthesystem.IfSolutionsareimportedtoatestenvironment,andthenimportedtoaproduction
environment,makesurethatyouimportallSolutionsinthesameorderortheresultsmightdiffer.
IfyouimportamanagedSolution,nochangesaremadetothesystemcomponents.TheSolutionkeepsthedefinitionsofits
componentsseparately,andtheapplicationdisplaysacombinedversionoftheDefaultSolution,allmanagedSolutions,and
anyotheradditionalunmanagedchangesthataremade.ThismeansthatwhenyoudeleteamanagedSolutionitdeletesall
thecomponentsthatareimported,andleavesthesystemthesameasbeforetheSolutionisimported.Thisletsyouimporta
managedSolutionwiththeconfidenceofknowingthatyoucanremovetheSolutionlater,ifthisisnecessary.
Note:AdetaileddiscussionabouthowtousemanagedSolutions,configuremanagedpropertiesandunderstand
layeringandthecoexistenceofmultipleSolutionsisnotinscopeforthistrainingcourse,andismoreappropriate
fordevelopers,insteadofcustomizers.
MicrosoftDynamicsCRMVersionsandSolutions
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 10/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
YoucannotimportaSolutionthatisexportedfromasourceenvironmentthathasalatermajororminorversionthanthe
target,topreventissueswheretheSolutiondoesnotworkasexpected.Forexample,asystemthatisrunningMicrosoft
DynamicsCRMversion6.0.0.809couldnotimportaSolutionthatiscreatedinasystemthatisrunningversion6.1.0.0
becausetheminorversionnumberofthetarget(0inthiscase)isearlierthanthesource(1inthisexample).
Onlythemajorandminorversionnumbersarerelevant(thefirsttwonumbers),nottheupdaterolluporbuild(thelasttwo
numbers).
ToenableyoutoexportaSolutionintendedtobeimportedonasystemthathasanearlierversion,anewfeaturewillbe
availableinMicrosoftDynamicsCRM2013aroundthesametimeframeasthefirstminorversionupdate.Youcanusethis
featuretomodifyanexportedSolutiontoremovecomponentsorpropertiesthatarenotsupportedonanearliersystem
version.Thisfunctionalityisknownasdownleveling,andisnotavailableinthereleasetomanufacture(RTM)versionof
MicrosoftDynamicsCRM2013.Thefeatureisnotneededatthistimebecausetherearenopreviousversionsavailable.
Thisfeaturewillonlysupportdifferentminorversions.YoucannotexportaSolutionfromMicrosoftDynamicsCRM2013to
useonaMicrosoftDynamicsCRM2011system,andyoucannottargetadifferentmajorversionusingdownleveling
(internallytheseareversions5and6).
IntroductiontoEntityCustomization
Acommonbusinessrequirementforanycustomdatabaseapplicationistostoreadditionaltypesofdatathatdonotmatchthe
modeloftheexistingsystem.Thismightbesomethingsimple,suchaspiecesofdataaboutanexistingtypeofrecord,suchas
aContact,oramorecomplexrequirementtomanageinformationaboutawholenewclassofobjects,suchasprojects,
buildingsorfundingapplications.
Thislessonintroducesimportantterminologyforthistypeofcustomizationworkthatisusedintherestofthecourse.Italso
describeshowsomeofthesepartsarestoredinaSolution,andsomeconsiderationsforhowcomponentsdependonone
another.
Entities,Fields,Forms,Views,andCharts
InMicrosoftDynamicsCRM,somecomponentsarefrequentlycustomizedtogether.Thesearethebuildingblocksofhow
dataisstructured,storedandretrievedinyoursystem.
Anentityisatypeofrecord,suchasAccount,Case,ProductorGoalMetric.Whenyoucreateanentity,theMicrosoft
DynamicsCRMplatformcreatesatableintheSQLdatabasetostorerecordsthatuserscreate,andeachrecordisstoredina
rowofthattable.
However,thetermentityisusedinMicrosoftDynamicsCRMinsteadoftablebecausetheconceptofanentityalso
includesothermetadatathatdescribeshowrecordsaredisplayedtousers.Whenyouexpandanentitynodeinthesolution
explorer,othernodesshownbelowtheentity,andinanexportedsolutionpackagethenodesareinsidethesectionofthe
XMLforthatentity.
Fourofthecomponentsthatareshownundertheentitynodeincludethefollowing:
Fields
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 11/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
Forms
Views
Charts
Althoughthesecomponentsarediscussedinmoredetailinlatermodules,theyaredefinedheretomakesurethattheseterms
areclearlyunderstood.
Note:Thesecomponentsdescribemetadataofanentityandhowtheentityisdisplayedtousers.Thecomponents
arepresentedinthesolutionexplorerandintheXMLofanexportedSolutionPackageaspartoftheentity.
However,thecomponentsarenotallpartsoftheentity.FormsandChartsarestoredintheSystemFormentity
whileViewsarestoredintheSavedQueryentity.Althoughyoucanviewthesecomponentsaspartoftheentityyou
mustunderstandhowtheyarestored.ThemetadatabrowserisatoolthatisincludedintheSoftwareDevelopment
Kit(SDK)asamanagedSolutionfilethatcanhelpyoudeterminehowtheseelementsarestoredandrelatedto
oneanother.DetailsofwhereyoucanfindthemetadatabrowserintheSDKandhowtostartusingthemetadata
browseraredescribedintheImplementationGuideintheCreateandEditMetadataarticle.
OnlinearticleaboutfeaturesoftheMetadataBrowserforMicrosoftDynamicsCRM
http://go.microsoft.com/fwlink/?LinkId=329103
Fields
Fieldseachstoreonepieceofinformationaboutarecord.IntheSQLdatabase,eachfieldisacolumninthetableforthe
entity.However,otherpropertiesabouthowafieldisdisplayedandusedarestoredasXMLmetadata.Forauser,afieldis
eitheracolumninavieworacontrolonaform.Whenyoucreateanentity,severalsystemfieldsareautomaticallyaddedto
it.Youcanaddmorefieldstostoredataofdifferenttypesthatareimportanttoyourbusinessprocesses,suchastext,or
numbers.Developerswillusuallyrefertofieldsasattributesbecauseofhowtheyarereferredtoincode.However,thistermis
notusedintheUI.
Forms
FormsdefinetheUIforasinglerecordfordataentryandretrieval,andthewaymostuserswillinputdataandreaddetailed
informationaboutasinglerecord.Formsdescribethelayoutoffields,subgridsandothercomponents,andeventhandlersto
controlthebehaviorofscripts.Youcancreatemultipleformstodisplayrecordsindifferentwaysforusersaccordingtothe
requirementsoftheirrole.
Views
Viewsarelistsofmultiplerecordsthatarefilteredtoshowonlythoserowstheuserwantsvisible,andtoshowthecolumns
forthespecificdetailsthattheusermusthave.Whenyoucreateanentity,theMicrosoftDynamicsCRMplatformcreates
severalviewsthatyoucanmodify.Youcanalsocreateadditionalviewsifyoumustdoso.Theuserselectsthebestviewfor
thedataheorshewantstobevisible.AviewthatiscreatedthroughcustomizationisnotrelatedtoanSQLview.
Charts
ChartsinMicrosoftDynamicsCRMdescribethelayoutofavisualizationofsomedata,andarealwaysusedwithaview.The
viewfilterstherows(thecolumnsoftheviewareignored)andthechartthendisplaysdataaboutthoserecordsinthewaythat
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 12/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
youhaveconfiguredit,suchasacolumnorlinechart.Severalchartsareincludedalreadyforsomeentitiesandyoucan
modifyoraddtothese.Whenyoucreateanentityyouhavetocreateanychartsthatyoumusthave.Youcancreatemany
chartsbyusingtheUItools,ormodifyingtheXMLdefinitionformorecontroloverthepresentationofthechart.
Note:Withinanentitynodeinthesolutionexplorer,youcanalsoviewlinkstoseveraltypesofRelationshipsand
BusinessRules.Youcanfindmoreinformationaboutbothtypesofcomponentsinlatermodulesofthiscourse.
RemoveEntityComponentsfromaSolution
WhenyouaddanentitytoaSolution,theform,view,chartandfieldnodesarealsoaddedtothesolutionexplorer.You
cannotremoveindividualsubcomponentsfromtheSolutiondirectly,onlythewholeentity.
Note:Ifyoudeleteacustomcomponent,suchasanunwantedfieldorview,thisisremovedfromthewholesystem.
WhenyouexportthesolutionpackagethiscomponentisnotmentionedanywhereintheXMLbecauseitnolonger
existswhenthepackageiscreated.
WhenyouimportaSolutionthatdoesnotincludeacomponent,thecomponentisnotdeletedfromthetarget
system.ThisenablessupportfortheimportofSolutionsfromdifferentsourcesthatdonothavethesame
components.Thismeansthatanycomponentsthatyoudeletefromthedevelopmentsystemmustalsobedeletedin
thetargetsystemsindividuallybecausethecomponentswillnotbementionedinanyexportedsolutionpackage.
Youmustmaintaingooddocumentationandfollowclearchangemanagementprocessestomakesurethatthe
deletionofcomponentsisreplicatedinalltheenvironments.
PublishCustomizations
WhenyouconfiguretheMicrosoftDynamicsCRMsystem,youwillmakeseveralchangesbeforeyouhavesomethingtotest.
Forexample,youmightcreateanewfield.However,thefieldmustbeaddedtoaformbeforeuserscanenterdata,andyou
mightalsowanttoincludethefieldinaview.Insteadofmakingeveryindividualmodificationvisibletousers,yousavethe
changesthatyoumakeandthenpublishallthechangeswhenyouareready.
Thismeansthatotherusersofthesystemwillnotexperiencesomethingthatisunexpecteduntilyouarereadytoshowthe
finishedsetofchanges.Therearealsoperformancebenefitstothisapproach,becausetheclientsoftwaredoesnothaveto
fetchthedefinitionorthedataforUIcomponentseverytimethatthecomponentsareaccessed,becausetheclientsoftware
cancachethis.Whenyoupublishchanges,thisupdatesthedatabasesothattheclientisawarethatthereisanewversion
availableanditwillfetchthatupdateddefinition.
Whenyoupublishchangestoanentity,thisincludesallchangestoforms,views,chartsandfieldsfortheentity.Youcannot
publishonlyonesubcomponentsuchasaformorviewbyusingthetoolsintheUI.Topublishchangestoanentity,select
theentitynodeinthesolutionexplorerandthenclickPublishintheribbonatthetopofthescreen.Or,ifyouhaveaform
thatisopenforediting,youcanclickthePublishbuttonandthispublishesallchangesfortheentity,notjusttheform.
Topublishcomponentsotherthanentities,selectthenodeforthattypeofcomponent,andthenselecttheindividualitemin
thelist(onlyentitiesappearinthesolutionexplorerasanexpandablehierarchy).ClickPublishinthemenubarthatis
locatedatthetopoftheview.
YoucanpublishmorethanonecomponentatatimebyselectingtheComponentsnodeofthesolutionexplorer,andthen
selectingmultipleitemsofthesametypeinsidethelistandthenclickingPublishinthetoolbar.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 13/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
Topublishallcustomizationsthatyouhavemadetothesystematthesametime,youcanselectanyiteminthesolution
explorerexceptforanentitynode,andthenclickPublishAllCustomizationsintheribbon.
Note:IfyouusePublishAllCustomizations,allsavedchangesarepublished,forallcomponentsinthewhole
system,notjustthoseintheSolution.Ifyouhavemorethanonepersonmakingchangestothesystemthismight
meanchangesaremadevisiblebeforetheyareready.Whenyoucan,publisheachofyourchangesindividually.
Somecomponentsdonothavetobepublished.Forexample,SecurityRolesareimmediatelyupdatedandenforcedassoonas
theyaresaved,whereasprocessesmustbeactivatedbeforetheycanbeused.
Whenyoucreateacomponentorsubcomponent,itispublishedwhenyoufirstsaveit.Therefore,thecomponentor
subcomponentcanbeusedelsewherebeforeyoupublishyouroverallsetofchanges.Youshouldpayadditionalattentionto
thiswhenyoucreatecustomactivityentities.Thecustomactivityentitiesareimmediatelyvisibletootherusers.Alsonotice
thatifyouuseSaveAstocreateacopyofcomponents,suchasviewsordashboards,thenthismeansthatthesavedversionis
visibleimmediately.Althoughatthatpoint,thesavedversionisacopyoftheoriginalversionuntilyoumodifyit,savethe
newversion,andthenpublishyourchanges.
ComponentDependencies
Beforeyoucandeleteacomponentfromthesystem,youmustmakesurethatnoothercomponentsdependonit.Ifyoutryto
deleteacomponentwithoutfirstremovingthesedependencies,thedeleteoperationwillfailandanerrormessageis
displayed.Generally,thereisadependencywhenonecomponentisreferencedordisplayedbyanother.Adashboarddepends
ontheviewsandchartsthatareusedonthedashboard.Theseviewsandchartsdependonseveralfields,andontheentityor
entitiesthattheyreceivedatafrom.
Tocheckwhatdependenciesexistforacomponent,selectthecomponentinthesolutionexplorerandthenclickShow
Dependencies.Theresultsshowthedependentcomponentsthatdependonthecomponentthatyouselected,andtherequired
componentsonwhichthiscomponentdepends,asshownintheDependenciesforaCustomEntityfigure.
FIGURE1.3:DEPENDENCIESFORACUSTOMENTITY
Alsoconsiderthatifyoudeleteacustomentity,thisalsodeletesalldatarecordsforthatentity.Thisisdiscussedinmore
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 14/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
detailintheCustomizingEntitiesmodule.Moreinformationaboutthedependenciesforsomespecificcomponenttypesis
availableintherelevantmodulesinthiscourse.
DependentComponents
Thedependentcomponentsdialogboxliststheothersystemcomponentsthatpreventyoufromdeletingthecomponentthat
youarechecking.IntheDependenciesforaCustomEntityfigure,theBookingentitydependsontheEvententitybecause
thereisarelationshipbetweenthetwoentities.ThisrelationshipmustbedeletedbeforeyoucandeletetheEvententity.In
thiscase,therelationshipispartoftheBookingentityasalookupfield.Ifthisfieldislocatedonaformandinaviewfor
Bookings,thenitmustberemovedfromtheformandtheviewbeforethefieldandtherelationshipcanbedeleted.
Todeleteoneitem,youmighthavetotrackbackthroughseverallayersofdependenciestoachieveyourgoal.
RequiredComponents
Therequiredcomponentslistshowsthecomponentsthatarerequiredbythecomponentthatyouselecttoshowdependencies
for.However,theserequiredcomponentswillnotpreventyoufromdeletingtheentity.TheDependenciesforaCustom
EntityfigureshowsthattheEvententitydependsontwoWebResources.Inthisexample,therequiredcomponentsare
customiconimagesthataredisplayedintheapplication,forexampleinamixeditemviewsuchasaQueue.
IfyouhavealreadydeployedtheEvententitytoyourproductionsystemonetime,togetherwiththeseWebResources,you
donothavetokeeptheWebResourcesinyourSolutiontoexporteverytime.Ifthisisanewentity,thenyoumustmakesure
thattherequiredcomponentsareincludedinyoursolutionpackageotherwisetheimportoftheSolutionwillfail.
WhenyouaddanexistingcomponenttoyourSolution,youmightreceiveamessageliketheonethatisshowninthe
MissingRequiredComponentsDialogWhenAddingComponentstoaSolutionfigure.Youcanselectwhethertoinclude
thecomponentsornot.However,youcannotselecttoincludeonlysomecomponentsthatareoffered.Ifyoudonotinclude
thesedependenciesandyoutrytoimportyourSolutionintoasystemwheretheydonotexist,theimportwillfailwitherrors.
Manytimestherequiredcomponentsaresystementitiesthatyouknowmustbepartofanothersystem.Therefore,youcan
safelyignorethiswarningifyouhavenotcustomizedthoseentities.
FIGURE1.4:MISSINGREQUIREDCOMPONENTSDIALOGWHENADDINGCOMPONENTSTOASOLUTION
MicrosoftDynamicsCRM2013CaseStudy
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 15/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
ThiscourseincludesseveraldemonstrationsandlabsthatwillshowhowtocustomizeMicrosoftDynamicsCRMtomeetan
organizationsrequirements.ThedemonstrationsandlabsinthiscoursefollowacommonthemehowtocreateaSolutionto
meettherequirementsofAdventureWorksCycles.Theserequirementsaredescribedinthislesson.
Youwillneedtocompletethelabsanddemosinthemodulesofthiscourseinthecorrectsequence,becauselabsinlater
moduleswillcontinuetobuildoncustomizationsperformedinearliermodules.Eachlabwilldescribeifanyearlierlabsmust
becompletedfirst,intheLabSetupsectionofthelabinformation.
AdventureWorksCyclesBusinessRequirements
AdventureWorksCyclesmanufacturesandsellsbicycles,parts,accessoriesandclothingthroughtheirretailpartnersand
directlyontheirwebsitetomembersofthepublic.
AdventureWorksCyclesisalreadyusingMicrosoftDynamicsCRM2013successfullytomanagesales,marketingand
customerserviceprocesses.
EventManagement
TheMarketingdepartmentwantstouseMicrosoftDynamicsCRMtomanageitsinvolvementinseveralevents.Thisis
becomingalargerfunctionasthecompanyexpands.Inparticular,theMarketingdepartmentmustbeabletotrackcorporate
hospitality,tradeshowsandthesponsorshipofracesandotheractivitiesinthecyclingcalendar.AlthoughtheMarketing
departmenthassuccessfullyusedCampaignstosendinvitationsforsucheventsinthepast,itwantstobeabletotrackwho
attendstheeventssothatitcanfollowupwiththeattendeesaftertheevents.
Becausetherearealreadysomekeydatesinthecalendar,theMarketingdepartmentmusthaveasolutionworkingquickly
thatwillnotrequiremuchdevelopmentandtesting.Ifthepilotphaseofthisprojectprovessuccessful,amoredetailedsetof
requirementsmightbedevelopedlatertocustomizeMicrosoftDynamicsCRMtomanageeventsmoreclosely.
TheMarketingdepartmentmustalsorecordinformationabouteventvenuesthatwillmakedecisionmakingeasierandbuild
sharedknowledgeaboutthevenuesthatworkbetterfordifferenttypesofevents.Themarketingmanageralsowantstobuild
closerrelationshipswithvenueoperatorstotakeadvantageofgroupratesandmultieventdeals.
NewProductDevelopment
TheNewProductDevelopment(NPD)teamintheMarketingdepartmentalsowantstouseMicrosoftDynamicsCRMto
managesomeconceptsfornewproductsandservices.TheNPDteamwantstotrackallnewideasforproductsorservices,
decideontheideasthatareworthbuildingasprototypes,andinvolveexistingcustomersintestingtheprototypes.Inthe
future,theremightbeabonusschemetorewardemployeeswhoseideasleadtoprototypesthataredevelopedandreleasedas
newproducts.Therefore,theNPDteammustalsotracktheprototypesthataredevelopedandreleasedasnewproductsas
theyprogressthroughtheprocess.
TheMarketingdepartmentwillkeepownershipandvisibilityofanyCasesthatareloggedbycustomerswhoaretestingthe
prototypes.BecausetheCustomerServicedepartmentalreadyhasprocessesdevelopedtoprovidesupportforproductsthat
arebeingsold,theCustomerServicedepartmentwillworkwiththeMarketingdepartment.
Onesuggestionforthisprocessincludedrecordingstructuredfeedbackabouttheprototypesthatarebeingtested.However,it
becameapparentthatthissuggestionwouldbeofamoregeneraluseamongthebusinesstotrackfeedbackandthe
satisfactionaboutcustomerinteractionsfromsalestosupport.Thecustomizationsthatarebeingmadetorecordthisfeedback
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 16/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
informationmustbemadeavailabletoalldepartmentstouseandtoreporton.Eachdepartmentwilldecidehowtousethis
foritsarea.TheServicedepartmentwantstostarttorecordcustomerfeedbackassoonaspossible.
Afteryoucollectedtherequirements,youidentifiedtwoseparateareasthathavetobeconfigured.Becauseyouwanttohave
theworkcompletedquickly,youhaveseparatedthetasks.AcolleaguewillperformsomecustomizationsinoneSolutionand
youwillcompletetherestofthecustomizationsinanotherSolutionatthesametime.
Yourcolleague(theinstructor)willcompletethefollowingconfigurationchangesforeventmanagement:
VenueCustomentity
EventCustomentity
VenueOperatorUsingexistingAccountentity
ConnectionRolestomanagerelationshipsbetweenEvents,ContactsandUsers
YouwillperformthechangesthatarerequiredtomanagetheNPDprocess.Theseincludethefollowing:
IdeaCustomentity
PrototypeCustomentity
FeedbackCustomactivityentity,tobemadeavailabletoallthebusinessareas
ProductDevelopmentSecurityRoletomanagethesharingofprocesseswithCustomerService
NPDDashboardtoprovidemanagementinformationabouttheprogressoftheprocesses
Demonstration:CreateaNewSolution
DemonstrationSteps
1. CreateanewSolutioncalledEventManagement.
a. BrowsetotheStartscreenofthevirtualmachineandthenclicktheInternetExplorericon.
b. ThebrowserwindowshouldopentothehomepageURLhttp://lon
dc1:5555/AdventureWorksCycles/main.aspx.
c. Inthenavigationbar,clickorpointtoMicrosoftDynamicsCRM,andthenclickSettings.
d. Inthenavigationbar,clickorpointtoSettings,andthenclickSolutions(youmighthavetoscrolltotherightto
viewthis).
e. InthemenubaratthetopofthelistofSolutions,clickNew.TheSolution:NewSolutionformwillbedisplayed.
f. InDisplayName,enterEventManagement.
g. Enter1.0.0.1astheVersionNumber.
2. CreateanewPublishernamedAWCEventManagement,andusetheprefixawcevent.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 17/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
a. IntheSolution:NewSolutionform,inthePublisherfield,clickthelookupicon.
b. ClickLookUpMoreRecords.
c. IntheLookUpRecorddialogbox,clickNew.
d. EnterAWCEventManagementfortheDisplayName.
e. EnterawceventforthePrefix(noticethisconvertstolowercaselettershoweveryoutypeit).
f. Inthetoolbar,clickSaveandClose.
g. IntheLookUpRecorddialogbox,clickAdd.
h. IntheSolution:NewSolutionform,inthetoolbar,clickSave.
3. AddexistingAccount,CampaignandGoalentities.
a. IntheSolution:EventManagementform,inthesolutionexplorerontheleftside,clickEntities.
b. Inthemenubaratthetopofthe(empty)listofentitiesintheSolution,clickAddExisting.
c. IntheSelectSolutionComponentsdialogbox,noticethattheComponentTypeisfilteredtoEntityonly.
d. ClicktotheleftsideoftheentitiesAccountandCampaigntoenteracheckmarknexttoeach.
e. ClickOK.
f. IntheMissingRequiredComponentsdialogbox,selectNo,donotincluderequiredcomponents,andthenclick
OK.
g. LeavetheSolutionwindowopenforuseinlaterdemonstrations.
Lab:CreateaSolutionandpublisher
Scenario
AsamemberoftheMicrosoftDynamicsCRMprojectteamforAdventureWorksCycles,youhavetomakeaseriesof
modificationstothesystem.ThemodificationswillhelptheNewProductDevelopment(NPD)teammanageitsprocesses.
Youhavetocreateseveralnewentities,addfieldstostorespecificdatathatisrequiredbytheNPDteam,andcreateforms
andviewsthattheNPDteamcanusetoworkwithitsnewrecords.
Beforeyoustarttomakechanges,youwanttocreateanewSolutiontocontainyourcustomizations.Whenyouhave
completedthenecessaryconfiguration,youcanexportthesechangesasasolutionpackagetoimportintoanotherMicrosoft
DynamicsCRMOrganization.Bydoingthis,userscantestthechangesthatyoucreatedandprovidefeedbackbeforeyou
deploytotheliveproductionsystem.Youalsowanttoeasilyidentifythesechangesinthefutureashavingoriginatedfrom
theNPDteam.Therefore,youwillcreateanewPublishertomakesurethatthenewcomponentshaveanappropriateprefix.
AfteryoucreateyourSolution,youmustaddsomeentitiesthatyouthinkmightrequiresomecustomizationtomeetthe
businessrequirementsthatyoureceived.MakesurethatyoudonotincludeanythingintheSolutionthatyouhavenot
modified,becauseyoudonotwantyourSolutiontobecomelargerthanisnecessary,orincludeunexpectedchangesthatare
madebysomeoneelse.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 18/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
Note:TheSolutionthatyoucreateinthislabisusedinallremaininglabsthroughoutthecourseasacontainerto
performallcustomizations.WerecommendthatyoukeeptheSolutionwindowopenthroughoutsothatitiseasy
toswitchbetweenyourconfigurationenvironmentandthemainnavigationwindowtoviewandtestyourchanges
asyouprogress.BytheendofthecourseyouwillhaveaSolutionthatcontainsallthecomponentsandchanges
thatyouhavemadeineverymodule.
HighLevelSteps
1. CreateanewSolutionnamedNPDandFeedback.
2. CreateaPublishernamedNPDandFeedback,andusetheprefixawcnpd.
3. AddAccount,ContactandUserentitiestotheSolution.
4. RemovetheCampaignentityfromtheSolution.
DetailedSteps
1. CreateanewSolutionnamedNPDandFeedback.
a. BrowsetotheStartscreenofthevirtualmachine,andthenclicktheInternetExplorericon.
b. ThebrowserwindowshouldopentothehomepageURLhttp://lon
dc1:5555/AdventureWorksCycles/main.aspx.
c. IfastartupscreenFirstthingsfirstisdisplayed,selectDonotshowmethisagainandtheninthelowerright
cornerclickNo,thanks.
d. Inthenavigationbar,clickorpointtoMicrosoftDynamicsCRM,andthenclickSettings.
e. Inthenavigationbar,clickorpointtoSettings,andthenclickSolutions(youmighthavetoscrolltotherightto
viewthis).
f. Inthemenubar,abovethelistofSolutions,clickNew.TheSolution:NewSolutionformwillbedisplayed.
g. EnterNPDandFeedbackastheDisplayName.
h. Enter1.0.0.1astheVersionNumber.
2. CreateaPublishernamedNPDandFeedback,andusetheprefixawcnpd.
a. IntheSolution:NewSolutionform,inthePublisherfield,clickthelookupicon.
b. ClickLookUpMoreRecords.
c. IntheLookUpRecorddialogbox,clickNew.
d. EnterAWCNPDandFeedbackfortheDisplayName.
e. EnterawcnpdforthePrefix(noticethisconvertstolowercaselettershoweveryoutypeit).
f. Inthetoolbar,clickSaveandClose.
g. IntheLookUpRecorddialogbox,clickAdd.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 19/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
h. IntheSolution:NewSolutionform,inthetoolbar,clickSave.
3. AddAccount,CampaignandContactentitiestotheSolution..
a. IntheSolution:NPDandFeedbackform,inthesolutionexplorerattheleftside,clickEntities.
b. Inthemenubar,atthetopofthe(empty)listofentitiesintheSolution,clickAddExisting.
c. IntheSelectsolutioncomponentsdialogbox,noticethattheComponentTypeisfilteredtoEntityonly.
d. ClicktotheleftsideoftheentitiesAccount,CampaignandContacttoenteracheckmarknexttoeach.
e. ClickOK.
f. IntheMissingRequiredComponentsdialogbox,selectNo,donotincluderequiredcomponents,andthenclick
OK.
Note:Becausenocustomizationsaremadeyet,thesemissingrequiredcomponentsmustallbesystem
componentsthatwillalreadyexistinanytargetsystemthatyoudeployto.Inyourownenvironment,
youmustdeterminewhetherthisisthecorrectresponseforagivensituation.
4. RemovetheCampaignentityfromtheSolution.
a. IntheSolution:NPDandFeedbackform,inthecomponentlist,selecttheCampaignentity.
b. Inthemenubar,atthetopofthecomponentlist,clickRemove.
c. KeeptheSolutionwindowopenforuseinlaterlabs.YoucanswitchbetweentheSolutionandthemain
navigationscreenofMicrosoftDynamicsCRM2013byusingtheWindowstaskbar.
ModuleReview
ThismoduleexplainedtheadvantagesofusingSolutionstomanagethechangesthatcanbemadetoMicrosoftDynamics
CRM2013.ThemodulealsoshowedhowtoexportaSolutionasasolutionpackagetodeploythosechangestoother
systems.
IncludedinthemoduleareimportantdefinitionsforsomecorecomponentsandsubcomponentsofaSolutionthatarecovered
inmoredetailinlatermodules.
Themodulealsoexplainedhowtopublishchangesandhowtomakethechangesvisiblefortesting,andhowthismight
affectthecomponentsthatotherusershavechangedoutsidetheSolution.Alsoincludedinthemoduleisabriefdescription
oftheconceptofcomponentdependencies.
ThemodulealsodescribedtheAdventureWorksCyclesscenarioandtherequirementsforitsMicrosoftDynamicsCRM
system.Thedemonstrationsandlabsinothermoduleswillconfigurecomponentstomeettheserequirements.
TestYourKnowledge
Testyourknowledgewiththefollowingquestions.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 20/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
1. DescribethreeadvantagesofworkinginsideanewSolution,insteadofmakingchangestothedefaultSolutiondirectly.
2. Youcreateacustomviewforanentityanddeploythisfromdevelopmenttotheproductionsystem.Sometimelater,the
usersnolongerrequirethisview,soyoudeletethisviewfromtheSolutioninyourdevelopmentsystem.Whatelsemust
youdotoremovethisviewfromtheproductionenvironment?
() Publishtheentityindevelopment,exporttheSolutionandimporttheSolutionintoproduction.
() Nothing,youcannotremoveasinglecomponent,youhavetodeletethewholeentityandreimporttheSolution
withtheviewomitted.
() RemovetheentityfromtheSolutionthatyoupreviouslyimportedinproduction,thenexporttheSolutionfrom
developmentandimporttheSolutionintoproduction.
() Browsetotheentityintheproductionsystemanddeletetheviewdirectly,andthenpublishtheentity.
() Extractthecustomizations.xmlfilefromthesolutionpackage,deletetheXMLthatrelatestotheview,compress
thesolutionpackageagainandthenreimportthesolutionpackageintotheproductionsystem.
3. WhathappensifyouaddthebuiltinAccountentitytoaSolutionandthentrytodeleteit?
() TheAccountentityisremovedfromtheSolution.However,theAccountentityremainsintheDefaultSolution.
() TheAccountentityisdeletedfromthesystemandalldependenciesareremoved.
() Theentitywillonlybedeletedifithasnodependencies.Otherwise,youwillreceiveanerrormessage.
() Youwillreceiveanerrormessagebecauseyoucannotdeletesystementities.
() AllthechangestotheAccountentityareremovedthereforeitisbacktotheoriginaldefaultstate.
4. YouopenanexistingviewfortheContactentityanduseSaveAstocreateacopy,makesomechangestothecolumns
andSaveandClosethevieweditor.WhenyounavigatetoContactstoviewyourresults,whatwillyoufind?
() Theviewdoesnotappearinthelistofsystemviewsforthecontactentity.
() Theviewappearsinthelistofsystemviews.However,whenyouselectityoureceiveanerrormessage.
() Theviewappearswithallthechangesthatyoumadebecauseyousavedthechanges.
() Theviewappearsinyourpersonalviewsbecauseyouhavenotpublishedtheviewyet.
() Theviewappearsinthelist.However,ithasthesamecolumnsastheviewthatyoucopied.
5. YouhavebuiltaSolutionanddeployedittoyouruseracceptancetesting(UAT)environment.Theprojectstakeholders
agreetheSolutionmeetstheirrequirements.Therefore,youimporttheunmanagedsolutionpackageintotheproduction
system.Everythingisfineforafewdays.However,thentheusersstarttocomplainthatsomeoftheirformshavelostthe
changesthatyoumade.Whatisthemostlikelycauseofthis?
() SomeonehasdeletedyourSolutionfromtheproductionsystem.
() SomeonehasimportedanotherSolutionthatcontainsanearlierdefinitionoftheforms.
() SomeonehasexportedyourSolutionfromtheproductionsystem.
() Someonehasunpublishedallchangesinthesystem.
() SomeonehaschangedtheversionnumberonyourimportedSolutiontoanearlierrevision.
TestYourKnowledgeSolutions
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 21/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
ModuleReviewandTakeaways
1. DescribethreeadvantagesofworkinginsideanewSolution,insteadofmakingchangestothedefaultSolutiondirectly.
MODELANSWER:
Someanswersincludethefollowing:
Youcanworkonselectedcomponentsandmoreeasilydocumentthechangesthatyoumaketothosecomponents.
ByusingacustomPublisherandprefix,somechangesthatyoumakearetaggedpermanentlytoshowtheirorigin.
YourexportedSolutionwillonlycontainthecomponentsthatyouhaveselectedtoaddtoit,andthishelpsavoid
unintendedchangesfrombeingdeployedwithyourcustomizations.
Youcansavetheexportedsolutionpackageaspartofyourchangecontrolrecords.
2. Youcreateacustomviewforanentityanddeploythisfromdevelopmenttotheproductionsystem.Sometimelater,the
usersnolongerrequirethisview,soyoudeletethisviewfromtheSolutioninyourdevelopmentsystem.Whatelsemust
youdotoremovethisviewfromtheproductionenvironment?
() Publishtheentityindevelopment,exporttheSolutionandimporttheSolutionintoproduction.
() Nothing,youcannotremoveasinglecomponent,youhavetodeletethewholeentityandreimporttheSolution
withtheviewomitted.
() RemovetheentityfromtheSolutionthatyoupreviouslyimportedinproduction,thenexporttheSolutionfrom
developmentandimporttheSolutionintoproduction.
() Browsetotheentityintheproductionsystemanddeletetheviewdirectly,andthenpublishtheentity.
() Extractthecustomizations.xmlfilefromthesolutionpackage,deletetheXMLthatrelatestotheview,compress
thesolutionpackageagainandthenreimportthesolutionpackageintotheproductionsystem.
3. WhathappensifyouaddthebuiltinAccountentitytoaSolutionandthentrytodeleteit?
() TheAccountentityisremovedfromtheSolution.However,theAccountentityremainsintheDefaultSolution.
() TheAccountentityisdeletedfromthesystemandalldependenciesareremoved.
() Theentitywillonlybedeletedifithasnodependencies.Otherwise,youwillreceiveanerrormessage.
() Youwillreceiveanerrormessagebecauseyoucannotdeletesystementities.
() AllthechangestotheAccountentityareremovedthereforeitisbacktotheoriginaldefaultstate.
4. YouopenanexistingviewfortheContactentityanduseSaveAstocreateacopy,makesomechangestothecolumns
andSaveandClosethevieweditor.WhenyounavigatetoContactstoviewyourresults,whatwillyoufind?
() Theviewdoesnotappearinthelistofsystemviewsforthecontactentity.
() Theviewappearsinthelistofsystemviews.However,whenyouselectityoureceiveanerrormessage.
() Theviewappearswithallthechangesthatyoumadebecauseyousavedthechanges.
() Theviewappearsinyourpersonalviewsbecauseyouhavenotpublishedtheviewyet.
() Theviewappearsinthelist.However,ithasthesamecolumnsastheviewthatyoucopied.
5. YouhavebuiltaSolutionanddeployedittoyouruseracceptancetesting(UAT)environment.Theprojectstakeholders
agreetheSolutionmeetstheirrequirements.Therefore,youimporttheunmanagedsolutionpackageintotheproduction
system.Everythingisfineforafewdays.However,thentheusersstarttocomplainthatsomeoftheirformshavelostthe
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 22/23
7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013
changesthatyoumade.Whatisthemostlikelycauseofthis?
() SomeonehasdeletedyourSolutionfromtheproductionsystem.
() SomeonehasimportedanotherSolutionthatcontainsanearlierdefinitionoftheforms.
() SomeonehasexportedyourSolutionfromtheproductionsystem.
() Someonehasunpublishedallchangesinthesystem.
() SomeonehaschangedtheversionnumberonyourimportedSolutiontoanearlierrevision.
https://skillpipe.coursewaremarketplace.com/reader/enGB/Book/BookPrintView/499e3c68bb1448a696a6afc28944342e?ChapterNumber=3&FontSi 23/23