Sie sind auf Seite 1von 23

7/27/2015 MODULE1:INTRODUCTIONTOCUSTOMIZINGMICROSOFTDYNAMICSCRM2013

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

Das könnte Ihnen auch gefallen