salesforcedemandware

Is it possible to create an integration cartridge for BM in the Saleforce for "Marchant Tools" using controllers, not pipelines?


I must create new cartridge for integration in BM but I don't want use pipelines. Can I use the controllers for this? If yes, please provide information on how to do this.

.


Solution

  • Yes, you can. You need to create the bm_extensions.xml and add all the actions/entries.

    Note: The file mention pipeline but It can actually be a Controller as you can see in the example I linked below.

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <extensions xmlns="http://www.demandware.com/xml/bmmodules/2007-12-11"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.demandware.com/xml/bmmodules/2007-12-11 bmext.xsd">
    
        <menuaction id="paypal_transactions_manager" menupath="orders" position="200" site="true">
            <name xml:lang="x-default">PayPal Transactions</name>
            <short_description xml:lang="x-default">Manage the PayPal transactions related with this site orders.</short_description>
            <description xml:lang="x-default">Manage the PayPal transactions related with this site orders.</description>
            <exec pipeline="PaypalAdmin" node="Orders" />
            <sub-pipelines>
                <pipeline name="PaypalAdmin-Orders" />
                <pipeline name="PaypalAdmin-OrderTransaction" />
                <pipeline name="PaypalAdmin-Action" />
                <pipeline name="PaypalAdmin-CreateNewTransaction" />
            </sub-pipelines>
            <icon>paypalbm/images/icon_transactions.png</icon>
        </menuaction>
    </extensions>
    

    PayPal Cartridge bm_paypal is a good example to understand how is done: https://github.com/SalesforceCommerceCloud/link_paypal/tree/master/cartridges/bm_paypal/cartridge

    Ps: Let me know if you cannot access the link.