In WSO2 App Manager, by default webapps are published to their own app store. But you can configure it to publish apps to external stores as well.
In this post, we are talking about how to do that.
- Log in to Management Console.
- Go to Main -> Browse -> and navigate to /_system/governance/appmgt/applicationdata/external-app-stores.xml, and click on "Edit As Text". Add each external app store which you want to publish apps, inside
- Create a webapp and publish it. Then go to webapp overview page. All the external app stores added in step 2, are previewed on "External Stores" tab.
- Select the stores and click on Save to publish the webapp to selected stores.
- From WSO2 App Manager 1.2.1, if you want to publish web apps to external store, you need to follow this step too. Go to Main -> Browse -> in Management Console and navigate to /_system/config/store/configs/store.json and click on "Edit As Text". Set "publicVisibility" to true.
- Then, go to the relevant external store. You will see the app there with an "Ad" label. Here Ad stands for "Advertised"
- This apps life cycle status can be changed by any publisher but it can be edited by the original publisher.
<ExternalAPPStores> <StoreURL>http://localhost:9763/store</StoreURL> <ExternalAPPStore id="Store1" type="wso2" className="org.wso2.carbon.appmgt.impl.publishers.WSO2ExternalAppStorePublisher"> <DisplayName>Engineering</DisplayName> <Endpoint>http://localhost:9763/publisher</Endpoint> <Username>firstname.lastname@example.org</Username> <Password>xxxxx</Password> </ExternalAPPStore> <ExternalAPPStore id="Store2" type="wso2" className="org.wso2.carbon.appmgt.impl.publishers.WSO2ExternalAppStorePublisher"> <DisplayName>Finance</DisplayName> <Endpoint>http://localhost:9763/publisher</Endpoint> <Username>email@example.com</Username> <Password>xxxx</Password> </ExternalAPPStore> </ExternalAPPStores>