Hi,

Ages ago when we were deciding on the format of the .sar file there was a 
number of proposals, questions and requests. I want to relook at our choices 
again because I think we may have made a mistake ;) 

.bar vs .jar
------------

The question of whether block archives should be named <myarchive>.bar or 
<myarchive>.jar was asked. The first form was chosen because it allowed us to 
easily identify archives with blocks in them. However that information is 
already contained in the manifest of jar (namely Blocks are marked by 
Avalon-Block: true attribute). So in theory we could rename this to jar with 
little loss code-wise .... but do we loose anything conceptually. 

Personally I can see certain advantages of both ways (.bar is easily human 
distinguisable while .jar fits in with rest of java conventions) however I 
have no real opinion which is better. However 2 separate people have asked me 
to allow .bars to be named .jars recently so not sure. Thoughts? If we were 
to change this we could still do it in a backwards compatible way and just 
issue warnings that you are using .bar rather than .jar or whatever.

SAR-INF vs not
--------------

Originally we were also going to store a lot of the information in 
SAR-INF/lib, SAR-INF/blocks and SAR-INF/conf rather than lib/, blocks/ and 
conf/. At the time it was not obvious what the advantage would be other than 
matching the patterns already used in java. 

However I now see an advantage in using SAR-INF. The reason is that when 
expanding the .sar we could designate everything in SAR-INF/** as being not 
needed to be extracted. As SAR-INF only contains read-only data for 
application that is manipulated by kernel (and not directly by application) I 
can't see a negative. If you wanted data to be extracted when application is 
installed (maybe a database or set of data XML files) then you would not 
store them in SAR-INF and instead store them in base directory.

Thoughts? I like it and would +1 this ;) If we change this it would be easy 
to do it in a backwards compatible manner.

blocks/ vs lib/
---------------

Is there a need for two different directories? In effect they are not treated 
any different and merging them into on (say lib/) would simplify the 
deployment format. Again - this could be done in a backwards portable manner. 
Like this or not? (I think I do).



If we were to accept all these changes then the deployment layout would be 
something like

SAR-INF/lib/myBlockArchive.jar    (note the .jar rather than .bar ending)
SAR-INF/lib/mySupport.jar
SAR-INF/conf/server.xml or SAR-INF/server.xml
SAR-INF/conf/config.xml or SAR-INF/config.xml
SAR-INF/conf/assembly.xml or SAR-INF/assembly.xml
data/my-random-datafile.txt

And only the last file would be expanded on filesystem.

-- 
Cheers,

Pete

----------------------------------------------------------------
Fools ignore complexity.  Pragmatists suffer it.
Some can avoid it.  Geniuses remove it.
-- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept. 1982
----------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to