Hi All, On Mon, Jan 14, 2013 at 12:44 PM, Senaka Fernando <sen...@wso2.com> wrote:
> Hi Kasun, > > On Mon, Jan 14, 2013 at 11:40 AM, Kasun Indrasiri <ka...@wso2.com> wrote: > >> >> >> On Mon, Jan 14, 2013 at 9:56 AM, Senaka Fernando <sen...@wso2.com> wrote: >> >>> Hi all, >>> >>> I have some questions on $subject? Is it true or do we also make >>> modifications during product-build-time? If so, how can the need for these >>> modifications be eliminated? >>> >>> Apart from the configuration changes we need to do, its true.. I guess. >> For products, such as ESB, we need to manually change the axis2.xml after >> installing required features on carbon core. >> However, we could automate this by doing the configuration upgrades >> during features installation. eg: When we install ESB engine feature, it >> should upgrade the axis2.xml accordingly. >> > > Yes, this is pretty much what I am suggesting as well. Taking a look @ > G-Reg 4.5.3 source code, I found that we have several things maintained at > product-level: > > 1. Configuration (repository/conf) and Resources (RXT, Lifecycle > Configurations, DB Scripts) introduced @ product-level. > 2. Product Styling (Themes and also some home pages for Stratos Services). > 3. Tools (ex:- Check-in Client) > 4. Jaggery Applications > 5. Integration Tests > 6. Product Samples > 7. Documentation (README, release note, API docs etc). > 8. Build System (P2 Profile Generation, Features, Assembly Descriptors, > Maven Filters, etc) > > IMHO, there are things that are somewhat unavoidable: 2, 5, 6, 7 and some > of 8. But, somethings are not requirements of products, but those of > various features used by products: 1, 4. And for some others we don't have > a clear strategy: 3. > > Having classified these, for #3, I believe that we need to consider how > client-side tools (.dll for .NET integration, check-in client, etc) will be > maintained and packaged. Prabath did raise this concern during the off-site > meeting, but we still need to agree on some solution. > > Next, we need to fix things like #1 and #4 as tasks for upcoming releases. > These need to get added through P2. Its actually not easy and we will have > to rely on some rules, especially when multiple products configure multiple > features in different ways. These are the main reasons to why feature X > does not work on product Y as soon as you install it. > +1. We need to make our platform features to be self-configured during installation. We need to identify required configurations for each feature and package them at feature level rather than at product level. For this, we can use p2-touchpoint instructions to copy/overwrite config files,db scripts to target directories, add JVM parameters etc, during feature installations. Having said that, not all configurations can be achieved using currently available p2-touchpoints [1]. There are certain limitations when it comes to creating databases/executing external scripts and configuring features differently as per the target product. Some of our features require additional DB schemas (eg: SCIM feature), and in some cases we need features to be configured differently as per the target product (eg: G-Reg uses human task feature for work list notification and doesn't require the additional UI permissions installed with the feature: a concern raised @dev by Ajith ). So to fulfill our P2 needs such as above, I think we need to look at extending the p2-touchpoint API to have our own custom p2-instructions to be used during feature installations. > I believe the fundamental reason to this is that we have primarily focused > on binaries when it comes to feature packaging and not configuration. > > Finally, WRT things that are 'somewhat' unavoidable, there might be ways > of moving those out of product-scope. For example, we can have all > integration tests added to a common area. The tests would be properly > modularized such that it will possible to run a fraction of it against a > given product or platform. Test Initialization (extracting and configuring > binaries or connecting to S2) and Test Execution might need to be clearly > separated, and inter-test dependencies (which is why one non-crosscutting > bug can generate several test failures) must be eliminated. Portions of #2 > and #8 can also be able to be moved to different levels. > > If done properly, this would then make the product-sections totally > focused on packaging (styling, documentation and samples). Samples and > documentation can also be thinned out if we properly utilize wiki-based > documentation, Dev-Studio based samples etc. The idea is to minimize the > release-over-release management effort of products, reduce a great deal of > svn externals, and also simplify the creation of platforms or other types > of packaging in the future. > > Thanks, > Senaka. > > >> Thanks, >>> Senaka. >>> >>> -- >>> * <http://wso2con.com/> >>> * >>> * >>> >>> Senaka Fernando* >>> Member - Integration Technologies Management Committee; >>> Technical Lead; WSO2 Inc.; http://wso2.com* >>> Member; Apache Software Foundation; http://apache.org >>> >>> E-mail: senaka AT wso2.com >>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 >>> Linked-In: http://linkedin.com/in/senakafernando >>> >>> *Lean . Enterprise . Middleware >>> >>> _______________________________________________ >>> Dev mailing list >>> Dev@wso2.org >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> Kasun Indrasiri >> Associate Technical Lead >> WSO2, Inc.; http://wso2.com >> lean.enterprise.middleware >> >> cell: +94 71 536 4128 >> Blog : http://kasunpanorama.blogspot.com/ > > > > > -- > * <http://wso2con.com/> > * > * > > Senaka Fernando* > Member - Integration Technologies Management Committee; > Technical Lead; WSO2 Inc.; http://wso2.com* > Member; Apache Software Foundation; http://apache.org > > E-mail: senaka AT wso2.com > **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818 > Linked-In: http://linkedin.com/in/senakafernando > > *Lean . Enterprise . Middleware > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > Thanks, Dileepa [1] http://wiki.eclipse.org/Equinox/p2/Engine/Touchpoint_Instructions_35 -- Dileepa Jayakody, Software Engineer, WSO2 Inc. Lean . Enterprise . Middleware Mobile : +94777-857616
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev