xbbooks bookThe xbCulture is a family of closely related Joomla Component Extensions which are designed to keep a record or catalogue of artistic/creative/cultural works,

The primary intended users are individuals, like myself, who wish to keep a record of books, films, plays, gigs, exhibitions and similar events that they have experienced.

There are initially three core components and a common supporting component in the family, although there are ideas for extending it into further areas;

  • xbBooks - as the name implies is for a catalogue of books of all sorts.
  • xbFilms - not surprisingly is for movies, although it can also handle series, tv shows and box-sets
  • xbGigs - is for live music performance, and spoken word and comedy - IN DEVELOPMENT
  • xbPeople - a support component bundled in the packages for the above, provides tools for managing a common database of people and characters as well common styles, language and code across the components.

A set Modules to display short information about the datasets is in development. These will include:

  • Search titles/names of all items
  • Recently added
  • Top/bottom rated
  • Random choice
  • Popular People

 

xbbooks listFurther components like xbPlays (theatrical performance), xbShows (exhibitions), xbFestivals (combining many separate events under one roof) may well be developed.
It is not intended (at present) to develop an xbMusic component for recorded music (albums/CDs etc) as this is pretty well covered by the plethora of music players available.

 

Common to all these is xbPeople which provides a database of real people and fictional characters involved in the works - obviously one person may have many roles: film director, actor, author, musician, painter - so it makes sense not to duplicate records but share them between the components. Likewise a character might appear in a book, a film a play and inspire some music, so they are also shareable between the components.

The basic structure of the components is similar - the data structures and relationships and the views of the data have commonalities - although of course there are particular fields which are appropriate to each type of item.

xbfilms listMany items have common features - a Title and optional sub-Title, a summary (a short bit of text), a description (longer text, may be known as a synopsis for a book or film - intended to be factual rather than opinion), plus links to people involved and some specific fields (dates, formats, publishers/producers/promoters/venues)

Each core item type - a book, a film, a gig - has its own data table. Each item may have one or more reviews (at its most basic a review just consists of a rating from 1-appalling to 7-the best-thing-ever) which may have its own title, summary and description  together with dates and other notes.

At the simplest an item may have no review or or only one, but the components allow for multiple reviews of an item to be created so if you re-read an old favourite book, or watch a film with a partner you can express separate views and ratings.

When it comes to people, at the simplest a person just consists or an optional firstname and a lastname - but there is the facility for including more biographical information if required.  

xbfilms filmAll components provide three basic core views on the front-end of the site - a list view, an individual item view which includes any ratings and reviews, and a blog view of reviews which have some content. In addition there are people lists with links to the items they are associated with, and person detail views where there is more than just a name to show.

The list views can all be customised by the admin regarding which fields are show, filtering and sorting - and also optionally further filtered and searched by the end user.

Standard Joomla Categorisation and Tagging facilities are provided - an item can only belong to a single category, so in practice I find these less useful than Tags, but categories are included in case you find a use for them (they can simply be hidden if not used)