I created a JIRA [1] to track this task. [1] https://wso2.org/jira/browse/DOCUMENTATION-2366
Regards, Mariangela *Mariangela Hills* Senior Technical Writer - WSO2, Inc. http://wso2.com Committer and PMC member - Apache Stratos email:[email protected] | mobile: +94 773 500185 On Fri, Sep 11, 2015 at 10:25 AM, Mariangela Hills <[email protected]> wrote: > 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:[email protected] | mobile: +94 773 500185 > > On Thu, Sep 10, 2015 at 10:47 PM, Shabir Mohamed <[email protected]> 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: [email protected] <[email protected]> >> Mobile: +94 77 3516019 | +94 71 6583393 >> >> On Thu, Sep 10, 2015 at 9:10 PM, Shabir Mohamed <[email protected]> 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: [email protected] <[email protected]> >>> 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 [email protected]. >> For more options, visit https://groups.google.com/a/wso2.com/d/optout. >> > >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
