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
   Infor CRM (Formerly Saleslogix) Embedding quickforms on quickforms
 I recently had a client who needed to have a lot of elements on a form.  They wanted a kind of
Posted on May 20, 2015 by Kris Halsrud to Kris Halsrud's Blog
 
   Infor CRM (Formerly Saleslogix) Allowing quickforms to be used within the Web Browser control in the web client
 The Infor CRM web client has a "browser control" that allows you to embed another smart p
Posted on May 18, 2015 by Kris Halsrud to Kris Halsrud's Blog
 
   Infor CRM (Formerly Saleslogix) Problem with Multiple Timezone Controls in the Web Client
I just ran into an issue on 8.1.3 that I hadn't seen before.  A client wanted the time zone cont
Posted on May 11, 2015 by Kris Halsrud to Kris Halsrud's Blog
 
   How do I remove users from my Infor CRM system (formerly SalesLogix)?
I had an Administrator ask me for the steps they needed to take in order to remove a user from the Infor
Posted on May 08, 2015 by Dale Richter to Infor CRM Questions & Answers
 
   Using Global Script functions in InforCRM
I recently had a project that required me to be able to check if a user belonged to a particular team.
Posted on May 05, 2015 by Jason Buss to Jason Buss' Blog
 
Comments

 

קלנועית said:

Great help thanks  

December 5, 2011 10:46 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2015 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