[LibX] Questions about libx

Jeremy Dunck jdunck at gmail.com
Fri Apr 28 10:03:46 EDT 2006

On 4/28/06, Godmar Back <godmar at gmail.com> wrote:
> LibX is for people using a library who frequently need access to that
> library's resources: students, professors, and the general public.

OK, it wasn't clear to me that the site is largely directed at
librarians interested in packaging an edition for their patrons.

> > I can see that libx is useful, but I don't have a strong affiliation
> > with any particular library.
> We felt that an extension that supports a community of library users
> should be offered by that community's library.
> That said, since LibX is open source, developers can add this
> functionality if they wish. In addition, end users can create their
> own editions without consulting with their library.

The way I read that is "we're doing this, and if you want something
different feel free to fork it."   I don't want to fork it, so I guess
I'm happy with what you have.  ;-)

I understand the need you're trying to address (making it as easy as
possible for non-tech patrons and encouraging affiliation with a
particular library.  Maybe I'm unusual in being a patron at 4-5
libraries?  (I'm aware of inter-library loans, but still am willing to
drive a few extra miles to save that hassle.)

Incidentally, sorry for missing the Librarian section of the FAQ.  I'm
not one of those, but it does indeed answer several of my questions. 

> You should look at the homepage libraries have created for their
> editions of LibX. Go to libx.org -> Editions and click on those pages.

Yeah, again, the "edition" piece didn't fit with my assumptions, but
it makes sense given your goal.

> (There's isn't much difference
> between your idea: download libx, scroll through a list of catalogs,
> press ok; vs. ours: scroll through a list of catalogs, press ok,
> download libx.)  The only difference is when someone frequently wants
> to change their entire configuration - an infrequent case.

Well, in any case we're talking about a small convenience over
manually copy stuff into your-favorite-library's OPAC.  I think no one
manually does the price comparisons that BookBurro enables in a click.

I think supporting search over multiple libraries in a streamlined UI
is useful, but as I said, I'm probably unusual.

> This would not be the case if new configurations could be loaded into
> an existing installation, because new configurations are not tested
> with the code base a user may have installed.

I understand.

> > (This also means that two installed editions of LibX may not work well
> > together, depending on what replacements you're making based on the
> > edition configs.)
> I didn't intend Firefox would be broken like this forever, I truly
> expected them to adopt a modern extension model where each extension
> would be given its own namespace for its javascript.

Oh, has LibX been around long?  I had the impression that it was new. 
How long was VTBar before becoming LibX?

I had the same feeling when I first saw this issue; an early release
of GM had a bug in its XUL chrome definition and broken a significant
hunk of Firefox in the process.  But actually, extensions -can- have
their own namespace.  The main problem with firefox extension
development is poor documentation and a lack of known best-practices.

However, Google's Blogger Web Comments (developed while rubbing elbows
with Firefox contributors) does this sandboxing.

(I don't claim to fully understand the code, but
./components/bootstrap.js and G_JSModule are the places to start.)

> But this doesn't appear to be happening, so we've started giving a
> libx prefix to new functions we added, e.g.
> function libxGetProperty(prop, args) {
> function libxInitializeCatalog(cattype, catprefix)
> function libxInitializeCatalogs()
> function libxInit()

While you're at it, you might generate those with the edition label so
that you can run two editions together.  ;-)

libxInit becomes libx_mit_Init and libx_rit_Init.

> I didn't know JavaScript supported nested namespaces, could you tell
> me how do use them? Or do you mean I should attach my functions to
> some Object I create?
> Is there an easy way to put multiple .js files in their own, nested namespace?

BWC shows one way (subscripts), but the latter works, too.  See
"Isolating your code through Namespaces" here:


More information about the Libx mailing list