Hi,
Done. Updated the JIRA with the latest patch + source. So now the media
type format we make mandate would be as follows

application/vnd.*.<parent-key>.<child_one_key>.<child_two_key> +
<message-format>

i.e application/vnd.wso2.application.mobile.android + json where
 inheritance goes  from left to right.


On Wed, Aug 6, 2014 at 5:37 PM, Senaka Fernando <[email protected]> wrote:

> Hi Subash,
>
> Yes, I think so. I think this is implicitly enforced. So, the parent-child
> model can't be setup between arbitrary mediatypes. Because if we start
> doing that, people can go crazy with it.
>
> Thanks,
> Senaka.
>
>
> On Wed, Aug 6, 2014 at 12:57 PM, Subash Chaturanga <[email protected]>
> wrote:
>
>> Hi Senaka,
>>
>>
>>
>> On Wed, Aug 6, 2014 at 5:01 PM, Senaka Fernando <[email protected]> wrote:
>>
>>> Hi Subash,
>>>
>>> Awesome! BTW, I still like to know how this parentKey thing works. I
>>> thought that it wasn't required to have a parentKey, because it was
>>> deducible from the mediatype of the child. Checked your patch, but that's a
>>> binary and not the diff, :(.
>>>
>>>
>> Yes, In fact I am in the process of thinking that too. Initially I did it
>> for not users forcing a particular pattern of the mediatype. But with our
>> searching model, they have to. +1 for removing parent key as well. Will
>> update once done.
>>
>>
>>> Hi Dimuthu,
>>>
>>> I didn't quite understand what you meant by API for applications and API
>>> for services? AFAIU, there is going to be one-single generic API that works
>>> for anything.
>>>
>>> Thanks,
>>> Senaka.
>>>
>>>
>>> On Wed, Aug 6, 2014 at 11:22 AM, Dimuthu Leelarathne <[email protected]>
>>> wrote:
>>>
>>>> Hi Subash,
>>>>
>>>> Thanks for the quick implementation.
>>>>
>>>> It looks enough from App Factory end to achieve what we want. This will
>>>> allow us to start right away with unified governance model for
>>>> applications. We'll contribute the Application aspect to the platform.
>>>> We'll be defining media types for the following and design the API. We'll
>>>> send you + everybody an open invite for the review session.
>>>>
>>>> Under Application
>>>> - Java WebApp
>>>> - Jaggery
>>>> - WSO2 Data Services
>>>>
>>>> From Greg end we'll be needing an API for the following because they
>>>> are services.
>>>>
>>>> JAX-WS
>>>> JAX-RS
>>>>
>>>> thanks,
>>>> dimuthu
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Aug 6, 2014 at 3:37 PM, Subash Chaturanga <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>> This is to give a quick update on this.
>>>>>
>>>>> I have completed the RXT inheritance with what we have so far
>>>>> discussed. Developer tested this on turing and following are the set of
>>>>> features. To inherit parent attributes in RXT config, there is a attribute
>>>>> called "parentKey" which specifies the parent artifact key.
>>>>>
>>>>>  mediatype
>>>>>                       key                         #artifacts
>>>>>
>>>>>  application/vnd.wso2.application+json
>>>>>     applications                      1
>>>>>  application/vnd.wso2.application.mobile+json
>>>>> mobileApplications            2
>>>>>  application/vnd.wso2.application.mobile.android+json
>>>>> androidApplications            4
>>>>>
>>>>> Features
>>>>>
>>>>> 1. API level;
>>>>> In governance api level once you initiate the governance manager  as
>>>>> follows as per above example;
>>>>>
>>>>>   GenericArtifactManager manager = new
>>>>> GenericArtifactManager(registry, "applications");
>>>>>
>>>>>   - manager.getAllGenericArtifacts();
>>>>>   - manager.getAllGenericArtifactsByLifecycle(<lifecycle_name>)
>>>>>   -
>>>>>  manager.getAllGenericArtifactsByLifecycleStatus(<lifecycle_name,<status>)
>>>>>   -  manager.findGenericArtifacts(GenericArtifactFilter criteria)
>>>>>   - manager.findGenericArtifacts(Map<String, List<String>> criteria)
>>>>>
>>>>> all above searching interfaces will respect to parent/child
>>>>> relationship and return results based on that.
>>>>>
>>>>> 2. In Carbon Mgt console UI:
>>>>>    - Artifact List UI
>>>>>       Applications List UI will list all 7 applications created, while
>>>>> Mobile Application List will show 6 and etc.
>>>>>
>>>>> 3. In API level, if a user tries to add an artifact that has any
>>>>> attribute missing compared to it's parent, GovernanceException thrown.
>>>>>
>>>>> I have not yet implemented the UI for facilitate this. Because we have
>>>>> a feature on RXT define Wizard in Jaggery (ongoing GSoC project), hence
>>>>> thought of improving the UI on that front. Hence, current RXT config UI
>>>>> does not validate the parent inheritance validation.  But this will be
>>>>> pushed eventually for 5.0.0 release.
>>>>>
>>>>>
>>>>> Please add anything you think lacking in this impl.
>>>>>
>>>>> @Dimuthu
>>>>> You can find the source patch + binary patch on Turing at [1].
>>>>>
>>>>> [1] -  https://wso2.org/jira/browse/REGISTRY-2252
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Aug 4, 2014 at 4:20 AM, Senaka Fernando <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Subash,
>>>>>>
>>>>>> Looks good, but, can we change this to the following format, such
>>>>>> that it remains compatible with the naming standards.
>>>>>>
>>>>>> 1. application/vnd.wso2.application+json > name,version
>>>>>> 2. application/vnd.wso2.application.mobile+json > mobileType
>>>>>> 3. application/vnd.wso2.application.mobile.android+json > apkPath
>>>>>>
>>>>>> This will still ensure that "application/vnd.wso2.application%+json"
>>>>>> will return all applications, and
>>>>>> "application/vnd.wso2.application.mobile%+json" will return all mobile
>>>>>> applications and vice versa. And, if we follow the pattern, we really 
>>>>>> need
>>>>>> not care whether it is three levels, four levels, or "n" levels deep.
>>>>>>
>>>>>> Also, unless the payload will be JSON instead of XML, please keep
>>>>>> "+xml" instead of "+json".
>>>>>>
>>>>>> Thanks,
>>>>>> Senaka.
>>>>>>
>>>>>>
>>>>>> On Sun, Aug 3, 2014 at 8:28 PM, Subash Chaturanga <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> $subject will allows users to define a parent artifact catalog
>>>>>>> through the rxt configuration. This will basically force artifacts to
>>>>>>> inherit pre-defined set of upstream parent attributes.
>>>>>>>
>>>>>>> For example, suppose I have 3 RXTs, application, mobile application
>>>>>>> and android application. Following is the media types and it's native
>>>>>>> attributes
>>>>>>>
>>>>>>> 1. application/vnd.wso2.application+json > name,version
>>>>>>> 2. application/vnd.wso2.application/vnd.wso2.application.mobile
>>>>>>> +json > mobileType
>>>>>>> 3.
>>>>>>> application/vnd.wso2.application/vnd.wso2.application.mobile/vnd.wso2.application.mobile.android
>>>>>>> +json > apkPath
>>>>>>>
>>>>>>> ( @Senaka/Dimuthu, we need to finalze the way we define media types.
>>>>>>> Please give your feedback on above model for media types for inherited
>>>>>>> rxts.)
>>>>>>>
>>>>>>> Artifact denotes from media type #3 should have all 4 attributes;
>>>>>>> name,version,mobileType,apkPath. For #2 it should be 3.  From governance
>>>>>>> API level and from UI, users will force to inherit all parent 
>>>>>>> attributes.
>>>>>>> And if a certain attribute is Required for a parent, it will be applied 
>>>>>>> for
>>>>>>> the child nodes as well. Also, since the media types can get lengthy and
>>>>>>> not kind of human readable, we are planning to stick to the short name
>>>>>>> mapping for media types which we already have on governance API level.
>>>>>>>
>>>>>>> And you can search All types of "applications" through the
>>>>>>> "application" governance artifact manager, while "android" governance
>>>>>>> artifact manager will return only android artifacts.
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thanks
>>>>>>> /subash
>>>>>>>
>>>>>>> *Subash Chaturanga*
>>>>>>> Senior Software Engineer & Lead WSO2 Governance Registry
>>>>>>> Platform TG; WSO2 Inc. http://wso2.com
>>>>>>> Contact:
>>>>>>> email: [email protected]
>>>>>>> blog:  http://subashsdm.blogspot.com/
>>>>>>> twitter: @subash89
>>>>>>> phone: +9477 2225922
>>>>>>> Lean . Enterprise . Middleware
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>>
>>>>>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
>>>>>> Software Architect; WSO2 Inc.; http://wso2.com
>>>>>>
>>>>>>
>>>>>>
>>>>>> * Member; Apache Software Foundation; http://apache.org
>>>>>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P:
>>>>>> +1 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*;
>>>>>>
>>>>>>
>>>>>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In:
>>>>>> http://linkedin.com/in/senakafernando
>>>>>> <http://linkedin.com/in/senakafernando>*
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks
>>>>> /subash
>>>>>
>>>>> *Subash Chaturanga*
>>>>> Senior Software Engineer & Lead WSO2 Governance Registry
>>>>> Platform TG; WSO2 Inc. http://wso2.com
>>>>> Contact:
>>>>> email: [email protected]
>>>>> blog:  http://subashsdm.blogspot.com/
>>>>> twitter: @subash89
>>>>> phone: +9477 2225922
>>>>> Lean . Enterprise . Middleware
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dimuthu Leelarathne
>>>> Architect & Product Lead of App Factory
>>>>
>>>> WSO2, Inc. (http://wso2.com)
>>>> email: [email protected]
>>>> Mobile : 0773661935
>>>>
>>>> Lean . Enterprise . Middleware
>>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>>> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
>>> Software Architect; WSO2 Inc.; http://wso2.com
>>>
>>>
>>>
>>> * Member; Apache Software Foundation; http://apache.org
>>> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1
>>> 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*;
>>>
>>>
>>> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In:
>>> http://linkedin.com/in/senakafernando
>>> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
>>>
>>
>>
>>
>> --
>> Thanks
>> /subash
>>
>> *Subash Chaturanga*
>> Senior Software Engineer & Lead WSO2 Governance Registry
>> Platform TG; WSO2 Inc. http://wso2.com
>> Contact:
>> email: [email protected]
>> blog:  http://subashsdm.blogspot.com/
>> twitter: @subash89
>> phone: +9477 2225922
>> Lean . Enterprise . Middleware
>>
>
>
>
> --
>
>
> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
> Software Architect; WSO2 Inc.; http://wso2.com
>
>
>
> * Member; Apache Software Foundation; http://apache.org
> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1
> 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*;
>
>
> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In:
> http://linkedin.com/in/senakafernando
> <http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
>



-- 
Thanks
/subash

*Subash Chaturanga*
Senior Software Engineer & Lead WSO2 Governance Registry
Platform TG; WSO2 Inc. http://wso2.com
Contact:
email: [email protected]
blog:  http://subashsdm.blogspot.com/
twitter: @subash89
phone: +9477 2225922
Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to