You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Carsten Ziegeler <cz...@apache.org> on 2008/04/29 17:28:54 UTC

[RT] Cleaning up our modules (Part I)

Hi,

I think our current directory is a little bit confusing for new users, 
We have several top level dirs (like commons, extensions, osgi, sling)
which do not clearly indicate what they might contain.

I know this is a "hot topic" :) and we could debate for ages about it. I 
think we should just try to follow a pragmatic approach and try to limit 
the number of dirs and modules.

This first part is about the commons and the osgi dirs. I think 
"commons" is a great name and its content is "common stuff" :) which 
means it is stuff that is used by Sling but not directly tied to Sling - 
it can be used outside of Sling. So we should keep this dir and its 
current content.

Actually I think the "osgi" dir is confusing; most of our stuff is about 
osgi so what does it contain? An osgi implementation?
I think it currently contains common stuff (bundles) as well, so it 
would make sense to merge the contents into the commons dir.

But :) we want to move the console-web to Felix, so let's not move it to 
"commons"; the assembly stuff is currently not used, same with the obr. 
I think we should move this to a sandbox area.
The log is a common implementation of the LogService and we should move 
it to "commons".
And osgi/commons has "common stuff" as well :), so we should move it to 
commons/osgi or commons/osgi-util.

So, wrapping up:
a) "commons" is a place for common code/bundles which is not directly 
tied to Sling (but used by Sling)
b) We move the stuff from the "osgi" dir to "better places"
c) osgi/assembly -> sandbox
d) osgi/commons -> commons/osgi-util
e) osgi/console-web -> Apache Felix
f) osgi/log -> commons/log
g) osgi/obr -> sandbox

Does this make sense?

Carsten
-- 
Carsten Ziegeler
cziegeler@apache.org

Re: [RT] Cleaning up our modules (Part I)

Posted by Felix Meschberger <fm...@gmail.com>.
Hi,

Am Mittwoch, den 30.04.2008, 08:44 +0200 schrieb Carsten Ziegeler:
> >         (2) deploy: deployes bundles into a Sling OBR server. This is
> >         related to the obr bundle. If the obr bundle is redone as a
> >         console plugin, we might offer this part together with the
> >         install part to Apache Felix.
> +1 - isn't the maven-bundle-plugin able to do this already as well?

Not exactly, and this is where the name is beginning to be confusing
(hint: we should rename this goal probably ?). The maven-bundle-plugin
deploys to a repository.xml file which it retrieves and uploads using
wagon (if I understand it correctly).

The maven-sling-plugin:deploy goal sends a POST containing the bundle to
the obr server and leaves the rest (updating repository.xml) to the obr
server.

> I'll add some jira issues and start work on them asap.

Cool. Thanks.

Regards
Felix


Re: [RT] Cleaning up our modules (Part I)

Posted by Carsten Ziegeler <cz...@apache.org>.
Felix Meschberger wrote:
> Hi Carsten,
> 
> Am Dienstag, den 29.04.2008, 17:28 +0200 schrieb Carsten Ziegeler:
>> Hi,
>>
>> So, wrapping up:
>> a) "commons" is a place for common code/bundles which is not directly 
>> tied to Sling (but used by Sling)
>> b) We move the stuff from the "osgi" dir to "better places"
>> c) osgi/assembly -> sandbox
>> d) osgi/commons -> commons/osgi-util
>> e) osgi/console-web -> Apache Felix
>> f) osgi/log -> commons/log
>> g) osgi/obr -> sandbox
> 
> We might want to (1) offer this also to Apache Felix and (2) rewrite it
> as a "plugin" for the sling console ??
Ah, yes, good ideas.

> 
> There is one more sling ehrm thing: the maven-sling-plugin contains
> multiple goals, which we might want to split into separate plugins:
> 
>         (1) assembly: This would be a maven-assembly-plugin which would
>         have to be placed near the assembly module. We might create
>         a .../whiteboard/assembly folder and place the assembly bundle
>         and the new maven-assembly-plugin in there
+1

>         (2) install: installs a bundle into a running Sling instance.
>         This is somehow related to the console as it uses the "Web API"
>         of the console. Shouldn't we also offer this part to Apache
>         Felix ?
+1

>         (2) deploy: deployes bundles into a Sling OBR server. This is
>         related to the obr bundle. If the obr bundle is redone as a
>         console plugin, we might offer this part together with the
>         install part to Apache Felix.
+1 - isn't the maven-bundle-plugin able to do this already as well?

>         (3) install-properties (in the WarMojo class): What is this used
>         for ??
That's related to the assembly stuff...it adds the required assemblies 
for a webapp to the properties file.

> 
> 
>> Does this make sense?
> 
> +1. Thanks for taking this up.
> 
I'll add some jira issues and start work on them asap.

Carsten
-- 
Carsten Ziegeler
cziegeler@apache.org

Re: [RT] Cleaning up our modules (Part I)

Posted by Felix Meschberger <fm...@gmail.com>.
Hi Carsten,

Am Dienstag, den 29.04.2008, 17:28 +0200 schrieb Carsten Ziegeler:
> Hi,
> 
> So, wrapping up:
> a) "commons" is a place for common code/bundles which is not directly 
> tied to Sling (but used by Sling)
> b) We move the stuff from the "osgi" dir to "better places"
> c) osgi/assembly -> sandbox
> d) osgi/commons -> commons/osgi-util
> e) osgi/console-web -> Apache Felix
> f) osgi/log -> commons/log
> g) osgi/obr -> sandbox

We might want to (1) offer this also to Apache Felix and (2) rewrite it
as a "plugin" for the sling console ??

There is one more sling ehrm thing: the maven-sling-plugin contains
multiple goals, which we might want to split into separate plugins:

        (1) assembly: This would be a maven-assembly-plugin which would
        have to be placed near the assembly module. We might create
        a .../whiteboard/assembly folder and place the assembly bundle
        and the new maven-assembly-plugin in there
        (2) install: installs a bundle into a running Sling instance.
        This is somehow related to the console as it uses the "Web API"
        of the console. Shouldn't we also offer this part to Apache
        Felix ?
        (2) deploy: deployes bundles into a Sling OBR server. This is
        related to the obr bundle. If the obr bundle is redone as a
        console plugin, we might offer this part together with the
        install part to Apache Felix.
        (3) install-properties (in the WarMojo class): What is this used
        for ??


> Does this make sense?

+1. Thanks for taking this up.

Regards
Felix


Re: [RT] Cleaning up our modules (Part I)

Posted by Carsten Ziegeler <cz...@apache.org>.
Carsten Ziegeler wrote:
> 
> So, wrapping up:
> a) "commons" is a place for common code/bundles which is not directly 
> tied to Sling (but used by Sling)
I forgot to mention that all modules in "commons" use o.a.s.commons.* as 
package names.

> b) We move the stuff from the "osgi" dir to "better places"
> c) osgi/assembly -> sandbox
> d) osgi/commons -> commons/osgi-util
> e) osgi/console-web -> Apache Felix
> f) osgi/log -> commons/log
> g) osgi/obr -> sandbox
> 
> Does this make sense?
> 
> Carsten


-- 
Carsten Ziegeler
cziegeler@apache.org

Re: [RT] Cleaning up our modules (Part I)

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Tue, Apr 29, 2008 at 5:28 PM, Carsten Ziegeler <cz...@apache.org> wrote:

> ... So, wrapping up:
>  a) "commons" is a place for common code/bundles which is not directly tied
> to Sling (but used by Sling)
>  b) We move the stuff from the "osgi" dir to "better places"
>  c) osgi/assembly -> sandbox
>  d) osgi/commons -> commons/osgi-util
>  e) osgi/console-web -> Apache Felix
>  f) osgi/log -> commons/log
>  g) osgi/obr -> sandbox...

Works for me!
-Bertrand