Hi Sameera,

Where can I find an example common feature?

Thanks,
Senaka.

On Thu, Apr 1, 2010 at 6:29 AM, Sameera Jayasoma <same...@wso2.com> wrote:

> Hi Carbon Component Owners,
>
> Following work items should be completed by each and every component owner.
>
> Here I've taken logging mgt feature as an example. Say it contains 4
> features, composite, server, ui and common features.
>
> *1) Feature names should be changed in the following manner*
>
> WSO2 Carbon - Logging Management Feature
> --WSO2 Carbon - Logging Management Server Feature
> --WSO2 Carbon - Logging Management UI Feature
> --WSO2 Carbon - Logging Management Common Feature
>
> *2) Add meaningful feature descriptions.*
>  Fill <description> tag in pom.xml. Feature descriptions are available for
> most of the features in this document(
> http://wso2.org/projects/carbon/provisioning-wso2-carbon-with-equinox-p2)
>
> *3) Fix feature.properties file location*
> feature.properties file contains license and copyright information. Each
> and every feature should carry this file. This file is located in features
> project under the etc/ folder. Relative path to feature.properties file
> should be added to the <propertiesFile> element of carbon-p2-plugin. Some
> feature may have to use long relative paths. :) I could only think of this
> solution at this moment. Please suggest if you have a better solution.
>
>
> <propertiesFile>../../../../../../../etc/feature.properties</propertiesFile>
>
> *4) Usage of org.wso2.carbon.p2.category.type property*
> This property is used to mark a feature as a server, common or console
> feature. If the feature is a server feature, following configuration element
> should be added to the carbon-p2-plugin.
>
> <adviceFile>
>     <properties>
>         <propertyDef>org.wso2.carbon.p2.category.type:server</propertyDef>
>     </properties>
> </adviceFile>
>
> Likewise you can add any number of properties under the properties element.
>
>
> *5) Usage of org.eclipse.equinox.p2.type.group property*
> By default all the features are considered as group/top level features in
> Equinox P2. When you query a P2 repository what you get is a list of group
> features. But ideally we should only show the composite feature as top level
> features. Other features should be showen as child features in the
> tree-view. Otherwise there will be long list of features.
>
> Therefore we need to set the above property to false in server, console,
> common features in the following manner. This property is added to
> server/console/common features only if they have a composite feature. I've
> seen some server features which does not have a composite feature. Please
> don't add this property in such cases.
>
> <adviceFile>
>     <properties>
>         <propertyDef>org.eclipse.equinox.p2.type.group:false</propertyDef>
>     </properties>
> </adviceFile>
>
> I've added bot the above properties to all the features. But please check
> whether they have been added correctly.
>
> *6) Usage of <bundleDef> and <importBundleDef>*
>
> Both these element are used to declare required bundles in features. I will
> explain the usage of these elements using the following example.
>
> Security mgt feature has a dependency on xkms bundle and also XKMS feature
> has a dependency on xkms bundle. Ideally xkms bundle should be a part of the
> XKMS feature and other features should import xkms feature using
> <importFeatureDef> element. Now when you install security mgt feature, xkms
> feature will also get installed, because it is required feature of security
> mgt. But xkms feature may contain some other bundles which are not required
> for Security mgt. Hence importing the complete xkms feature would not solve
> the problem. In these cases, you can use importBundleDef element to import
> only the xkms bundle from xkms feature.
>
> Each and every bundle used in Carbon based products, should belongs to a
> SINGLE feature and dependencies on these bundles should be declared using
> <bundleDef> element. Other features can either import complete features or
> import bundles.
>
> We need to enforce this fact in our Carbon features. If not, it causes
> issues when *patching features*. Therefore please make sure that you have
> declared dependencies on bundles and features correctly.
>
> If you have any concerns on this, please let us know.
>
> Thanks
> Sameera
>
>
>
> _______________________________________________
> Carbon-dev mailing list
> Carbon-dev@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
Senaka Fernando
Software Engineer
WSO2 Inc.
E-mail: senaka AT wso2.com;  Mobile: +94 77 322 1818

http://www.wso2.com/ - "Lean . Enterprise . Middleware"
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to