After developing in SalesLogix 7.5 web long enough you will come across one of the OOTB screens that are not editable Quick Forms or will need to build your own custom SmartParts. These custom SmartParts are useful in they allow much more flexibility then is available in a Quick Form, however you must modify the code directly without a graphical interface. When it comes time to bundling these custom SmartParts there are a couple of things to keep in mind.
If you wish to deploy a custom SmartPart to another system you must add a couple of things to the SalesLogix web manifest.
The first thing that must be added is the actual SmartPart definition. Usually when I develop a custom SmartPart I use Visual Studio to write the page. Once it is time to bring it into the SalesLogix system you must add it to the SalesLogix Portal. This writes the custom SmartPart to the Virtual File System. I am not going to get into how to add these SmartParts to the VFS in this post. What I do want to talk about is how to add them into the manifest.
If you expand out the Portal Manager in Application Architect and go to “The appropriate portal…Support Files…SmartParts..The appropriate entity” you will see the custom SmartPart you want to add.
From here you can drag the custom SmartPart to your bundle manifest. Keep in mind if your custom SmartPart has a separate code behind file and/or a resource file you will need to add each of these files to the manifest. Lets take a look at a sample, where I have added the custom Contact SmartPart “ContactSearchForDuplicates” to a manifest.
Notice that in this example, there are actually four files I need to add to my manifest to completely bundle my SmartPart: the ASP page, the separate code file, a resource file, and a java script file.
Now that I have added the custom SmartPart, these custom files fro the VFS will be deployed where I install the bundle. In addition to this I need to also bundle in the manifest, the location the custom SmartPart resides within the portal. To do this you must bundle the page definition in the web manifest.
These definitions exist under “The appropriate portal…Pages…The appropriate entity…Smart Parts”. IN the case of the sample above, “ContactSearchForDuplicates”, the actual page name is “Insert Contact/Account”. Once I drag this component to the manifest it would look something like this:
Only by adding both of these will you correctly get your custom SmartPart deployed successfully when your manifest is deployed in another system. Don’t make the mistake of just adding the SmartPart definition under the “Pages” area of the portal. Doing this does not actually include the definition of the custom SmartPart. Adding it to the page only defines where the custom SmartPart is loaded into the portal interface.