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

Reply via email to