Thanks, Shabir! I will add this to the docs! Regards, Mariangela
*Mariangela Hills* Senior Technical Writer - WSO2, Inc. http://wso2.com Committer and PMC member - Apache Stratos email:mariang...@wso2.com | mobile: +94 773 500185 On Thu, Sep 10, 2015 at 10:47 PM, Shabir Mohamed <sha...@wso2.com> wrote: > Also to be added to *Common Mistakes:* > > > - The *"name" *attribute and the *"overview_name"* attribute, both > needs to have the same Value, (Ex: 'RaspberryPi' & 'Raspberry Pi' will not > work). *"name"* is the Artifact-Name and "*overview_name*" is the > value used when creating the resource path in the registry. > > > ------------------------------------- > *Shabir Mohamed* > *Software Engineer* > WSO2 Inc.; http://wso2.com > Email: sha...@wso2.com <ayy...@wso2.com> > Mobile: +94 77 3516019 | +94 71 6583393 > > On Thu, Sep 10, 2015 at 9:10 PM, Shabir Mohamed <sha...@wso2.com> wrote: > >> Hi, >> >> I have been trying to do $subject and found no relevant documentation. >> Hence, I backtracked the path as to how the existing sample-artifacts of >> the default asset-types (i.e.: gadget & site) are added when running the >> WSO2 - Enterprise Store 2.0. >> >> *As per my study these are the necessary steps required to do $subject:* >> >> Say the Asset-type for which we want to add a sample artifact has its >> *"RXT"* name as *"device.rxt". **(sample txt attached in the email)* >> >> 1. *The sample artifacts per asset-type are found at path:* >> >> - >> >> *<ES_HOME>/repository/deployment/server/jaggeryapps/publisher/samples/assets* >> - Create a folder by the plural-name of the asset-type(rxt) in this >> path. In this example we make a folder by the name *"devices"*. >> - All sample/default artifacts of asset-type *"device" *shall go into >> this folder. >> >> 2. The parent installation script - *"install.js"* - for all samples is >> found at the above mentioned path. Any *"install.js"* scripts found >> within sub-folders *(ex: devices, gadgets & sites)* of this path will >> over-ride the parent script to perform any specific operations relavant to >> that asset-type. >> >> - copy the sample asset-specific *"install.js"** (attached with this >> email)* into the folder created in the previous step. >> - search and change the following tags appropriately in the copied >> script: >> >> *<ASSET_LIFECYCLE>* : LifeCycle definition to which >> the asset-type *(in this example "device") *needs to be attached to *(ex: >> DeviceLifeCycle)*. Should be one of the lifecycle definitions found >> inside: >> *<ES_HOME>/repository/deployment/server/jaggeryapps/publisher/extensions/lifecycles/* >> *<ASSET_RXT_NAME>* : The *"rxt"* name of the >> asset-type for which the samples are to be made *(in this >> example "device"). * >> >> - Save and close the *"install.js"* script. >> >> 3. Create a folder by the name of the sample-artifact inside the >> asset-specific-parent-folder created in Step 1. In this example lets call >> our sample artifact of asset-type *"device"* as *"firealarm"*. We can >> continue adding any number of folders *per artifact* of the asset-type *(ex: >> firearm, raspberryPi, arduino & etc)*. Artifact specific details go into >> these folders. >> >> *The folder structure >> at- <ES_HOME>/repository/deployment/server/jaggeryapps/publisher/samples >> should >> look as follows:* >> >> *.* >> >> *└── samples* >> >> * └── assets* >> >> * ├── devices* >> >> * │ ├── firealarm* >> >> * │ │ ├── banner.png* >> >> * │ │ ├── device.json* >> >> * │ │ └── thumbnail.png* >> >> * │ └── install.js* >> >> * └── install.js* >> >> >> 4. Now we have to specify the asset specific attributes to be used when >> creating our sample (firealarm) artifact. These details are provided as a >> *"json" >> *file with the same name as the asset-type/rxt *(<RXT_NAME>.json)*. >> >> >> - In our example this is found inside the *"firealarm"* artifact >> folder as *"device.json"*. For every additional artifact-folder that >> is declared, there will be a corresponding *"device.json" *file with >> relevant attribute details. *(The one used for declaring "firealarm" >> artifact is attached)* >> >> >> - Additionally, any images used for thumbnail & banner views of the >> artifact in the store also need to go into the artifact specific folder. >> The path to these images need to be given appropriately in the >> *<RXT_NAME>.json >> *file. (See attached sample for clarity) >> >> >> 5. Make the following additions in the *"publisher-tenant.json"* file >> found at path: >> >> *<ES_HOME>/repository/deployment/server/jaggeryapps/publisher/config* >> >> >> - Add the asset-type *("device" in this example)* to the *"assets"* >> unit. >> >> *"assets":["gadget","site", "device"],* >> >> - Add the plural-name *("devices" in this example)* of the asset-type *(by >> which the folder was made in Step 1)* to the sub-unit *"collections"* >> nested under the unit - *"accessible".* >> >> *"accessible": [{* >> * "context": "/_system/governance",* >> * "collections": ["gadgets", "sites", >> "ebooks", "devices"],* >> * "actions": >> ["http://www.wso2.org/projects/registry/actions/get >> <http://www.wso2.org/projects/registry/actions/get>","http://www.wso2.org/projects/registry/actions/add >> <http://www.wso2.org/projects/registry/actions/add>", >> "http://www.wso2.org/projects/registry/actions/delete >> <http://www.wso2.org/projects/registry/actions/delete>", "authorize"]* >> * }],* >> >> - Add a new "*type"* by the same plural-name of the asset-type for >> sub-unit *"assetData" *nested under the unit - *"defaultAssets"*. >> >> *"defaultAssets": {* >> * "root": "/samples/assets",* >> * "assetData": [{* >> * "type": "gadgets",* >> * "ignore": ["agricultural-land", >> "intro-gadget-1", "intro-gadget-2", "gadget-template-explorer", >> "gadget-explorer", "co2-emission", "electric-power", "energy-use", >> "greenhouse-gas"]* >> * }, {* >> * "type": "ebooks"* >> * }, {* >> * "type": "sites"* >> * }, {* >> * "type": "devices"* >> * }]* >> * },* >> >> >> Now, if you restart the server (WSO2-ES), the new sample artifact should >> get created for the specific asset-type. This can be viewed at the >> Publisher-UI. The artifact will be listed under the asset-type in the >> Store-UI according to the lifecycle state mentioned for the >> *"overview_status"* attribute in the *<RXT_NAME>.json* file. In our >> example the artifact will be visible in the Store-UI, since we have set the >> lifecycle status to *"PUBLISHED"*. >> >> >> *Common Mistakes:* >> >> - Missing lifecycle definition in path: >> >> *<ES_HOME>/repository/deployment/server/jaggeryapps/publisher/extensions/lifecycles/* >> >> >> - >> *In-appropiate attribute naming in the Asset-RXT file for the attributes: >> * >> >> *Ex: >> shortName, singularLabel, pluralLabel, <storagePath>....</storagePath>* >> >> >> Please do inform me of anything that I have missed or included >> redundantly. >> >> Regards >> ------------------------------------- >> *Shabir Mohamed* >> *Software Engineer* >> WSO2 Inc.; http://wso2.com >> Email: sha...@wso2.com <ayy...@wso2.com> >> Mobile: +94 77 3516019 | +94 71 6583393 >> > > -- > You received this message because you are subscribed to the Google Groups > "WSO2 Documentation Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to documentation+unsubscr...@wso2.com. > For more options, visit https://groups.google.com/a/wso2.com/d/optout. >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev