You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Kaspar Fischer <fi...@inf.ethz.ch> on 2009/02/15 17:48:02 UTC

[OT] Simple file repository?

User's of my application will upload, edit, and delete files. For  
this, I'd like to have a simple "file repository" with the following  
features:

- Files are stored on the file system.
- Files are distributed over several folders (to avoid a single folder  
with 10,000 files, say).
- Support for transactions

Does anybody know of a simple Java library that satisfies these  
requirements?

For example: a Hibernate database with a relation "Files" holding  
tuples (DocId, FilePath), and a service with:

- id store(stream): creates from the stream a new file on the file  
system and inserts a new tuple into the relation, returns id
- stream edit(id): returns a stream to a temporary copy of the file  
with the given id; updates the corresponding tuple to point to the  
temp file
- void remove(id): removes the corresponding tuple form the relation

... and a background job which deletes dangling files.

Thanks,
Kaspar

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Jonathan Locke <jo...@gmail.com>.

and there's brix, a wicket cms framework written on top of jackrabbit


John Armstrong-3 wrote:
> 
> Jackrabbit is also great and does all of this and more with a nice
> friendly API wrapped around it.
> 
> http://jackrabbit.apache.org/
> 
> And its an apache project..
> 
> I don't recommend rolling your own. Any Simple Content Repository soon
> gets User Permissions, Versioning, Search, Mixed Content and will
> eventually grow to consume all resources.
> 
> John-
> 
> On Sun, Feb 15, 2009 at 9:26 AM, Kaspar Fischer <fi...@inf.ethz.ch>
> wrote:
>>
>> On 15.02.2009, at 18:00, francesco dicarlo wrote:
>>
>>> Alfresco. And you have also lucene indexing.
>>> Just deploy the repository and upload files via webservice...
>>
>> That is certainly an option: Alfresco even offers Content Transformers;
>> writing one to convert the movies would be easy.
>>
>> Anything more lightweight?
>>
>> Thanks,
>> Kaspar
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/-OT--Simple-file-repository--tp22024665p22027966.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by John Armstrong <si...@siberian.org>.
Jackrabbit is also great and does all of this and more with a nice
friendly API wrapped around it.

http://jackrabbit.apache.org/

And its an apache project..

I don't recommend rolling your own. Any Simple Content Repository soon
gets User Permissions, Versioning, Search, Mixed Content and will
eventually grow to consume all resources.

John-

On Sun, Feb 15, 2009 at 9:26 AM, Kaspar Fischer <fi...@inf.ethz.ch> wrote:
>
> On 15.02.2009, at 18:00, francesco dicarlo wrote:
>
>> Alfresco. And you have also lucene indexing.
>> Just deploy the repository and upload files via webservice...
>
> That is certainly an option: Alfresco even offers Content Transformers;
> writing one to convert the movies would be easy.
>
> Anything more lightweight?
>
> Thanks,
> Kaspar
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Kaspar Fischer <fi...@inf.ethz.ch>.
On 15.02.2009, at 18:00, francesco dicarlo wrote:

> Alfresco. And you have also lucene indexing.
> Just deploy the repository and upload files via webservice...

That is certainly an option: Alfresco even offers Content  
Transformers; writing one to convert the movies would be easy.

Anything more lightweight?

Thanks,
Kaspar



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by francesco dicarlo <ev...@gmail.com>.
Alfresco. And you have also lucene indexing.
Just deploy the repository and upload files via webservice...

2009/2/15 Martin Makundi <ma...@koodaripalvelut.com>

> Why not store files into database as bytearray / blob?
>
> **
> Martin
>
> 2009/2/15 Kaspar Fischer <fi...@inf.ethz.ch>:
> > User's of my application will upload, edit, and delete files. For this,
> I'd
> > like to have a simple "file repository" with the following features:
> >
> > - Files are stored on the file system.
> > - Files are distributed over several folders (to avoid a single folder
> with
> > 10,000 files, say).
> > - Support for transactions
> >
> > Does anybody know of a simple Java library that satisfies these
> > requirements?
> >
> > For example: a Hibernate database with a relation "Files" holding tuples
> > (DocId, FilePath), and a service with:
> >
> > - id store(stream): creates from the stream a new file on the file system
> > and inserts a new tuple into the relation, returns id
> > - stream edit(id): returns a stream to a temporary copy of the file with
> the
> > given id; updates the corresponding tuple to point to the temp file
> > - void remove(id): removes the corresponding tuple form the relation
> >
> > ... and a background job which deletes dangling files.
> >
> > Thanks,
> > Kaspar
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: [OT] Simple file repository?

Posted by Kaspar Fischer <fi...@inf.ethz.ch>.
On 15.02.2009, at 17:57, Martin Makundi wrote:

> Why not store files into database as bytearray / blob?

In my case, these are movies and I'll have to run ffmpeg on them to  
convert them to appropriate formats. For this, it is more convenient  
to have them on the file system.

Kaspar

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Martin Makundi <ma...@koodaripalvelut.com>.
Why not store files into database as bytearray / blob?

**
Martin

2009/2/15 Kaspar Fischer <fi...@inf.ethz.ch>:
> User's of my application will upload, edit, and delete files. For this, I'd
> like to have a simple "file repository" with the following features:
>
> - Files are stored on the file system.
> - Files are distributed over several folders (to avoid a single folder with
> 10,000 files, say).
> - Support for transactions
>
> Does anybody know of a simple Java library that satisfies these
> requirements?
>
> For example: a Hibernate database with a relation "Files" holding tuples
> (DocId, FilePath), and a service with:
>
> - id store(stream): creates from the stream a new file on the file system
> and inserts a new tuple into the relation, returns id
> - stream edit(id): returns a stream to a temporary copy of the file with the
> given id; updates the corresponding tuple to point to the temp file
> - void remove(id): removes the corresponding tuple form the relation
>
> ... and a background job which deletes dangling files.
>
> Thanks,
> Kaspar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Korbinian Bachl - privat <ko...@whiskyworld.de>.
Hi Kaspar,

just to save you some pain: in case of Jackrabbit don't use 
TransientRepository but RepositoryImpl instead and make it launch in the 
init() of you app and go down on the onDestroy() (in case you want to 
bundle it with your app).

Transient has some bad behaviour and currently makes problem (1.5.2) 
when shutting it down using the repo.shutdown() as not all resources are 
100% released in case you have still some connections (e.g. over RMI).

Also make sure you safely de-register any exports first, then shutdown 
the repo using repo.shutdown() to prevent any locks. Also don't share 
Session over longer runs or threads as Session is not thread-safe.

To "see" whats in your jackrabbit repo its best to connect via RMI, so 
you only depend on your real config, not any fancy (especially this also 
saves you from pain by having tools depending on different JR version 
than you are on!). A good way to dig in is using the JCRBRowser (either 
eclipse plugin or standalone) from 
http://sourceforge.net/projects/jcrbrowser .

Also a good tool pool is under: 
http://dev.day.com/microsling/content/blogs/main/jcrtools.html - a JCR 
Tools roundup, bit older (2007) but still worth looking at; Under 
http://wiki.apache.org/jackrabbit/FrontPage you'll also find good info 
(the Jackrabbit page itself and its doc can be best described as 
"useless nightmare").

Also a side-start-point might be the DAY CRX Developer edition from 
http://www.day.com/content/day/en/products/crx/download/registration.html 
as this is practically a jackrabbit + tools thing. Its good to start and 
understand the idea and behaviour behind JCR, even the prices are 
"Enterprise only" you are free to use them for developement purposes only.

Hope this one helps you get started.

Best,

Korbinian

PS: you also might want to have a look at Brix-CMS 
http://code.google.com/p/brix-cms/ and checkout the latest src to see 
how they implemented and used it (latest is on JR 1.5.2 IMHO)!

Kaspar Fischer schrieb:
> Thank you all very much for your advice. I will take a look at 
> JackRabitt and Alfresco.
> 
> Kaspar
> 
> On 16.02.2009, at 01:45, Fabrizio Giudici wrote:
> 
>> Kaspar Fischer wrote:
>>> User's of my application will upload, edit, and delete files. For 
>>> this, I'd like to have a simple "file repository" with the following 
>>> features:
>>>
>>> - Files are stored on the file system.
>>> - Files are distributed over several folders (to avoid a single 
>>> folder with 10,000 files, say).
>>> - Support for transactions
>>>
>>> Does anybody know of a simple Java library that satisfies these 
>>> requirements?
>>>
>>> For example: a Hibernate database with a relation "Files" holding 
>>> tuples (DocId, FilePath), and a service with:
>>>
>>> - id store(stream): creates from the stream a new file on the file 
>>> system and inserts a new tuple into the relation, returns id
>>> - stream edit(id): returns a stream to a temporary copy of the file 
>>> with the given id; updates the corresponding tuple to point to the 
>>> temp file
>>> - void remove(id): removes the corresponding tuple form the relation
>>>
>>> ... and a background job which deletes dangling files.
>> I suggest you something implemented on the top of JackRabbit (Java 
>> Content Repository). You might have a look at Brix, which is a CMS 
>> based on Wicket and JackRabbit.
>>
>> -- 
>> Fabrizio Giudici - Java Architect, Project Manager
>> Tidalwave s.a.s. - "We make Java work. Everywhere."
>> weblogs.java.net/blog/fabriziogiudici - www.tidalwave.it/blog
>> Fabrizio.Giudici@tidalwave.it - mobile: +39 348.150.6941
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Kaspar Fischer <fi...@inf.ethz.ch>.
Thank you all very much for your advice. I will take a look at  
JackRabitt and Alfresco.

Kaspar

On 16.02.2009, at 01:45, Fabrizio Giudici wrote:

> Kaspar Fischer wrote:
>> User's of my application will upload, edit, and delete files. For  
>> this, I'd like to have a simple "file repository" with the  
>> following features:
>>
>> - Files are stored on the file system.
>> - Files are distributed over several folders (to avoid a single  
>> folder with 10,000 files, say).
>> - Support for transactions
>>
>> Does anybody know of a simple Java library that satisfies these  
>> requirements?
>>
>> For example: a Hibernate database with a relation "Files" holding  
>> tuples (DocId, FilePath), and a service with:
>>
>> - id store(stream): creates from the stream a new file on the file  
>> system and inserts a new tuple into the relation, returns id
>> - stream edit(id): returns a stream to a temporary copy of the file  
>> with the given id; updates the corresponding tuple to point to the  
>> temp file
>> - void remove(id): removes the corresponding tuple form the relation
>>
>> ... and a background job which deletes dangling files.
> I suggest you something implemented on the top of JackRabbit (Java  
> Content Repository). You might have a look at Brix, which is a CMS  
> based on Wicket and JackRabbit.
>
> -- 
> Fabrizio Giudici - Java Architect, Project Manager
> Tidalwave s.a.s. - "We make Java work. Everywhere."
> weblogs.java.net/blog/fabriziogiudici - www.tidalwave.it/blog
> Fabrizio.Giudici@tidalwave.it - mobile: +39 348.150.6941
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: [OT] Simple file repository?

Posted by Fabrizio Giudici <fa...@tidalwave.it>.
Kaspar Fischer wrote:
> User's of my application will upload, edit, and delete files. For 
> this, I'd like to have a simple "file repository" with the following 
> features:
>
> - Files are stored on the file system.
> - Files are distributed over several folders (to avoid a single folder 
> with 10,000 files, say).
> - Support for transactions
>
> Does anybody know of a simple Java library that satisfies these 
> requirements?
>
> For example: a Hibernate database with a relation "Files" holding 
> tuples (DocId, FilePath), and a service with:
>
> - id store(stream): creates from the stream a new file on the file 
> system and inserts a new tuple into the relation, returns id
> - stream edit(id): returns a stream to a temporary copy of the file 
> with the given id; updates the corresponding tuple to point to the 
> temp file
> - void remove(id): removes the corresponding tuple form the relation
>
> ... and a background job which deletes dangling files.
I suggest you something implemented on the top of JackRabbit (Java 
Content Repository). You might have a look at Brix, which is a CMS based 
on Wicket and JackRabbit.

-- 
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
weblogs.java.net/blog/fabriziogiudici - www.tidalwave.it/blog
Fabrizio.Giudici@tidalwave.it - mobile: +39 348.150.6941


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org