SCD Database News

More recently, database news and announcements have been posted to the my.strathspey social network. Find them here!

This page collects information about notable changes to the software backing this page and to the information available in the database.

Go back to the SCD Database home page

10 December 2012

  • A bug of some standing which prevented users from submitting cribs was eliminated.

17 July 2012

  • Album overviews and quick-search results for albums and recordings now indicate which type of media the album/recording is available on. To save space in tables, only the first media type out of CD, MP3, LP, EP, MC, 78 is mentioned; if several media types apply this is indicated by a »+«, so »LP+« would mean, »long-playing record and at least one more out of EP, MC, or 78«. (Suggested by Iain Boyd.)
  • The dance list »crib« tab now allows the display of diagrams as well. This also applies to the PDF download (where for technical reasons the diagrams are included as PNG images, i.e., not scalable). Note that the various options for cribs and diagrams are getting confusing and may be completely redone in the future.

16 July 2012

(Rollup from April.)

  • Complex dance search now allows searching for particular authors.
  • Publications now support »approximate« dates where a publication date can be a year, year and month, or full date (or completely unknown). The publication date is now displayed on the publication detail page. The same mechanism will eventually be used for other date-type items in the database.
  • Dance lists only include those cribs that actually exist.
  • Lists of dance cribs now include non-crib dances and non-dance items by default. (Suggested by David McQuillan.)
  • »Private« dance lists are now no longer accessible to unauthenticated users, and are no longer advertised in the box on the entry page. We apologise for not noticing this problem, which amounts to a security hole, earlier. (Found by Tim Hoffmann.)
  • Videos on the dance detail page »Videos« tab are now ordered by quality (best first). (Suggested by Eric Ferguson.)
  • Only actually approved videos count towards a video icon for a dance. Previously, a video icon might be displayed even though the video in question had not yet been approved by a database editor. (David McQuillan.)
  • Videos can now be marked as »animation«.
  • Dance diagrams can now be uploaded in bulk, if one is an accredited crib source maintainer.
  • Formatting of diagrams has been improved in a few cases.
  • »Comments« on database items are now called »corrections/additions«, to make it clearer that they are NOT Amazon-style »I like/hate this« user comments – which we will get in due course.
  • Unauthenticated users will now have to solve a little puzzle before they are able to post corrections/additions to the issue database. This is a deplorable step that became necessary because some douchebags in China kept spamming us.
  • Various tweaks to the issue database.
  • A hanging bug in the issue database was fixed and, hopefully, prevented for the future. (Noted by Eric Ferguson and Keith Rose.)
  • The e-mail notification for off-site videos works again.
  • There are tool tips for the different icons, so it is easier to find out what they mean. (Suggested by Tim Hoffmann.)
  • The »Create Account« link in the top right corner of the screen now actually links to the create-account page. (Tim Hoffmann)
  • Fixes to the Markdown processor.
  • The JSON interface for retrieving album information (undocumented so far) works again. This is for the benefit of my SCD CD ripper/tagger application, which converts SCD CDs to collections of MP3 files with interesting tags based on the database.
  • The »Internal Server Error« page is now styled to match the rest of the site.

2 April 2012

  • All diagrams for a dance list can now be downloaded as a ZIP archive from the »Diagrams« tab of the list detail page.

1 April 2012

  • Individual dance diagrams can now be downloaded as SVG, PDF, or PNG (with user-selectable width). It will eventually be possible to download all diagrams for the dances on a dance list.
  • Dance videos now support an »offset« field, for videos where the actual dance doesn't start at the very beginning of the video.
  • There is now a »ddp:« magic link to link to people in the database.
  • Notes in the SCD database now support images. (This one is for Jim Healy.)
  • Sound clip icons link to recording detail pages.
  • Various tweaks to issue management were applied.
  • Various errors in connection with dance lists were fixed.
  • Some (probably not all) JavaScript errors were fixed that caused the site to malfunction when viewed with Internet Explorer. This does not detract from the fact that IE is junk and you should really be using Firefox or Chrome.

6 February 2012

  • In the big dance list, dances with aliases only show up once (once more).
  • It is now possible to refer to dance lists in the database from other pages within the Strathspey infrastructure using »magic links«. This is very useful for event announcements.
  • Only authenticated users can now add dances to the »work« dance list. While this is a step back to the »old« database (where the dance list feature was also restricted to authenticated users), it is necessary to avoid the proliferation of throwaway dance lists in the database being automatically created for non-authenticated users, and to avoid confusing effects if a registered user adds dances to their dance list while not authenticated, and then signs in.
  • »Daily dumps« can now be generated from the new database. This takes the roundabout approach of exporting PostgreSQL SQL files from the database and fixing them up to be palatable to SQLite, then using SQLite to create an actual SQLite database dump in addition to the SQL and text files. The schema in the daily dumps follows that of the current database and is incompatible to that of the old-style daily dumps; the schema version number in the dumps has been incremented to match.
  • SVG cribs are now included using »object« rather than »img«. This fixes a weird spacing bug on Google Chrome and allows us to output an apologetic message on browsers that don't support SVG.
  • The »notes« field for publications can now be edited on a publication's admin page (a silly oversight).
  • The admin page for dance videos now supports dance name and user name autocompletion.
  • The title lines of the »Upload video« and »Add video« pages have been fixed.

18 January 2012

  • The database now supports the notion of »RSCDS publications« and »RSCDS dances« (i.e., dances appearing in RSCDS publications). This is a little less obvious than it looks because there are some publications jointly published by the RSCDS and some other body. The visible consequences of this are that (a) RSCDS dances and publications display a little crown-of-ghillies icon, and (b) there is an »RSCDS« check box on the complex dance search form that will restrict the results to RSCDS dances.
  • In the same spirit, there is a »diagram« check box on the complex dance search form that will restrict the results to dances with diagrams.

7 January 2012

  • The database now supports »diagrams« of dances (usually in the style of »Scottish Country Dances in Diagrams«, a.k.a. »Pilling« or »The Wee Green Book«, but there is no restriction as to what the diagrams look like). These are accessible from a dance's »Cribs« tab, which is accordingly renamed to »Cribs/Diagrams«. As of now diagrams can only be added by the Management; the »Add a new diagram« button on the dance page is non-functional.
  • Keith Rose has contributed over 1500 diagrams, which is nearly twice as many as there are in the Pilling book. Anselm has put in a bunch of his own, too.
  • The database now contains support for exporting crib collections in the EPUB and Amazon Kindle e-book formats. (Support for unified output of several collections may come along later.) The code in question is not accessible from the outside world, but chances are that at some point we will be doing automatic nightly updates of the e-books, the way we do automatic SQL dumps of the database today.
  • The e-books may at some point also be upgraded to include diagrams. This will probably make F. L. Pillings's successors unhappy in the long run, in the way the manufacturers of buggy whips were made unhappy in the long run by the introduction of the Ford Model T. This is the age of the Internet. Get used to it.
  • There are »diagram« icons alongside the »crib« and »video« icons for dances in all obvious (and a few not so obvious) places. The code to do that has been cleaned up, generalised and simplified. In particular, the dance list editing screen now includes the icons (it didn't used to do so before).
  • We now use DataTables 1.8.0, which fixes a nasty error where on reload of an AJAX-based table (such as the list of all dances) the table would display the first 25 entries even though the pagination was set up to show a different page, and one would have to click on the page number in order to go to the actual page in question. This ought to have happened a lot earlier, but I was under the impression that I was already using the most recent version of DataTables.

11 December 2011

  • The data in here is now up-to-date with that of the »old« database at as of today. I shall make much more frequent data updates from now on, so we can see how the new database deals with changes in the data in the old one.
  • Adopting and unadopting publications now works. Please don't do that yet, though – do it in the old database instead.
  • The quick-search facility now works on the display name fields of persons rather than just the name fields. In laypersons' terms, this means that while »John Doe« used to not return anything (you would have had to write »Doe, John«) it will now work as expected.
  • The same applies to the filter/search box on the »Person« list page.
  • »Dance« entries now have four different »Verified« boxes (for (meta)data, steps, formations, and tunes) instead of only one. This is mostly of interest to database editors.

25 November 2011

My, it's been a long time since the last upload. Here's a short overview of the most important changes I have made in the meantime:

General Database Issues

  • The dance data model now includes »dance intensity« as per Eric Ferguson's cribs.
  • The complete Dances table (with a predefined set of columns) can now be downloaded in an Excel-friendly CSV format by asking for ».../dance/?fmt=csv«. This may eventually be extended to cover more tables.
  • Publications can now have notes.
  • The database is smarter about foreign-language articles in dance names etc.


  • Cribs can now be added, edited, and deleted through the Web. Everybody can add new cribs (they will be put into the »scddb« collection), but editing and deleting is only allowed if you're either a member of the editor group for the collection or the original author.
  • Users can file issues on cribs, which will be sent to the crib author.
  • The database supports Charles Upton's Minicribs. A lot of effort during the last few months was expended trying to get this right. It was not really a pleasant experience.
  • If there are several cribs for a dance, the database will return them in the order »Eric's cribs, scddb, Minicribs«. This will eventually be made a user-selectable preference.

Dance Lists

  • There is now special support for displaying dance lists on mobile devices (such as Android phones or iPhones). The idea is to make it easy to prepare »crib sheets« for such devices which are accessible at actual events. The dance list page includes a QR code that you can scan with your phone to get convenient access to the mobile version, and there is also a provision to download a large graphic of the QR code suitable for public display at the entrance of your venue.
  • Private dance lists can no longer be accessed via the detail view if you know their index in the database


  • The Markdown implementation on the site (which is used for formatting notes, cribs and general content) is now based on python-markdown2 rather than python-markdown. It should be quite a bit faster, as well as easier to maintain, while maintaining compatibility to the previous version.
  • »Magic« links to dances can now use »dance@author« as the key in case of ambiguity.
  • Quick search and the quick-add box for dance lists now search (official) dance aliases as well. The same applies to quick search for tunes.
  • The administration interface has been improved in various respects, adding autocompletion to many text entry boxes and a number of other tweaks. Dance and tune aliases can now be edited on the respective dance and tune pages rather than on separate pages, and the dance and tune alias list displays have accordingly been removed.
  • The web frontend now includes a »credits« page.

24 June 2011

»Dance lists« have been greatly beefed up. In particular, this means that:

  • You can still drag dance titles into the drop box in the right-hand column of the page. However, while this »work« list used to be special and not connected with the lists accessible through »Dance Lists« other than by saving to or loading from such a list, it is now functionally identical to these lists (even though work lists don't show up in the »list of lists«). What this really means is that the dance list editor – the page that lets you move dances around etc. – is now available for all lists. They can be edited directly without moving them to the »work« list first. In fact, the »work« list remains unchanged while another list is being edited.
  • »Dance lists« may now contain items other than dances. This makes them suitable for lesson and event planning, i.e., you can include items such as »Warmup«, »Step Practice«, »Dinner« or »Interval«. The choice is up to you. These items show up in the list overview and can be included in printed lists (but don't have to).
  • There is a convenient way of adding dances to a dance list that is being edited, through a »Goodies« box in the right-hand column (where the »drop box« would otherwise be). The same box contains a form to let you add other (non-dance) items (just in case you were curious).
  • Every item on a list can be associated with a timespan. I.e., if you expect to spend 10 minutes on practicing pas de basque and 15 minutes on teaching »The White Cockade«, you can enter these times into the dialog boxes provided (check the »Show Times« box in the list editor first). The list editor will helpfully sum all these times, and there is a convenient »total duration« display at the top of the dance list that tells you if you have amassed two hours of stuff for your 90-minute lesson. These times can also be optionally included in the PDF output for the list.
  • You can click on the »start time« in the »total duration« display to set a »wallclock time«. This means that if your class starts at 7pm and you have to be out by 9pm, the display will tell you at a glance when your class is scheduled to finish as far as the material is concerned.
  • Every item on a list can have a »note« associated with it. You can enter this by clicking on the »clipboard« icon at the far right of each item's line in the editor. This will open a text entry window right underneath the dance which you can use to enter stuff. The usual Markdown-type syntax for Strathspey pages is allowed here. These notes can also optionally be included in the PDF output for the list.
  • In the same vein, there is a »note« available for the dance list as a whole, accessible through the »clipboard« icon to the left of the »Show times« checkbox, on top of the list of dances. This is convenient if you are making a dance list for a social function because you can add the venue, start and end times, contact info, etc.
  • If the dance list note includes URLs, the first URL will be added to the PDF output as a »QR code« – a black-and-white pattern that people with smartphones can scan to visit the web page in question. Use this to point to the web page of your event.
  • The PDF output can now be generated in different font sizes – »eye-friendly« is a fairly large type suitable for lesson plans, while »tree-friendly« is a smaller type designed to conserve paper.

21 June 2011

In addition to videos uploaded to the database itself, the database can now »point« to other videos on the net, notably videos on YouTube. If the page for such a video is called up, a YouTube player will be embedded to allow you to watch the video. That is, the database itself is not involved in this at all other than brokering the access.

20 June 2011

The database now includes an infrastructure for uploading, publishing, and viewing dance videos (together with a few video recordings of varying quality from my archive).

Basically, what this means is that every »dance« page in the archive now contains an »Upload a video« link that leads to a form where you can enter the name of a video file on your local disk, together with an assessment of the quality of the dancing seen (demonstration-grade, etc.) and a comment which will be displayed along with the video. By submitting this form, the video file in question will be uploaded to the database server and processed into a format that is suitable for display on the Web (which may take a little while). After that, a database editor will have to look at the video to ensure that it actually contains dancing before »approving« it for publication. (This is to avoid »video spam«, which if it doesn't yet exist is probably just around the corner.)

Once a video has been »approved«, it shows up in a »Videos« tab on the dance's page, as well as in a master list of all videos on the site and the »Recent videos« box on the database home page. You can watch the video using an in- browser video player (similar to YouTube, Facebook etc.) which will hopefully work on most browsers, either via HTML5 native playback or a fallback to Flash.

6 June 2011

This is a comprehensive re-implementation of the SCD database functionality with a view to making the user interface more convenient, to making the code base easier to maintain, and to introducing various new features (in the long term). I have lost count of the number of times I have rewritten this code from scratch, but the nice thing is that every iteration seems to last longer than the one before, so I'm looking forward to not having to redo the thing again anytime soon.

Unlike the older version, this edition relies on JavaScript for various aspects of its functionality and needs a reasonably modern browser (I am testing it with Google Chrome and Firefox 4) and may not be at its best on very small screens.

Go back to the SCD Database home page