Scriblio Questions Answered

Robin Gardella asked a few good questions via a comment at this site. They’re good FAQ material, so I wanted to post the questions and my answers.

Do I understand that Scriblio essentially is an “overlay” to the traditional catalog

Yes, and…. Scriblio has features that support original cataloging1, but it can also connect to an ILS or other systems to represent those collections. For the use you describe, it would indeed overlay on top of the existing ILS.

Would the regular catalog still exist beside the Scriblio interface of the catalog?

Yep. Scriblio doesn’t change the behavior of existing systems, but it can give you a new interface to them.

Also, because I already am using WordPress for the design of the web site, would it be necessary for me to create a new (additional) blog and have the Scriblio catalog run separately there?

Everything can run in the same instance of WordPress2, but you should be aware that a server that can host a WordPress blog is not always sufficient to host the entire library collection as well.

  1. The Colby-Sawyer Haystack archives use all original cataloging. []
  2. that’s exactly what I’d recommend, just like the Collingswood NJ Public Library []

Goals for Scriblio 2.9

I’d like to make it easier to start a catalog from scratch, rather than ingesting records from an ILS or other system via a connector. More and more of the projects I’m working on aren’t connected to ILSs and demand original cataloging, and a number of the questions on the mail list seem to be related to that type of use as well.

I’d also like to remove the library-specific and ILS-connected assumptions the plugin now makes about the data in the catalog. I started work on this a while ago with the creation of the Marcish schema. The next step is to put the Marcish schema in its own plugin and remove the code that registers the taxonomies it uses. That will add that will encourage other uses, like the Community Information Database schema, and make maintenance of the code much easier (though it will also require that library users install the Marcish schema plugin when upgrading to 2.9).

Along the above lines, the plugin needs to make some of its behavior optional. The code could easily support browsing of blog posts (I use it that way here, actually), but Scrib’s assumption that catalog records belong in a named category and are hidden from the front page of the site conflicts with that. I’ll have to think through the different behaviors related to that and the options necessary for them.

Another admin UI change: the “default author for catalog records” setting doesn’t belong there. It’s used by the connector plugins, so I’ll move it there and change it so that it works like WordPress imports where you can choose an author or create a new one.

The widgets need to be changed to use the WP 2.8 widget API. Along the way, I need to improve the admin UI for them, making the Facet widget use check boxes for facet taxonomy selection instead of a text entry field. Feature requests related to widgets:

  • Allow arbitrary sorting of the facet results (see Club Level here to see why).
  • Make it an option to see all the values of a taxonomy, not just those that are available in the found set. Selecting a facet value that doesn’t exist in the found set will necessarily have to reset the search. That could be weird.
  • Use a checkbox metaphor: clicking a selected facet will deselect it and rerun the search.

I’d also like to take better advantage of improvements to WP’s taxonomy system since 2.7. Specifically, the generation of nice URLs like (right now, Scrib writes those URLs as The new URLs are much prettier, but it will take some work to figure out all the behaviors. Example: you’re browsing books at, and wish to narrow the scope to non-fiction books. What URL should that be?

I’ve also found a bug in the way Scrib adds search filters. If you then try run a new post loop (even if you create a new WP_Query object), the filters will break the query you’re likely trying to execute. I found this out while working on an update to the Colby Sawyer archives site, and found a smart solution in some code from Andy Skelton (see his fulltext_posts_orderby_once()).

Marcish Schema

The following is current as of May 13, 2009. Check the code for changes.

All fields are repeatable unless otherwise specified.


A text string.

Attribution (not repeatable)

A single text string, think of MARC’s 245$c statement of responsibility


Subfields: Name, Role


Subfields: seven discrete textual terms/phrases, each with an associated type

Subject Date

A numerical date or date range

Subject Geography

A geographical point or area

Call Numbers

Subfields: type, number, location


Subfields: Type, Language, Content, Notes

Pre-defined types include: description, transcription, translation, contents, review, notes, first words, last words, dedication, notable quotations, sample

Publication Information

Subfields: publisher, edition, language, date (and date certainty), copyright status, copyright note

Physical Details

Subfields: width, height, depth (and unites of measure), weight (and unit), duration (minutes or pages), cost (and currency)

Linked URLs

This is the equivalent of MARC’s 856 field (and thus nearly useless). My intention is to accept URLs in any field and properly link the data from there.


Information about the format of the object identified by the record.

Standard Numbers

Where you’d input ISBN, ISSN, and other standard numbers

Archival Source Details

Information about the provenance of the object.

Predefined relationships include: parent, child, next in series/page, previous, and reverse side. This field could also easily store FRBR relationships. The expected input is a URL to a local or remote record

Of the above fields, these are indexed:

  • creator
  • language
  • year of creation
  • month of creation
  • format
  • subject
  • genre
  • person
  • place
  • time
  • exhibit
  • subject year
  • subject month
  • subject day
  • collection
  • sourceid
  • isbn
  • issn
  • lccn
  • asin
  • ean
  • olid
  • oclc

Scriblio 2.7 released

Scriblio 2.7 Released

It’s been a long time coming, but it’s finally time to call Scriblio 2.7 stable. It’s available at the WordPress plugins repository and SVN:

What’s new:

  • An internal data model[1] that supports original cataloging of books and archive items and has some semblance to MARC and other formats.
  • That data model also supports the automatic merging of records from multiple sources (or multiple copies of the same record in a single source), allowing you to easily and quickly build union catalogs or asynchronously enrich your catalog from external sources. All the data in the merged record is fully indexed and faceted.
  • A refactored SQL query architecture that better leverages the WP APIs and _should_ enabled better interoperability with other plugins. My first use case for this is making a faceted events calendar by using both Scriblio and Event Calendar 3 on the same site.
  • Internal support for representing the collection in a variety of forms. Only human-readable HTML is implemented now, but DC, RDF, MARC, or others could be easily implemented. Volunteers anybody?
  • Better support for automating the relationship between Scriblio and external ILSs or other systems. The III harvester, for instance, automatically harvests new records, updates previously harvested records, and fetches real-time availability information.

What’s broken:

  • The new data model broke all the harvesters for the previous version. Right now, the only harvester that works is for III. If you are harvesting data from another system, do not upgrade yet.
  • This is a stable release, but it’s not necessarily feature complete. And certain things, like setting good defaults for new installs is not yet really complete.

It’s open source:

  • The software is licensed under the GPL, but it’s also supported by the community. Kelli Bogan and Brett Bonfield both deserve big shout outs for their contributions to the project.
  • The mail list is a great place to ask questions or point out bugs, and there are likely to be a few bugs.

[1] This data model is in two parts: a generic framework for working with structured data in posts (the Meditor) as well as a an implementation of it that works well for books and digital collections (the Marcish form). The Meditor framework can be easily extended with other forms that may be more appropriate to other types of objects.

Scriblio en Español

Scriblio en EspañolDavid Ramírez and Oskar Calvo have taken on the task of developing Spanish language Scriblio documentation and translation. Here’s David’s introduction to the Scriblio mail list:

Esta es una invitación para el nuevo sitio de Scriblio en español:

La idea es hacer comunidad, así que cualquier aporte es bienvenido. Estaremos hablando sobre instalación, uso, problemas, etc. para ir sacando adelante algunos manuales. Además de esto esperamos poco a poco publicar la versión en español de este software. Ya hay algunos posts y videotutoriales
en español.

Paso 2: Instalación Scriblio

Ahora que ya tienes instalado WordPress (si no lo hiciste puedes ver el paso 1: Instalación de WordPress), debes dercargar los siguientes plugins:

Al momento de escribir este post la última versión de bSuite es la 4.0.3 y la de Scriblio es la 2.6 v00. Ahora vamos en este estricto orden, de lo contrario se generará un error en la instalación:

  1. Descomprime el bSuite
  2. Sube la carpeta descomprimida a /wp-content/plugins/
  3. Activa el plugin bSuite. Cuidado, no debes activar todos los plugins al tiempo. Primero éste.
  4. Activa los demás plugins de la bSuite, es decir, bStat Upgradery bSuite Tag Importer. Estos si los puedes activar al tiempo.

Ahora la mecanica es la misma para la activación de Scriblio:

  1. Descomprime Scriblio
  2. Sube la carpeta descomprimida a /wp-content/plugins/
  3. Activa el plugin Scriblio. Cuidado, no debes activar todos los plugins al tiempo. Primero éste.
  4. Activa el plugin restante, es decir, el Scriblio Catalog Importer
  5. No actualices el plugin Scriblio Catalog Importer, siempre sale un mensaje de que existe una nueva actualización pero esta genera errores

Hasta el momento si todo va bien ya debes tener Scriblio funcionando y puedes verlo en el tema default de WordPress. Si te sientes cómodo con este tema puedes pasar a la configuración de Scriblio, si quieres instalar el tema de Scriblio entonces debes:

  1. Descargar el tema de Scriblio
  2. Descomprimirlo
  3. Subir la carpeta completa a wp-content/themes
  4. Activar el tema desde tu tablero: Aspecto->Temas

Ya tienes Scriblio instalado y con la apariencia que más te agrada. Sólo nos queda la configuración de Scriblio para empezar a ingresar registros.

Paso 1: Instalación de WordPress

Revisión general:

  • Comprueba los requerimientos de WordPress
  • Descarga la última versión de WordPress en español
  • Sube los archivos a tu servidor
  • Ingresa los datos de la base de datos (usuario, servidor y contraseña de MySQL)
  • *Configura los Permalinks (Opciones->Permalinks)
  • *Configuración de tu cuenta (Usuarios->Tu perfil)

*Pasos opcionales

¿Muy rápido? Hagamoslo paso a paso.

Revisión detallada:

Requerimientos: Debes contar con un hosting que soporte PHP 4.3, MySQL 4.0 , Apache: (Opcional) Módulo mod_rewrite (para URIS limpias conocidas como Permalinks). No te preocupes, la mayoría de servicios de hosting incluyen esto.

Es necesario tener una base de datos en mysql, y conocer de dicha base de datos el nombre del usuario, la contraseña del usuario, el nombre de la base de datos, y la dirección ip de la base de datos. Todos estos datos los facilitan las empresas de hosting cuando se crea una base de datos en sus servidores.

Descarga: Para encontrar la última versión de WordPress en español puedes ir a y bajarte los archivos bien sea en .zip o .tar.gz. En este caso instalaremos la versión 2.7 de WordPress, la más reciente cuando escribimos este post.

Descomprime los archivos.

Una vez tenemos los archivos descomprimidos vamos a configurar el idioma, en este caso el castellano.

Instalar solo el idioma: Si ya tienes una instalación funcionando en inglés o cualquier otro idioma, y deseas instalar solamente el archivo para el idioma español, sigue estos sencillos pasos:

  1. Descarga el paquete de WordPress que se corresponda con tu versión instalada.
  2. Descomprime el paquete en una carpeta vacía.
  3. Copia el archivo que encontrarás en la carpeta /wp-content/languages a la misma carpeta de tu instalación.
  4. Edita el archivo wp-config.php de tu WordPress. Busca la linea 66 donde se define WPLANG y si aparece de la siguiente forma ('WPLANG',''); asegúrate de que la cambias a ('WPLANG', 'es_ES');
  5. ¡Disfruta de tu WordPress en castellano!

Ya podemos subir nuestro wordpress al servidor ftp.

Configuración: Una vez todos los archivos estén en tu servidor accede a tu sitio. Aquí empezará la configuración de WordPress donde incluirás información relacionada al título del blog, nombre y usuario de la base de datos, dirección del servidor y creación de la cuenta del administrador. Al final se genera una contraseña que deberás conservar para acceder la primer vez, una vez ingreses como administrador podrás modificarla si lo deseas. Tu nombre de usuario será “admin“.

Accede a tu cuenta de administrador. Una ves en tu tablero ve a Opciones->Permalinks para que configures la forma como se crearán las urls para tu página. Te recomendamos usar una que incluya el nombre del post, así será más fácil que los buscadores lleguen a tu sitio.

En Usuarios->Tu perfil puedes cambiar tu contraseña, además de agregar otros datos sobre tí.

Aquí puedes ver la explicación en video, cortesía de Oskar:

Instalar WordPress from harriak on Vimeo.

Luego de este paso estamos listos para instalar Scriblio

Scriblio Download Location Changed

The change is not entirely complete, but anybody who goes looking to download Scriblio should now look in the WordPress plugin repositoryZip’d copies of various versions of the plugin are available, and you’ll also find the Subversion repository there.

I still have to write a readme file to update the main entry in the plugin directory and there are likely stil a few links I need to update here on the website.

Though I use Subversion almost exclusively to keep my WordPress install and all the plugins I use up to date, I can’t deny that most users depend on zip-file downloads and WordPress’ automatic update mechanism. Moving hosting the Scriblio code there makes it easier to support those users.

In time I plan to remove the various importer plugins from the main Scriblio folder and post them at the plugin directory as separate projects. That solves both a maintenance problem of having independent projects in the same plugin folder, and allow those who aren’t using them to keep unnecessary code off their server.

APIs Work Like Legos

Lego space men

APIs Work Like Legos

Legos (2)