Skip to main content
Inspiring
January 29, 2019
Answered

How to bundle multiple extensions into a single one?

  • January 29, 2019
  • 1 reply
  • 885 views

Hi All,

I have created an extension for AI that includes 2 other extensions as well.

I have followed this link in doing so,

Re: HTML5 Opening a Modal Dialog from Extension?

My manifest looks like this,

<?xml version="1.0" encoding="UTF-8"?>

<ExtensionManifest Version="5.0" ExtensionBundleId="com.MyExtension" ExtensionBundleVersion="1.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <ExtensionList>

        <Extension Id="com.MyExtension.mainPanel" Version="1.0" />

        <Extension Id="com.MyExtension.panel1" Version="1.0" />

        <Extension Id="com.MyExtension.panel2" Version="1.0" />

    </ExtensionList>

    <ExecutionEnvironment>

        <HostList>

            <Host Name="ILST" Version="18.0" />

        </HostList>

        <LocaleList>

            <Locale Code="All" />

        </LocaleList>

        <RequiredRuntimeList>

            <RequiredRuntime Name="CSXS" Version="5.0" />

        </RequiredRuntimeList>

    </ExecutionEnvironment>

    <DispatchInfoList>

        <Extension Id="com.MyExtension.mainPanel">

            <DispatchInfo >

                <Resources>

                <MainPath>./mainPanel.html</MainPath>

                <CEFCommandLine>

                    <Parameter>--enable-nodejs</Parameter>

                    <Parameter>--mixed-context</Parameter>               

                </CEFCommandLine>               

                <ScriptPath>./jsx/hostscript.jsx</ScriptPath>

                </Resources>

                <Lifecycle>

                    <AutoVisible>true</AutoVisible>

                </Lifecycle>

                <UI>

                    <Type>Panel</Type>

                    <Menu>MainPanel</Menu>

                    <Geometry>

                        <Size>

                            <Height>50</Height>

                            <Width>300</Width>

                        </Size>

                        <MaxSize>

                            <Height>50</Height>

                            <Width>300</Width>

                        </MaxSize>

                    </Geometry>

                </UI>

            </DispatchInfo>

        </Extension>   

        <Extension Id="com.MyExtension.panel1">

            <DispatchInfo >

                <Resources>

                <MainPath>./panel1.html</MainPath>

                <CEFCommandLine>

                    <Parameter>--enable-nodejs</Parameter>

                    <Parameter>--mixed-context</Parameter>

                </CEFCommandLine>

                <ScriptPath>./panel1.jsx</ScriptPath>

                </Resources>

                <Lifecycle>

                    <AutoVisible>true</AutoVisible>

                </Lifecycle>

                <UI>

                    <Menu></Menu>

                    <Type>ModalDialog</Type>

                    <Geometry>

                        <Size>

                            <Height>350</Height>

                            <Width>320</Width>

                        </Size>

                        <MaxSize>

                            <Height>350</Height>

                            <Width>320</Width>

                        </MaxSize>

                        <MinSize>

                            <Height>350</Height>

                            <Width>320</Width>

                        </MinSize>

                    </Geometry>

                </UI>

            </DispatchInfo>

        </Extension>

        <Extension Id="com.MyExtension.panel2">

            <DispatchInfo >

                <Resources>

                <MainPath>./panel2.html</MainPath>

                <CEFCommandLine>

                    <Parameter>--enable-nodejs</Parameter>

                    <Parameter>--mixed-context</Parameter>               

                </CEFCommandLine>   

                <ScriptPath>./panel2.jsx</ScriptPath>

                </Resources>

                <Lifecycle>

                    <AutoVisible>true</AutoVisible>

                </Lifecycle>

                <UI>

                    <Type>ModalDialog</Type>

                    <Menu></Menu>

                    <Geometry>

                        <Size>

                            <Height>600</Height>

                            <Width>700</Width>

                        </Size>

                        <MinSize>

                            <Height>500</Height>

                            <Width>600</Width>

                        </MinSize>

                    </Geometry>

                </UI>

            </DispatchInfo>

        </Extension>

    </DispatchInfoList>

</ExtensionManifest>

I am able to open panel1 and panel2 from mainPanel.

However, if I try to open panel2 from panel1, there is no response.

This is my code to open panel1 from main panel, which works,

var params = {};

csInterface.requestOpenExtension("com.MyExtension.panel1", params); 

And here is the code to open panel2 from panel1, which does not work,

var params = {};

csInterface.requestOpenExtension("com.MyExtension.panel2", params);  

I do not encounter any issue. It just doesn't work.

Any ideas why?

This topic has been closed for replies.
Correct answer Ten A

A modal dialog blocks other window or dialog. If you want to open others from the extension, You should use modeless dialog or panel.

Additionally, This community already end of life. However, You can use below.

Extensions / Add-ons Development

1 reply

Ten A
Community Expert
Ten ACommunity ExpertCorrect answer
Community Expert
February 9, 2019

A modal dialog blocks other window or dialog. If you want to open others from the extension, You should use modeless dialog or panel.

Additionally, This community already end of life. However, You can use below.

Extensions / Add-ons Development

PECourtejoie
Community Expert
Community Expert
January 16, 2020

I am moving this to the Exchange.