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.
>>>>>
>>>>
>>>>
>>>
>>
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to