Presenting SLuMB: serial Lucene MBase

Hello Activemathers. I wanted to invite persons using recent CVS snapshots of ActiveMath to try the content-storage I have been working on thus far. It is called Slumb, and is expected to be better than LuceneMBase. One can activate it using the following lines in ActiveMath-individual.properties:

  mbaseRef.class = org.activemath.omdocjdom.slumb.SluMBaseRef
  mbaseRef.collections.cd.rootDir = /omdoc1/cd
  mbaseRef.read-only=false
  OmdocJdomMBase.read-only=false

The collections should be “Slumb-enabled” for them to work, which is simple done by adding in their content-descriptor a line indicating their “root-directory”. For example, for LeAM_calculus, use:

  mbaseRef.collections.LeAM_calculus.rootDir = /content/LeAM_calculus/

The basic idea behind SLuMB is to realize a replacement of LuceneMBase which does not rely on loading all OMDocs in memory to resolve and absolutize all relations. In the meantime, a few cleanups are also achieved with a special accent on the ability to reload efficiently. Content-change-events and modification-dates are served which are used to clear the cache or the notations’ XSL. Evolutions of this should also allow distributed content-storage with validation to be used in such a way that you would “just drop a URL” to add a new content collection.

I would look forward to anyone testing it and giving feedback and wish to support anyone using it.

Getting to the chat or contacting me are good ways to do so.

Trackback URL for this post:

http://eds.activemath.org/en/trackback/27

Actions

After this I should shutdown and startup AM I guess?

Re: actions

Yes, a restart is needed. Maybe a buildIndex before. Note that you had done a nice error: you had copied the line:

mbaseRef.collections.LeAM_calculus.rootDir = /content/Blok2vergelijkingen/

verbatim… which meant… that you were telling to SLuMB that your directory was LeAM-calculus (i.e. the collection with the identifier being the value of the property ‘mbaseRef.collections.LeAM_calculus.publicIdentifier’).

I have fixed this line to become:

mbaseRef.collections.Blok2vergelijkingen.rootDir = /content/Blok2vergelijkingen/

and things seem working.

Also, your ActiveMath was not up-to-date… SLuMB was not (yet) in the code you had.

paul

PS: I believe it’s a good idea to discuss almost “support-like questions” here… agreeing with that? If agreeing I would even say it would be nice to even make the source content visible, e.g. by committing into a subversion repository.

Agree

Great, thanks. That’s what one gets when copying and pasting. I first need to learn a bit more svn to commit things.