Looking ahead to the classes
DP01: Introduction to the Development Partner Program
DP02: Entities and the Data Model (Part 1 of 2)
DP03: Entities and the Data Model (Part 2 of 2)
DP04: Implementing Screen Based Rules (Part 1 of 2)
DP05: Implementing Screen Based Rules (Part 2 of 2)
DP06: Screen and User Independent Business Rules
DP07: Workflow (Part 1 of 2)
DP08: Workflow (Part 2 of 2)
DP09: Using the API Objects in ASP Pages (Part 1 of 2)
DP10 : Using the API Objects in ASP Pages (Part 2 of 2)
DP11: Using the Component Manager
DP12: Programming for the Advanced Email Manager
DP13: Using the Web Services API
DP14: Using the Web Services API (Part 2 of 2)
DP15: Coding the Web Self Service COM API (Part 1 of 2)
DP16: Coding the Web Self Service COM API (Part 2 of 2)
DP17: Using the .NET API (Part 1 of 2)
DP18: Using the .NET API (Part 2 of 2)
Agenda
What is the Component Manager?
How the Component Manager Interacts with Meta Data Tables
What is Included in the Component ManagerExceptions
Editing Component Files
The Component Manager as a Coding Environment.
Delivering Components
Use of Extensibility Features
StandardLicense
ExtensibilityLicense
DeveloperLicense
Component Manager Import Import & Export Import & Export
Customisation: New Screen, New List, New Tab, Table Connect, Ext DB, Custom Page Actions, Edit New Blocks
O P P
Customisation Standard - New Field, Translations, Selections, Re-order fields
P P P
Can Run ASP Application Extensions PASP pages will only run in Standard Install with correct .js files.
P P
Can Run .NET Application Extensions P P POnly DPP Members can
create .NET App Extensions
“DPP” Files
Received when DP joins program.sagecrmdpp.jssagecrmnolangdpp.js sagecrmdpp.vbs
accpaccrmdpp.jsaccpaccrmnolangdpp.js accpaccrmdpp.vbs
Include the appropriate files in your third-party products/installs. These files are supplied to CRM Development Partners only.
They will enable your product to run on the CRM installs that do not have the Enterprise Integration Server (EIS). Products using the standard accpaccrm.js will not run on systems without EIS.
‘Record and Edit’ installer
Sage CRM’s “install shield” APIDo customizations using front end
Automatically generate scripting to re-create customizations
Allow for editing of script files
Allow for install parameters
Component Packages containNew objects (e.g. Menus, Tabs, Screens, Database, Workflow)
Customized objects
ASP & Other Files
Data Diagram of Meta Data Dependencies
Custom_EditsColP_ColPropsId
ColP_Entity
ColP_ColName
ColP_EntryType
ColP_DefaultType
ColP_DefaultValue
Custom_ViewsCuVi_ViewID
CuVi_CreatedBy
CuVi_CreatedDate
CuVi_UpdatedBy
CuVi_UpdatedDate
CuVi_TimeStamp
Custom_ScreenObjectsCObj_TableId
CObj_Name
CObj_Type
CObj_EntityName
CObj_UseEntity
CObj_AllowDelete
CObj_CreatedBy
CObj_CreatedDate
CObj_UpdatedBy
Custom_ListsGriP_GridPropsId
GriP_GridName
GriP_Order
GriP_ColName
GriP_AllowRemove
GriP_AllowOrderBy
GriP_OrderByDesc
Custom_ContainerItemsCont_ContainerName
Cont_BlockName
Cont_Order
Cont_NewLine
Custom_TabsTabs_TabId
Tabs_Entity
Tabs_Caption
Tabs_Order
Tabs_Action
Tabs_Permission
Tabs_PerLevel
Tabs_Sensitive
Tabs_NewWindow
Custom_ScreensSeaP_SearchEntryPropsId
SeaP_SearchBoxName
SeaP_Order
SeaP_ColName
SeaP_AllowRemove
SeaP_Newline
SeaP_RowSpan
SeaP_ColSpan
SeaP_Jump
Seap_System
FieldSecurityFdSe_FldSecurID
FdSe_CreatedBy
FdSe_CreatedDate
FdSe_UpdatedBy
FdSe_UpdatedDate
FdSe_TimeStamp
UserSettingsUSet_SettingId
USet_UserId
USet_Key
USet_Value
USet_CreatedBy
USet_CreatedDate
USet_UpdatedBy
USet_UpdatedDate
USet_TimeStamp
USet_Deleted
TerritoryPermissionsUsrT_UserTeritoryID
UsrT_TerritoryID
UsrT_UserID
UsrT_ProfileID
UsrT_TableID
UsrT_View
Channel_LinkChLi_ChannelLinkId
ChLi_Channel_Id
ChLi_User_Id
ChLi_UseBrokerRule
UsersUser_UserId
User_PrimaryChannelId
User_Logon
User_LastName
User_FirstName
User_Language
User_Department
User_Phone
User_Extension
User_Pager
User_Homephone
User_MobilePhone
User_Fax
User_EmailAddress
Component Manager Generated Code
Generated code is commented
The order of sections is important. Referential Integrity
AddCustom_Tables
AddViewAddCustom_ScreenObjects
AddCustom_EditsAddCustom_ScreensAddCustom_TabsAddCustom_Lists Note:
AddCustom_Data and RunSQL statements need to be tested thoroughly if they are inserting or deleting on the above tables because of Referential Integrity.
Points to Watch
Changing Screens, Lists, Tabgroups
If something added to a grouped object Component manager scripts out entire group
Edit script to remove changes not required.
When a component installed, Views are Rebuilt and Metadata is refreshed
when views are rebuilt they are dropped and then recreated
because views are dropped potentially any structure like lists and screens that use views would return an error if accessed before the view is recreated
therefore when installing a component all users should be excluded from the system.
There is no uninstall
before carrying out an install of a component you should backup a production system.
the best recovery is to restore the database before the component was run.
If you are already excluding users from the system - this then is an ideal time to take a backup.
Dos and Don’t’s
Component Dos
Start a new component for new customisations– Consider a new component a day. You can merge
them afterwards
Create customizations in small unit components – (e.g. all the Company related customizations, all
the Cases related changes and then all the new Project entity related changes)
– but these would not be the final deliverable– The final deliverable 'component' would be made
by amalgamating the small units.
Give components meaningful names– Easier to manage. – The Description not the file name is shown when
loading.
Make use of the ecf file parameters to control your components– E.g. 'MultipleInstalls=Y' allows component to be
run more than once on the same install.
Component Don’ts
Don't forget to stop recording when you are finished. – You will have to edit the component
Don't forget the component manager includes:– Reports– Saved searches– Workflow
Don't forget to comment your component.– Comments in es file– Parameters in the ecf file– More user friendly to run
Looking ahead to the classes
DP01: Introduction to the Development Partner Program
DP02: Entities and the Data Model (Part 1 of 2)
DP03: Entities and the Data Model (Part 2 of 2)
DP04: Implementing Screen Based Rules (Part 1 of 2)
DP05: Implementing Screen Based Rules (Part 2 of 2)
DP06: Screen and User Independent Business Rules
DP07: Workflow (Part 1 of 2)
DP08: Workflow (Part 2 of 2)
DP09: Using the API Objects in ASP Pages (Part 1 of 2)
DP10 : Using the API Objects in ASP Pages (Part 2 of 2)
DP11: Using the Component Manager
DP12: Programming for the Advanced Email Manager
DP13: Using the Web Services API
DP14: Using the Web Services API (Part 2 of 2)
DP15: Coding the Web Self Service COM API (Part 1 of 2)
DP16: Coding the Web Self Service COM API (Part 2 of 2)
DP17: Using the .NET API (Part 1 of 2)
DP18: Using the .NET API (Part 2 of 2)