Login / Register  search  syndication  about

          Kris Halsrud's Blog

Kris Halsrud on development and Integration with CRM and Development

SalesLogix Web Manifest "wizards" buggy

I had a phone call yesterday with a client who was trying to use the Application Architect's manifest creation "wizards" by project difference and by change date and was running into the fact that these wizards have bugs that malforms the XML representing the manifest. This prevents the user from being able to save the manifest, or if they do save, when installed do not properly add the components that are defined in the bundle.  here is a specific example:

A custom business rule was added to the system on the Lead entity.  When using the manifest wizard by create date here is the XML that is created:

 <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.PackageBundleItem, Sage.Platform">
    <PackageBundleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <ItemId>7ddc7cbe-e71d-483a-8599-6c5c483ee050</ItemId>
        <Url>\Entity Model\SalesLogix Application Entities\SalesLogix Application Entities.T.package.xml</Url>
        <BundleItemType>Context</BundleItemType>
        <Caption>SalesLogix Application Entities</Caption>
    </PackageBundleItem>
    <children>
        <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.EntityBundleItem, Sage.Platform">
            <EntityBundleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                <ItemId>27f9e8e9-34d8-4eaf-8fd7-c70d133e6f90</ItemId>
                <Url>\Entity Model\SalesLogix Application Entities\Lead\Lead.LEAD.entity.xml</Url>
                <BundleItemType>Context</BundleItemType>
                <Caption>Lead</Caption>
            </EntityBundleItem>
            <children>
                <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.EntitySubFolderContext, Sage.Platform">
                    <EntitySubFolderContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <ItemId>27f9e8e9-34d8-4eaf-8fd7-c70d133e6f90rules</ItemId>
                        <Url>\Entity Model\SalesLogix Application Entities\Lead\Lead.LEAD.entity.xml::Business Rules</Url>
                        <BundleItemType>Container</BundleItemType>
                        <Caption>Business Rules</Caption>
                        <ParentUrl>\Entity Model\SalesLogix Application Entities\Lead\Lead.LEAD.entity.xml</ParentUrl>
                        <CaptionKey>rules</CaptionKey>
                    </EntitySubFolderContext>
                    <children>                                 
                        <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.BusinessRuleBundleItem, Sage.Platform">
                            <BusinessRuleBundleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                                <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52</ItemId>
                                <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</Url>
                                <BundleItemType>ModelItem</BundleItemType>
                                <Caption>CopyCommunityData</Caption>
                            </BusinessRuleBundleItem>
                        </bundleItem>
                    </children>
                </bundleItem>

Of course, this is only a portion of the XML.You can see in the red text area what was added for the new business rule by the wizard.

While that might look like it added it, what it added was only the top level or stub of the business rule.  The actual steps the business rule performs (i.e. the code) is not included in the definition.  Lets take a look at what the XML looks like for the same business rule when you manually create a manifest:

(NOTE: again this is only the partial XML.  What follows is the correct XML representation of the text that was shown in Red above)

<children>
    <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.PackagesContext, Sage.Platform">
        <PackagesContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ItemId>entitymodel\packages</ItemId>
            <Url>\::Entity Model::Packages</Url>
            <BundleItemType>Container</BundleItemType>
            <Caption>Packages</Caption>
        </PackagesContext>
        <children>
            <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.BusinessRuleBundleItem, Sage.Platform">
                <BusinessRuleBundleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                    <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52</ItemId>
                    <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</Url>
                    <BundleItemType>ModelItem</BundleItemType>
                    <Caption>CopyCommunityData</Caption>
                </BusinessRuleBundleItem>
                <children>
                    <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.StepsSubFolderContext, Sage.Platform">
                        <StepsSubFolderContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                            <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52pre</ItemId>
                            <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml::Pre Execute Steps</Url>
                            <BundleItemType>Container</BundleItemType>
                            <Caption>Pre Execute Steps</Caption>
                            <ParentUrl>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</ParentUrl>
                            <CaptionKey>pre</CaptionKey>
                        </StepsSubFolderContext>
                    </bundleItem>
                    <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.StepsSubFolderContext, Sage.Platform">
                        <StepsSubFolderContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                            <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52primary</ItemId>
                            <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml::Primary Steps</Url>
                            <BundleItemType>Container</BundleItemType>
                            <Caption>Primary Steps</Caption>
                            <ParentUrl>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</ParentUrl>
                            <CaptionKey>primary</CaptionKey>
                        </StepsSubFolderContext>
                        <children>
                            <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.BusinessRuleStepBundleItem, Sage.Platform">
                                <BusinessRuleStepBundleItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                                    <ItemId>2c7bf420-0abd-42ca-bf38-eaf02e131b95</ItemId>
                                    <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml::Primary Steps::CopyCommunityDataStep</Url>
                                    <BundleItemType>Other</BundleItemType>
                                    <Caption>CopyCommunityDataStep</Caption>
                                    <SerializationOptions>ProcessDependentUrls</SerializationOptions>
                                    <InstallOptions>ProcessDependentUrls</InstallOptions>
                                </BusinessRuleStepBundleItem>
                            </bundleItem>
                        </children>
                    </bundleItem>
                    <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.StepsSubFolderContext, Sage.Platform">
                        <StepsSubFolderContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                            <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52post</ItemId>
                            <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml::Post Execute Steps</Url>
                            <BundleItemType>Container</BundleItemType>
                            <Caption>Post Execute Steps</Caption>
                            <ParentUrl>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</ParentUrl>
                            <CaptionKey>post</CaptionKey>
                        </StepsSubFolderContext>
                    </bundleItem>
                    <bundleItem modelId="a7bdd2d9-93b0-499d-9fd4-c3f7a5f94e28" itemTypeName="Sage.Platform.Orm.Entities.BundleSupport.StepsSubFolderContext, Sage.Platform">
                        <StepsSubFolderContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                            <ItemId>9a195e56-aa58-446f-8b49-e5b54a8f3a52postflush</ItemId>
                            <Url>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml::Post Flush Steps</Url>
                            <BundleItemType>Container</BundleItemType>
                            <Caption>Post Flush Steps</Caption>
                            <ParentUrl>\Entity Model\SalesLogix Application Entities\Lead\CopyCommunityData.method.xml</ParentUrl>
                            <CaptionKey>postflush</CaptionKey>
                        </StepsSubFolderContext>
                    </bundleItem>
                </children>
            </bundleItem>

A little more detail, don't you think?                        

This bug in the manifest wizard creation has been around since the inception of these wizards and still exists in the current version of the Application Architect.

So how do you get around this?

Well unfortunately, right now there is not a good way.  What I do, is to use the wizard to get an onscreen representation of what a manifest should include.  it does appear to do a pretty good job of showing the contents on screen in the "Bundle items"tab.  With that on screen representation, I take screen shots and then manually build my manifest by manually adding into a new manifest all of the items that I took screen shots of from the "wizard"manifest.  Pretty lame but until the wizards get fixed the only way to get the items you need correctly recorded in a web manifest.

What's This?
  
Bookmark and Share

About Kris Halsrud

   Kris Halsrud is a Senior Analyst / Developer for Customer FX Corporation.


Related Content
   Change the Appearance of a Saleslogix (Now Infor CRM) Read Only TextBox Web Control
In the Salelogix web client, a read only control has a css style applied to it to make the background app
Posted on Oct 24, 2014 by Kris Halsrud to Kris Halsrud's Blog
 
   Saleslogix (now Infor CRM) Web Client- Changing Label Appearances on Quick Forms
 I wrote previously about setting a label's appearance on a quick form using server side code.&n
Posted on Oct 02, 2014 by Kris Halsrud to Kris Halsrud's Blog
 
   Error Attempting to Save an Entity: "E_FAIL(0x80004005)" in the Infor CRM (Saleslogix) Web Client
We recently had a client that was running into an issue when attempting to create one particular entity i
Posted on Sep 30, 2014 by Kris Halsrud to Kris Halsrud's Blog
 
   Video: Demystifying Infor CRM (Saleslogix) Updates
Watch it now! If you missed yesterdays demo, "Demystifying Infor CRM (Saleslogix) Updates" ,
Posted on Sep 26, 2014 by Brianna Ojard to The Inbox
 
   Official Infor CRM Acquisition FAQ
What to expect now that Saleslogix is Infor CRM. Like many of you, it will take some time (probably a
Posted on Sep 18, 2014 by Brianna Ojard to The Inbox
 
Comments

 

קלנועית said:

Great help thanks  

December 5, 2011 10:46 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2014 Customer FX Corporation
Customer FX Corporation
2324 University Avenue West, Suite 115
Saint Paul, Minnesota 55114
Tel: 800.728.5783

  Follow @CustomerFX on twitter
Follow the best news, tips, and articles
  Subscribe to Customer FX on youtube
Watch SalesLogix tutorial videos from Customer FX
Login / Register