Hi Felix,

Progress! Both bundles are now installed, visible in the console and
started!

However, there not yet doing what they supposed to do: for instance, I
cannot retrieve resources from the resource bundle. E.g. the license
file has path /license.txt within the bundle jar. So, in combination
with the 

        Sling-Bundle-Resources: /libs/fckeditor

I would have guessed that the URI for it is:

        http://localhost:7402/libs/fckeditor/license.txt

But I get a 404 instead. 

Any idea?

Thanks so much,
Juerg


On Mon, 2008-08-25 at 08:15 +0200, Felix Meschberger wrote:
> Hi Juerg,
> 
> Juerg Meier schrieb:
> > Hi Felix,
> > 
> > Well. my first adventure into OSGi was not a very lucky one... I
> > prepared two bundles, one for the resources, one for the taglib, but
> > adding them with the mgmt console, they remained invisible. Looks like
> > their falling in a black hole, because there wasn't an error message
> > either...
> > 
> > Perhaps the manifests are incomplete? Here the one for the static
> > resources:
> > 
> > Manifest-Version: 1.0
> > Bundle-Version: 1.0.0
> > Bundle-Name: FCKEditorResources
> > Bundle-ManifestVersion: 2
> > Sling-Bundle-Resources: /libs/fckeditor 
> 
> The problem with this manifest is, that the Bundle-SymbolicName header 
> is missing, which is required by OSGi R4. The same problem is with the 
> tag lib bundle.
> 
> > 
> > I observed that 
> > in CRX quickstart there is bundle #33 that contains
> > resources only. Howewver, its manifest does not contain a
> > Sling-Bundle_Resources header, but something called
> > Sling-Initial-Content.
> 
> These have different use cases: Sling-Bundle-Resources provides the 
> files (and folders) in the Sling Resource tree directly without any 
> traces in the repository. The main advantage of this is, that simply 
> updating the bundle also updates the files and folders in the reource tree.
> 
> The Sling-Initial-Content header causes the addressed content to be 
> copied to the repository. The main advantage of this is, that you can 
> then directly manipulate these files in the repository without having to 
> redeploy a bundle -- but of course you loose the code management 
> functionality of the bundle in this case.
> 
> So in the end, using Sling-Bundle-Resources in this case is supperior IMHO.
> 
> > 
> > 
> > For the taglib bundle, I declared the following: 
> > 
> > Manifest-Version: 1.0
> > Bundle-Version: 1.0.0
> > Bundle-Name: FCKEditor-taglib
> > Bundle-ManifestVersion: 2
> > Export-Package: net.fckeditor, net.fckeditor.handlers,
> > net.fckeditor.tool
> > Bundle-ClassPath: ., ./lib/commons-fileupload-1.2.1.jar, 
> > ./lib/commons-io-1.3.2.jar, ./lib/slf4j-api-1.5.2.jar
> > Build-Jdk: 1.5.0_13
> 
> You should not include the slf4j-api library in the tag lib bundle, 
> otherwise you get errors while running the library. Rather define an 
> Import-Package statement for the slf4j API:
> 
>      Import-Package: org.slf4j
> 
> This works perfectly because the Sling log bundle provides this API for use.
> 
> > 
> > Do I need an activator, an import header or something else?
> 
> no, this is not needed as the JSP compiler recognizes the *.tld files in 
> the bundle's META-INF folders automatically and registers the respective 
> tag library from those files.
> 
> 
> Hope this helps.
> 
> Regards
> Felix

Reply via email to