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