Hi Shabir, Please note that I have updated [1] based on the feedback in this thread and also based on the points we came up with after testing this tutorial in-depth. Thanks, for all the help!
[1] https://docs.wso2.com/display/ES200/Adding+a+Sample+Asset+for+a+New+Asset+Type+at+Server+Startup 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 Wed, Sep 16, 2015 at 10:27 AM, Mariangela Hills <mariang...@wso2.com> wrote: > *@Shabir* > Sorry, for the late reply! I will add these common mistakes as tips in the > ES wiki docs. > > *@Jackie* > Jackie, thanks for your feedback! Yes, I too think that adding this > information in a "Tips" macro will be useful to the user. In addition, I > will do the other corrections that you mentioned. > > 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 Wed, Sep 16, 2015 at 5:22 AM, Jackie Wheeler <jac...@wso2.com> wrote: > >> I think we can add a "Tips" section at the bottom and have a bulleted >> list of these items, such as "Be sure to add the lifecycle definition to >> the path." >> >> Mari, the note in the middle of the page is missing content in the second >> sentence. Currently it says: >> >> You need to define the latter mentioned asset specific attributes in a >> JSON file, which has the same name as the asset type RXT (e.g., >> RXT_NAME.json). In this case >> >> Also, at the end of the page, the last sentence is missing a word: >> >> In this tutorial, as we have set the lifecycle status to the artifact >> is visible in the Store. >> >> Cheers, >> Jackie >> >> >> On Mon, Sep 14, 2015 at 7:44 AM, Shabir Mohamed <sha...@wso2.com> wrote: >> >>> Hi Mariangela, >>> >>> I thought the "Common Mistakes"would also be useful for someone who >>> reads the documentation. >>> >>> Isn't it within our documentation guidelines to add something like >>> that??? If so that's fine :D >>> >>> ------------------------------------- >>> *Shabir Mohamed* >>> *Software Engineer* >>> WSO2 Inc.; http://wso2.com >>> Email: sha...@wso2.com <ayy...@wso2.com> >>> Mobile: +94 77 3516019 | +94 71 6583393 >>> >>> On Mon, Sep 14, 2015 at 8:09 PM, Shabir Mohamed <sha...@wso2.com> wrote: >>> >>>> Hi, >>>> >>>> Thanks a lot:D >>>> >>>> Regards >>>> >>>> ------------------------------------- >>>> *Shabir Mohamed* >>>> *Software Engineer* >>>> WSO2 Inc.; http://wso2.com >>>> Email: sha...@wso2.com <ayy...@wso2.com> >>>> Mobile: +94 77 3516019 | +94 71 6583393 >>>> >>>> On Mon, Sep 14, 2015 at 6:45 PM, Mariangela Hills <mariang...@wso2.com> >>>> wrote: >>>> >>>>> Hi Shabir, >>>>> I have documented this in [1]. >>>>> >>>>> [1] >>>>> https://docs.wso2.com/display/ES200/Adding+a+New+Sample+Asset+for+an+Asset+Type+at+Server+Startup >>>>> >>>>> 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 Fri, Sep 11, 2015 at 3:32 PM, Mariangela Hills <mariang...@wso2.com >>>>> > wrote: >>>>> >>>>>> 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:mariang...@wso2.com | mobile: +94 773 500185 >>>>>> >>>>>> On Fri, Sep 11, 2015 at 10:25 AM, Mariangela Hills < >>>>>> mariang...@wso2.com> 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: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. >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> -- >>> 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. >>> >> >> >> >> -- >> *Jackie Wheeler* >> VP, Technical Content >> WSO2, Inc. >> Mobile: +1 510 725-2876 >> http://wso2.com/ >> > >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev