Skip to content

Problem: Error in FindingAids EAD 2002 XML Export – sfException: Unknown record property "entityTypeId" on "QubitStaticPage"

Current Behavior

When exporting FindingAids → EAD 2002 XML, the system throws following error.

<error code="500" message="Internal Server Error">
<debug>
<name>sfException</name>
<message>Unknown record property "entityTypeId" on "QubitStaticPage"</message>
<traces>
<trace>at () in SF_ROOT_DIR/lib/model/om/BaseStaticPage.php line 154</trace>
<trace>at BaseStaticPage->__get() in SF_ROOT_DIR/lib/model/om/BaseObject.php line 1191</trace>
<trace>at BaseObject->__call() in SF_ROOT_DIR/plugins/sfEadPlugin/modules/sfEadPlugin/templates/indexSuccessBody.xml.php line 348</trace>
<trace>at include('/mnt/st-atom/trinity/atom-42af4c89e968b6c9646be330a090e8c5cbc568aa/plugins/sfEadPlugin/modules/sfEadPlugin/templates/indexSuccessBody.xml.php') in SF_ROOT_DIR/plugins/sfEadPlugin/modules/sfEadPlugin/templates/indexSuccess.xml.php line 7</trace>
<trace>at require('/mnt/st-atom/trinity/atom-42af4c89e968b6c9646be330a090e8c5cbc568aa/plugins/sfEadPlugin/modules/sfEadPlugin/templates/indexSuccess.xml.php') in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 3898</trace>
<trace>at sfPHPView->renderFile() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 3957</trace>
<trace>at sfPHPView->render() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 995</trace>
<trace>at sfExecutionFilter->executeView() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 982</trace>
<trace>at sfExecutionFilter->handleView() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 950</trace>
<trace>at sfExecutionFilter->execute() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 1047</trace>
<trace>at sfFilterChain->execute() in SF_ROOT_DIR/vendor/symfony/lib/filter/sfCacheFilter.class.php line 65</trace>
<trace>at sfCacheFilter->execute() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 1047</trace>
<trace>at sfFilterChain->execute() in SF_ROOT_DIR/lib/filter/QubitCSPFilter.php line 70</trace>
<trace>at QubitCSP->execute() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 1047</trace>
<trace>at sfFilterChain->execute() in SF_ROOT_DIR/lib/filter/QubitTransactionFilter.class.php line 34</trace>
<trace>at QubitTransactionFilter->execute() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 1047</trace>
<trace>at sfFilterChain->execute() in SF_ROOT_DIR/lib/filter/QubitLimitResults.class.php line 33</trace>
<trace>at QubitLimitResults->execute() in SF_ROOT_DIR/cache/qubit/prod/config/config_core_compile.yml.php line 1047</trace>

Steps to Reproduce

  • Navigate to Series 2.2 Yearbooks, 1930–1933.
  • Perform FindingAids → EAD 2002 XML export.
  • Export fails with the sfException.

Root Cause Identified

  • The issue is caused by a mis-linked Access Point under Series 2.2 Yearbooks, 1930–1933.
  • The access point “Welcome” is being treated as a static page rather than an authority/subject.
  • This results in the application attempting to read entityTypeId from a QubitStaticPage, which doesn't contain that property.
  • The access point exists only in that series and is not linked elsewhere.

I reproduced the behavior on the official AtoM demo instance: https://demo.accesstomemory.org/

  • Creating an access point named “Welcome” for the first time also incorrectly redirects it to a static page.
  • Deleting and recreating the same access point immediately fixes the issue.
  • This confirms the problem is reproducible

Expected Behavior

  1. EAD 2002 XML export should run without throwing exceptions.
  2. Access points should never resolve to static pages.

Possible Solution

  1. Editing/removing the affected access point confirms it incorrectly resolved to a static page.
  2. Recreating the same access point (same name: "Welcome") results in correct behavior — it now appears under Subject Of, not static pages.
  3. Once recreated, XML export works without errors.