On Fri, Apr 2, 2010 at 1:43 AM, Senaka Fernando <sen...@wso2.com> wrote:
> Hi Sameera, > > Where can I find an example common feature? > Carbon Core contains a common feature called org.wso2.carbon.core.common.feature and org.apache.synapse.transport.nhttp.feature. Sameera > > 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 > >
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev