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
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture