Author: abroekhuis Date: Wed Feb 16 15:57:45 2011 New Revision: 785528 Log: Pushed first working version Modified: websites/production/celix/ (props changed) websites/production/celix/content/celix/background-links.html websites/production/celix/content/celix/background.html websites/production/celix/content/celix/celix-links.html websites/production/celix/content/celix/celix.html websites/production/celix/content/celix/community/boardreports/boardreports.html websites/production/celix/content/celix/community/boardreports/reports.html websites/production/celix/content/celix/community/community.html websites/production/celix/content/celix/community/contributing/contributing.html websites/production/celix/content/celix/community/contributing/links.html websites/production/celix/content/celix/community/links.html websites/production/celix/content/celix/documentation.html websites/production/celix/content/celix/documentation/buildingandrunning-links.html websites/production/celix/content/celix/documentation/buildingandrunning.html websites/production/celix/content/celix/documentation/design.html websites/production/celix/content/celix/documentation/examples.html websites/production/celix/content/celix/download-links.html websites/production/celix/content/celix/download.html websites/production/celix/content/celix/examples/helloworld-links.html websites/production/celix/content/celix/examples/helloworld.html websites/production/celix/content/celix/index.html websites/production/celix/content/celix/links.html websites/production/celix/content/celix/support/issuetracking.html websites/production/celix/content/celix/support/links.html websites/production/celix/content/celix/support/mailinglist.html websites/production/celix/content/celix/support/support.html Propchange: websites/production/celix/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Feb 16 15:57:45 2011 @@ -1 +1 @@ -/websites/staging/celix/trunk:785476-785518 +/websites/staging/celix/trunk:785476-785527 Modified: websites/production/celix/content/celix/background-links.html ============================================================================== --- websites/production/celix/content/celix/background-links.html (original) +++ websites/production/celix/content/celix/background-links.html Wed Feb 16 15:57:45 2011 @@ -1 +1,150 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+ +
+
+ + + + + Modified: websites/production/celix/content/celix/background.html ============================================================================== --- websites/production/celix/content/celix/background.html (original) +++ websites/production/celix/content/celix/background.html Wed Feb 16 15:57:45 2011 @@ -1 +1,194 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - Background + + + + + + + + + + + + + +
+ + +
+
+
+
+

Background

+

Celix started during the summer of 2010 as a simple project to see if it is possible to dynamically load libraries +(at runtime) in C. After some initial testing and searching this is supported out of the box using Dynamic Loading.

+

Since Dynamic Loading only solves how libraries can be loaded and used, a framework has to be made to integrate it in. +For Java such frameworks exists, with OSGi being one of the leading specifications. OSGi provides guidelines for +services, dynamic behavior, bundling, deployment etc. But the OSGi specification is targeted specifically +to Java, and can not be used for C.

+

Celix focuses on adapting and implementing the OSGi specification in C. While the concepts of OSGi can be mapped, +, relatively easy, on C, it is not possible to plainly implement the specification. Several key aspects rely on Java, +and for C alternatives had to be found:

+
    +
  • +

    Service Interfaces

    +

    OSGi uses Java Interfaces to describe and expose a service, without exposing the actual implementation. While in C + it is possible to describe a service in a header file, it is not possible to expose this service. To be able to expose + services in C a struct with function pointers is used. An activator is responsible for filling these pointer, after + which the struct is registered as a service.

    +
  • +
  • +

    Deployment

    +

    OSGi uses bundles (which are actually jar files) to deploy one or more services. Bundles contain the libraries, + resources and additionally a manifest file describing the content of the bundle. + In C libraries contain only the Objects compiled out of the source. It is not possible to add resources (and the + manifest). To be able to have useful bundles, a zip file is used in which the library and resources are packed.

    +
  • +
  • +

    Exported Packages

    +

    OSGi uses packages to export services and types. Since C doesn't have packages/namespaces + it is not possible to export a group of services via a package. Instead, the actual service is exported, and + additional types can be used using the definition of the type.

    +
  • +
+

After identifying and solving these problems, it was possible to create a framework following most of the OSGi +specification. Since there are several Open Source OSGi implementation, it made sense to look at these as either a guide +or a source for porting generic behavior. As such, Celix is heavily based on Apache Felix, and several parts are even a +direct port of existing Felix code.

+

With a working prototype, discussion started about how to continue developing Celix. As a generic framework, +providing middleware for any kind of dynamic system, it made sense to Open Source Celix and try to grow a community +to support and implement Celix. Since Celix is based on Felix, it was a logical choice to choose Apache as home for it.

+

In September of 2010 the Celix Proposal was written and published to the Apache Incubator. After some discussion a vote +was called for, and Celix was accepted as new Incubator Project. Since then work has begun to grow a community, increase +awereness and implement Celix.

+
+ +
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/celix-links.html ============================================================================== --- websites/production/celix/content/celix/celix-links.html (original) +++ websites/production/celix/content/celix/celix-links.html Wed Feb 16 15:57:45 2011 @@ -1 +1,144 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+
+
+ +
+ + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/celix.html ============================================================================== --- websites/production/celix/content/celix/celix.html (original) +++ websites/production/celix/content/celix/celix.html Wed Feb 16 15:57:45 2011 @@ -1 +1,153 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - About Celix + + + + + + + + + + + + + +
+ + +
+
+
+
+

About Celix

+

Celix is an implementation of the OSGi specification adapted to C. It will follow the API as close as possible, +but since the OSGi specification is written primarily for Java, there will be differences (Java is OO, C is procedural). +An important aspect of the implementation is interoperability between Java and C. +This interoperability is achieved by porting and implementing the Remote Services specification in Celix.

+

Celix entered incubation in November 2010 and is just getting started.

+

More information about the history and background of Celix can be read here: Background

+
+ +
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/boardreports/boardreports.html ============================================================================== --- websites/production/celix/content/celix/community/boardreports/boardreports.html (original) +++ websites/production/celix/content/celix/community/boardreports/boardreports.html Wed Feb 16 15:57:45 2011 @@ -1 +1,186 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - Board Reports + + + + + + + + + + + + + +
+ + +
+
+
+
+

Board Reports

+

To monitor incubator project, the Apache Software Foundation board holds monthly meetings. +For these meetings a board report must be delivered to the Incubator PMC.

+

On this page the reports for Celix are shown.

+

2011-02

+

= Celix =

+

Celix is an implementation of the OSGi Specification in C.

+

Celix entered incubation on November 2, 2010.

+

A new structure for the project has been used for the framework. In this structure public and private files are +separated. This structure has not yet been applied to all "sub" project in Celix. +We are also looking at Apache APR for OS abstraction. Using APR would involve replacing all file handing, threading +etc with APR functions.

+

Finally, work is being done for the talk on the EclipseCon.

+

Most important issues are:

+

Add more information to the wiki (ongoing process) +Move all "sub" project to the new structure. +Use APR for all file handling, threading etc.

+

Signed off by mentor:

+

2011-01

+

= Celix =

+

Celix is an implementation of the OSGi Specification in C.

+

Celix entered incubation on November 2, 2010.

+

Currently the source tree is being cleaned and correct header information is being added. We are also looking at the +project structure and how it can be changed to get a better/simpler overview. Most important aspect is separating the +actual framework from the additional bundles.

+

Additionally, last December a proposal for a Celix talk was sent to, and accepted by the EclipseCon/OSGi DevCon. This +provides a great opportunity to increase awareness and build a community.

+

Most important issues are:

+
Add more information to the wiki (ongoing process)
+Cleanup project, rearrange structure
+Generate awareness and grow a community!
+
+ + +

Signed off by mentor: marrs

+

2010-12

+

= Celix =

+

Celix is an implementation of the OSGi Specification in C.

+

Celix entered incubation on November 2, 2010.

+

As we are just accepted into the Incubator, startup is in progress. The donated code has been committed to +SVN, and the project site is being created.

+

Most important issues are:

+
Get everything (Jira, SVN, Website etc) up and running
+Cleanup code
+Generate awareness and grow a community.
+
+ + +

Signed off by mentor: marrs

+
+
+ + + + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/boardreports/reports.html ============================================================================== --- websites/production/celix/content/celix/community/boardreports/reports.html (original) +++ websites/production/celix/content/celix/community/boardreports/reports.html Wed Feb 16 15:57:45 2011 @@ -1 +1,135 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+
+
+ +
+ + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/community.html ============================================================================== --- websites/production/celix/content/celix/community/community.html (original) +++ websites/production/celix/content/celix/community/community.html Wed Feb 16 15:57:45 2011 @@ -1 +1,143 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - Celix Community + + + + + + + + + + + + + +
+ + +
+
+
+
+

Celix Community

+

Celix is a community driven project, where everyone is free to download and use it. Besides using Celix we encourage +everyone to participate in the development. This can be as simple as providing feedback and reporting bugs but could as +well mean bug fixes and code contributions.

+ +

Since Celix is still in incubation at the Apache Incubator, the status has to be reported to the Incubator PMC. These +reports are also available on this site.

+ +
+
+ + +
+ +
+ + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/contributing/contributing.html ============================================================================== --- websites/production/celix/content/celix/community/contributing/contributing.html (original) +++ websites/production/celix/content/celix/community/contributing/contributing.html Wed Feb 16 15:57:45 2011 @@ -1 +1,137 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - Contributing + + + + + + + + + + + + + +
+ + +
+
+
+
+

Contributing

+

The Celix community is open for everyone to participate in. Discussions are done over the +mailing lists, and issues can be created and +seen by everyone.

+

If you would like to join the Celix community, a good start would be to follow the mailing list and participate in the +discussions, use Celix and report bugs you find, possibly with patches.

+
+
+ + +
+ +
+ + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/contributing/links.html ============================================================================== --- websites/production/celix/content/celix/community/contributing/links.html (original) +++ websites/production/celix/content/celix/community/contributing/links.html Wed Feb 16 15:57:45 2011 @@ -1 +1,129 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+
+
+
+

+ +
+
+ + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/community/links.html ============================================================================== --- websites/production/celix/content/celix/community/links.html (original) +++ websites/production/celix/content/celix/community/links.html Wed Feb 16 15:57:45 2011 @@ -1 +1,129 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+
+
+
+

+ +
+
+ + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/documentation.html ============================================================================== --- websites/production/celix/content/celix/documentation.html (original) +++ websites/production/celix/content/celix/documentation.html Wed Feb 16 15:57:45 2011 @@ -1 +1,137 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - Documentation + + + + + + + + + + + + + +
+ + +
+
+
+
+

Documentation

+

Currently the documentation for Celix contains information about building and running Celix, as well as some examples.

+ +
+
+ + + +
+
+
+
+
+ + + + + Modified: websites/production/celix/content/celix/documentation/buildingandrunning-links.html ============================================================================== --- websites/production/celix/content/celix/documentation/buildingandrunning-links.html (original) +++ websites/production/celix/content/celix/documentation/buildingandrunning-links.html Wed Feb 16 15:57:45 2011 @@ -1 +1,141 @@ -single_narrative.html \ No newline at end of file + + + + + + + + + + + + + + Apache Celix - + + + + + + + + + + + + + +
+ + +
+
+
+
+

+

Requirements

+
    +
  • CMake (2.8.1)
  • +
  • GCC (4.2.1)
  • +
  • GNU Make (3.81)
  • +
  • ZLib
  • +
  • CUnit
  • +
  • Celix Source
  • +
+ + +
+
+ + + +
+
+
+
+
+ + + + +