Directory structure for collections

Hi, working on the Bible Karaoke project ( and looking at where the USFMs are stored, to my surprise, I realized some of my existing SAB projects have them under books/c01/ while couple projects have them directly under the books/ folder (don’t know if this is caused by building SAB projects over different versions?).

Looking at the appDef file, I don’t readily see the difference to indicate this. Is there a way to figure it out from appDef short of my look for the folder on the filesystem?


Different import formats are handled differently. SFM is what you are talking about so I’ll only address that.

The current norm for SAB projects is to store files like this: books/C01/mat.sfm. Since every book is in a collection. Scripture has unique IDs. MAT for Matthew. If you want two Matthews they must be in different collections.

But once upon a time (before v 3.0 Nov 2016) SAB did not support book collections, i.e. two versions in the one app. In those days the format was books/mat.sfm. That form of project is very old. If it was remade it would have a collection folder in there.

If you check the program-version attribute what does it say?

All the ones I have checked that were created before that date have the collection added and the program-version updated to a newer version, so I have to assume that opening them in SAB should update any old projects. What is the provenance of the projects without a collection folder?

Thanks Ian, program-version = ‘8.2’, that is weird, I don’t think I did anything special with them but they don’t have the C01 folder. Thanks for clarifying the history though, that tells me it is reasonable for me to assume C01 exists under books. That is good enough for me.

But…just for a real head scratcher, here is the screen of the project, it even says there is a collection but the folder is just not there:

While I got you here, another interesting question that you might be able to answer. After what program-version did the chapter shema change to page in appDef? Is it correct to assume that >= that version it is page only and no more chapters? I did look through all the release notes and it is not there.

I guess as soon as I save the project in a newer SAB the appDef upgrades too so maybe I will just require people to bring their SAB up to speed and assume the newer format.


Ah you are on a Mac. Good to say those things up front. It can and has made a difference.

On Windows I can’t find any without a collection.

However I did find on a Mac that some do not have a collection. That is something to report.

The ones I saw were 7.1 or earlier. But looking at the XML books @id still has C01. But that is not in the file system.

Your second question was not totally clear. There is a page element but not a chapter element. There is a chapter attribute on an audio element. audio elements can be contained in page elements.

I can see with audio elements, that sometimes there is a page element that contains the audio element. At other times there is just an audio element with a chapter attribute. Story Book types will always have a page element if they have audio. But Scripture seems to come in both forms.

Pages and chapters are somewhat interchangeable.

Seems you will need to be able to handle both.