ELAN tier sets

Hi Han,

The new-ish Tier Set function is fantastic for switching between different tier sets tailored for different projects. However, it is functioning a bit unreliably for me, and also for at least one other person I know who uses this function at a different institution. Very often I will create and save a tier set, work on a file, save it and close ELAN. Sometimes on opening ELAN again, the tier sets have disappeared, so the process has to be repeated. Do you know what is happening?

Gab

Hi Gabrielle,

I don’t know the answer to your question, I’m afraid. I’ve been playing around with the Tier Set functionality, but probably not enough to run into the problem you describe. You already mention that this problem occurs sometimes, so I assume you don’t know of a way to reliably reproduce this disappearance of tier sets?

What you could do when you notice tier sets have disappeared after reopening ELAN, is close ELAN again and check the log file for error messages in the previous run of ELAN. The log file is in the ELAN data folder and is named elan0.log or elan1.log (look at the modification date). Towards the end of the file there might be error messages. If there is nothing you recognize as tier set related error messages you can send the log file to me and I can have a look.

Tier Sets as saved in that same folder in a file named “TierSet.xml”. If you’ve done a lot of work on adding or changing tier sets you might want to make a copy of that file before closing ELAN and maybe open the xml file to see if the changes are there. Without looking at the code I don’t know when changes are stored (after closing the Edit Tier Set window or maybe when closing ELAN) but maybe something goes wrong sometimes when closing ELAN and it could be that the changes are present in the copy of the file? A bit of a hassle, but it might help to get an idea of what is going wrong or when.

-Han

Hi Han,

Thanks for your reply. I wonder if it depends on whether the Tier Sets were initially created on the basis of the file that was opened versus a domain of files…I recently remade the Tier Sets based on a file domain (as opposed to just the file that was opened) and it seems like this might be more permanent.

I will keep an eye on this and send you the logs when it happens again.

Gab

I had the same issue: I had created a template and shared it, but the tier sets were not showing up on the other computer. Copying the TierSets.xml file onto the other computer fixed the problem. It’s definitely not very intuitive though. It would be great to “transport” the tier sets somehow with the template/files.

On a side note, there’s a little bug on Windows:
Edit > Edit tier sets… > EDIT button > + “add” button
The dialogue window is small and hides the fact that there is a window at the bottom. I was poking around and noticed it could be resized, but otherwise would never have guessed!

Thanks!
Vito

TierSet’s are implemented independently of templates and individual files; a set can contain tiers from multiple templates and multiple files. Therefor the tier sets are not stored in e.g the preference file (.pfsx) of a template or eaf file.
But indeed, there is currently no intuitive way of transferring or sharing tier sets, I have no immediate idea how that could best be implemented.

I haven’t been able to reproduce the problem with the Add Tiers window yet. Maybe because last position and size are stored. I will re-try after deleting preferences.

  • Han

I would suggest that TierSets shouldn’t be independent of templates and individual files, otherwise they get lost when the user changes them. If I’m working on one project with its own tier naming scheme, the moment I switch project the selection of working with TierSets, I have to manually change everything (or make a copy and manually replace TierSets.xml). I think it would be best to have those preferences in the preference file (.pfsx). But maybe I haven’t understood the logic behind your choice…

RE Add Tier window: Yes, I should have said that once you resize that window there’s no problem.

Thanks!
-V

In fact the TierSet functionality was developed at the Radboud University, but we accepted it as it is and included it in ELAN. Anyway, I’m not sure if connecting tier sets to a template would help much, since currently there is no link between an .eaf and the template it is based on, so when opening an eaf there is no reliable way to detect which tier sets to shown (unless tier set configurations would be copied to the pfsx files of all transcriptions based on the template).
Since you can have multiple TierSets I don’t see the need to replace TierSets.xml when you switch projects (unless you have a lot of sets)?

I’m sorry, yes - I was suggesting to have the TierSets prefs incorporated in the .pfsx file - but maybe you come up with a better idea. For one project we do have a number of TierSets, yes.

My main issue is that TierSets are applied system-wide. Annotation naming schemes are generally tied to “projects” or individual eaf/psfx files, so grouping tiers should, too. Otherwise we have problems with the portability of TierSets across workstations (see my workaround). Not to mention you can’t have multiple ELAN files open with TierSets activated in one and not the other, again, because it’s system-wide.

> Not to mention you can’t have multiple ELAN files open with TierSets activated in one and not the other, again, because it’s system-wide.

I need to make a correction: for some reason, at first when I toggled “work with TierSets” on in one Elan file it would also apply to other Elan files I had open; but somehow after closing and reopening ELAN it worked fine! Go figure - Thanks!

I understand. Here the fact that ELAN doesn’t really have the concept of a project is clearly a disadvantage.

I guess the accurate way to describe the scope of the “Work with tier sets” setting, is that it is “virtual machine” wide. A change in this setting applies to all windows loaded in the same “virtual machine”. If you go to the Window menu in ELAN you can see which windows are loaded in the same VM. On Windows double clicking an .eaf in the Explorer (still) creates a new instance of ELAN, in a new “virtual machine” (in contrast to opening files via File-Open). Another known issue that needs a fix or workaround…

Hi Han,

This problem with the tier sets has happened again. Yesterday I opened an ELAN file to begin annotating for a new project. I already have about five tier sets for different projects, and created a new tier set ‘BSL Questions’ for the new project (specifying files in a domain, not just the opened file). The new tier set worked fine, as did my existing, older tier sets.

Then this morning I re-opened the same file and all my tier sets have disappeared. I will send you both the elan0.log and the TierSet.xml doc (which does not contain the new Tier Set BSL Questions that I created yesterday). Any idea what is going on would be much appreciated.

Hi Gabrielle, thanks for sending the files, the log appears to be useful this time. A “Fatal Error” is reported when ELAN tries to read the TierSet.xml file.

The problem appears to be in the way the name of the tier “Eye&Brow” is saved in the TierSet.xml file; the ampersand is not properly “escaped”. In the .eaf file the name of the tier is written as (I hope this works in this editor) “Eye&Brow”. This is a bug that needs to be fixed in ELAN.

I’ll send you a corrected version of the TierSet.xml, which should work until the next time you save the tier sets again. You’ll have to manually edit the file again in that case (as long as this isn’t repaired in ELAN).

Sorry for the inconvenience!

-Han

Sorry to dredge up an old post but I found one issue today that is causing the TierSet.xml loading to be skipped on startup.

We have a tier that has an ampersand (&) in the tier name. When that tier is included in a tier set, it can’t be loaded when ELAN is initialised - the corresponding log entry is as follows (the tier name is Eye&Brow):

[Fatal Error] TierSet.xml:9:21 The reference to entity “Brow” must end with ‘;’ delimiter.

Rough guess - the & character in the tier name has special meaning to the XML parser but it isn’t being escaped when written to the file when the TierSet is created/edited.

Removing that tier from the tier set allows the tier sets to be loaded normally.

Cheers and have a nice weekend.

Doh - I didn’t notice that there was a second page to this thread and that you’d already found this out above. Sorry, Friday afternoon syndrome.

No problem. This issue is fixed in ELAN 5.4.

Good to know - thanks, Han.