Hi,

Thanks a lot:D

Regards

-------------------------------------
*Shabir Mohamed*
*Software Engineer*
WSO2 Inc.; http://wso2.com
Email: [email protected] <[email protected]>
Mobile: +94 77 3516019 | +94 71 6583393

On Mon, Sep 14, 2015 at 6:45 PM, Mariangela Hills <[email protected]>
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:[email protected] | mobile: +94 773 500185
>
> On Fri, Sep 11, 2015 at 3:32 PM, Mariangela Hills <[email protected]>
> 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:[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

Reply via email to