Skip to content

ZO-4687: Make date_last_modified independent of DAV server #69

ZO-4687: Make date_last_modified independent of DAV server

ZO-4687: Make date_last_modified independent of DAV server #69

GitHub Actions / Test Results failed Feb 15, 2024 in 0s

69 fail, 57 skipped, 2 611 pass in 9m 30s

    2 files      2 suites   9m 30s ⏱️
2 737 tests 2 611 ✅ 57 💤 69 ❌
2 766 runs  2 636 ✅ 57 💤 73 ❌

Results for commit 86aab04.

Annotations

Check warning on line 0 in vivi.core.src.zeit.content.article.edit.browser.tests.test_metadata.AuthorLocationTest

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_entering_location_via_autocomplete (vivi.core.src.zeit.content.article.edit.browser.tests.test_metadata.AuthorLocationTest) failed

deployment/work/source/report_selenium.xml [took 53s]
Raw output
AssertionError: Timed out after 10.0 s. Failed: assertElementPresent('css=.object-details.type-author .widget') -> False
A screenshot has been saved, see: /tmp/gocept_selenium_screenshot_b8t9lqt.png
Traceback (most recent call last):
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/selenium/wd_selenese.py", line 897, in _waitFor
    assertion(*args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/selenium/wd_selenese.py", line 830, in <lambda>
    return lambda locator: self._assert(
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/selenium/wd_selenese.py", line 847, in _assert
    raise self.failureException(
AssertionError: Failed: assertElementPresent('css=.object-details.type-author .widget') -> False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/content/article/edit/browser/tests/test_metadata.py", line 208, in test_entering_location_via_autocomplete
    s.waitForElementPresent(location_display)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/selenium/wd_selenese.py", line 803, in <lambda>
    self._waitFor(assertion, *args, **kw))
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/selenium/wd_selenese.py", line 900, in _waitFor
    raise self.failureException(
AssertionError: Timed out after 10.0 s. Failed: assertElementPresent('css=.object-details.type-author .widget') -> False
A screenshot has been saved, see: /tmp/gocept_selenium_screenshot_b8t9lqt.png

Check warning on line 0 in vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.CheckinSelenium

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_does_not_set_last_semantic_change_by_default (vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.CheckinSelenium) failed

deployment/work/source/report_selenium.xml [took 6s]
Raw output
AssertionError: 'repository' not found in 'http://127.0.0.1:38207/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/content/article/edit/browser/tests/test_workflow.py", line 119, in test_checkin_does_not_set_last_semantic_change_by_default
    self.assertIn('repository', s.getLocation())
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 1112, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: 'repository' not found in 'http://127.0.0.1:38207/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'

Check warning on line 0 in vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.CheckinSelenium

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_sets_last_semantic_change_if_checked (vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.CheckinSelenium) failed

deployment/work/source/report_selenium.xml [took 8s]
Raw output
AssertionError: 'repository' not found in 'http://127.0.0.1:38207/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/content/article/edit/browser/tests/test_workflow.py", line 136, in test_checkin_sets_last_semantic_change_if_checked
    self.assertIn('repository', s.getLocation())
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 1112, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: 'repository' not found in 'http://127.0.0.1:38207/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'

Check warning on line 0 in vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.WorkflowEndToEnd

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_redirects_to_repository (vivi.core.src.zeit.content.article.edit.browser.tests.test_workflow.WorkflowEndToEnd) failed

deployment/work/source/report_selenium.xml [took 6s]
Raw output
AssertionError: 'repository' not found in 'http://127.0.0.1:40441/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/content/article/edit/browser/tests/test_workflow.py", line 205, in test_checkin_redirects_to_repository
    self.assertIn('repository', s.getLocation())
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 1112, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: 'repository' not found in 'http://127.0.0.1:40441/++skin++cms/workingcopy/zope.user/Somalia/@@checkin?semantic_change=None'

Check warning on line 0 in vivi.core.src.zeit.cms.checkout.tests.test_manager.SemanticChangeTest

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_with_semantic_change_sets_lsc_date (vivi.core.src.zeit.cms.checkout.tests.test_manager.SemanticChangeTest) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: None is not an instance of <class 'datetime.datetime'>
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/checkout/tests/test_manager.py", line 188, in test_checkin_with_semantic_change_sets_lsc_date
    self.assertIsInstance(self.sc.last_semantic_change, datetime.datetime)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 1269, in assertIsInstance
    self.fail(self._formatMessage(msg, standardMsg))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: None is not an instance of <class 'datetime.datetime'>

Check warning on line 0 in vivi.core.src.zeit.cms.checkout.tests.test_manager.SemanticChangeTest

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_without_explicit_sc_uses_sc_flag_on_content_object (vivi.core.src.zeit.cms.checkout.tests.test_manager.SemanticChangeTest) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: None is not an instance of <class 'datetime.datetime'>
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/checkout/tests/test_manager.py", line 200, in test_checkin_without_explicit_sc_uses_sc_flag_on_content_object
    self.assertIsInstance(self.sc.last_semantic_change, datetime.datetime)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 1269, in assertIsInstance
    self.fail(self._formatMessage(msg, standardMsg))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: None is not an instance of <class 'datetime.datetime'>

Check warning on line 0 in vivi.core.src.zeit.cms.content.tests.test_semanticchange.TestSemanticChange

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_checkin_should_set_last_semantic_change (vivi.core.src.zeit.cms.content.tests.test_semanticchange.TestSemanticChange) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: False is not true
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/content/tests/test_semanticchange.py", line 53, in test_checkin_should_set_last_semantic_change
    self.assertTrue(isinstance(sc.last_semantic_change, datetime.datetime))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 687, in assertTrue
    raise self.failureException(msg)
AssertionError: False is not true

Check warning on line 0 in vivi.core.src.zeit.cms.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/listing.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/listing.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for listing.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/listing.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/listing.txt", line 109, in listing.txt
Failed example:
    '2007 12 6  13:00:00' in browser.contents
Differences (ndiff with -expected +actual):
    - True
    + False
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/listing.txt", line 139, in listing.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml ...
    + <?xml version="1.0"?>
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
    +       <head>
    + <base href="http://localhost/++skin++cms/repository/online/2007/01/@@view.html" />
    + <BLANKLINE>
    +         <script type="text/javascript">
    +           var application_url = 'http://localhost/++skin++cms';
    +           var context_url = 'http://localhost/++skin++cms/repository/online/2007/01';
    +         </script>
    + <BLANKLINE>
    +         <title>
    + <BLANKLINE>
    +             01 –
    +             Directory listing
    + <BLANKLINE>
    +         </title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="type-collection location-repository section-IZONSection environment-testing">
    +         <div id="visualContentSeparator" class="sidebar-expanded">
    +           </div>
    +           <div id="header" class="sidebar-expanded">
    +           <ul id="breadcrumbs">
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository" title="repository">repository</a>
    +               <span class="uniqueId">http://xml.zeit.de/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online" title="online">online</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007" title="2007">2007</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007/01" title="01">01</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/01/</span>
    + <BLANKLINE>
    +             </li>
    +           </ul>
    +           <ul id="main-navigation"><li class="selected">
    +   <a href="http://localhost/++skin++cms/@@index.html">
    +     <span>CMS</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + </ul>
    + <BLANKLINE>
    +             <div class="GlobalInformation"><div id="messages_container">
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages_toggle" class="staticErrorText">
    +         Notices
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages" class="noMessages">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + </div>
    + <BLANKLINE>
    + <div id="user-information">
    +   User
    +   | <a href="http://localhost/++skin++cms/@@logout.html">Logout</a>
    + </div>
    + </div>
    +         </div>
    + <BLANKLINE>
    +         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
    +       Clipboard
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="ClipboardPanelContent">
    +     <div id="clipboardcontents" class="Tree">
    + <BLANKLINE>
    +   <ul>
    + <BLANKLINE>
    +       <li class="Root type-" uniqueid="">
    +         <p>
    +         <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
    +         <span class="uniqueId">None</span>
    +         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
    +           <img alt="Delete" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +           <span class="action-title">Remove</span>
    +         </a>
    +       </p>
    + <BLANKLINE>
    +       </li>
    + <BLANKLINE>
    +   </ul>
    + <BLANKLINE>
    + </div>
    +     <form action="">
    +       <p>
    +         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
    +       </p>
    +       <div id="clip-add-folder-box">
    +         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
    +         <br />
    +         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
    +         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
    +       </div>
    +     </form>
    +     <script type="text/javascript">
    +         var clipboarddnd = new zeit.cms.Clipboard(
    +           'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
    +         clipboarddnd.connectDNDHandlers();
    +         clipboarddnd.enableAdding();
    +         </script>
    + <BLANKLINE>
    +   </div>
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user">
    +       Edited documents
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="WorkingcopyPanelContent">
    +     <div id="workingcopycontents">
    +       <div>
    +         No edited documents.
    +       </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </div>
    +   </div>
    + </div>
    + </div>
    +         <div id="sidebar-dragger" class="sidebar-expanded">
    +         </div>
    + <BLANKLINE>
    +         <script type="text/javascript">
    +           connect(window, 'onload', function(event) {
    +             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++cms');
    +             panel_handler.registerPanelHandlers();
    +             });
    + <BLANKLINE>
    +             connect(window, 'onload', function(event) {
    +                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++cms');
    +                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
    +                         'toggle');
    +             });
    +             </script>
    + <BLANKLINE>
    + <BLANKLINE>
    +           <div id="visualContentWrapper" class="sidebar-expanded">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div class="contextViewsAndActions">
    +       <div class="context-views">
    +         <ul>
    + <BLANKLINE>
    +   <li class="view selected">
    +     <a href="http://localhost/++skin++cms/repository/online/2007/01/@@view.html" title="View">View</a>
    +   </li>
    + <BLANKLINE>
    +   <li class="references ">
    +     <a href="http://localhost/++skin++cms/repository/online/2007/01/@@references.html" title="References">References</a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +         </ul>
    + <BLANKLINE>
    +       </div>
    +       <div class="context-actions">
    +         <ul>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li>
    +   <a title="Manage lock" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/online/2007/01/@@locks.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     <span class="action-title">Manage lock</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <li class="preview ">
    +     <a href="http://localhost/++skin++cms/repository/online/2007/01/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
    +       <span class="action-title">Preview</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    +   <li class="live ">
    +     <a href="http://localhost/++skin++cms/repository/online/2007/01/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
    +       <span class="action-title">Live</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li class="secondary-actions">
    +   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015509.0531213')">
    +     <img alt="actionmenuicon" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/submenu.png" />
    +   </a>
    +   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015509.0531213"><li>
    +   <a title="Copy from clipboard" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/online/2007/01/@@insert_from_clipboard.lightbox')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/insert.png" />
    +     <span class="action-title">Copy from clipboard</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <li>
    +   <a title="Reload folder" href="http://localhost/++skin++cms/repository/online/2007/01/@@refresh-cache" id="menuitem.1708015509.0553854">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/reload.png" />
    +     <span class="action-title">Reload folder</span>
    +   </a>
    +   <script language="javascript">
    +           new zeit.cms.ClickOnceAction('menuitem.1708015509.0553854');
    +           </script>
    + </li>
    + <BLANKLINE>
    + <li>
    +   <a title="Change type" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/online/2007/01/@@typechange-box')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/workflow.png" />
    +     <span class="action-title">Change type</span>
    +   </a>
    + </li>
    + </ul>
    + </li>
    + <BLANKLINE>
    +         </ul>
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +             <div id="content">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <form name="containerContentsForm" method="get" action="" id="folderActionForm">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +       <div id="content-actions">
    + <BLANKLINE>
    +         <select id="add_menu" name="add_menu" onchange="add_content(this)">
    +             <option value="">Add...</option>
    +           <option value="http://localhost/++skin++cms/repository/online/2007/01/@@zeit.cms.repository.file.Add">File</option>
    +           <option value="http://localhost/++skin++cms/repository/online/2007/01/@@zeit.cms.repository.folder.Add">Folder</option>
    +         </select>
    + <BLANKLINE>
    +     </div>
    + <BLANKLINE>
    +         <div id="tableFilter">
    +           Filter: <input name="tableFilter" type="text" value="" />
    +         </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +       <div id="topcontent">
    + <BLANKLINE>
    + <BLANKLINE>
    + <table class="contentListing hasMetadata">
    +   <thead>
    +     <tr>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'type', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 </span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'author', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Author</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'title', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Title</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'filename', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 File name</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'modified', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Modified</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'ressort', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Ressort</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'page', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Page</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +       <th>
    + <BLANKLINE>
    +             <span class="zc-table-sortable"
    +                   onclick="javascript: onSortClickForm(
    +                         'metadata', 'sort_on')"
    +                   onMouseOver="javascript:
    +                       this.className='sortable zc-table-sortable'"
    +                   onMouseOut="javascript: this.className='zc-table-sortable'">
    +                 Metadaten</span> <img src="http://localhost/++skin++cms/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
    + <BLANKLINE>
    +       </th>
    +     </tr>
    +   </thead>
        <tbody>
        <tr class="odd">
    -     ...
    -     <td>
    -       <div class="workflow-column"><span class="publish-state published-with-changes" title="Published but has changes"></span></div>
    -     </td>
    ?      -
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    -     <td>
    +     </td>
    ?      +
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state published" title="Published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
          </td>
          <td>
            4schanzentournee-abgesang
          </td>
    -     ...
    +     <td>
    +       <span class="filename">4schanzentournee-abgesang</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">4schanzentournee-abgesang</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/4schanzentournee-abgesang</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/4schanzentournee-abgesang</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Arbeitsmarktzahlen
    +     </td>
    +     <td>
    +       <span class="filename">Arbeitsmarktzahlen</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Arbeitsmarktzahlen</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Arbeitsmarktzahlen</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Arbeitsmarktzahlen</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       bildergalerie-mehrwertsteuer
    +     </td>
    +     <td>
    +       <span class="filename">bildergalerie-mehrwertsteuer</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">bildergalerie-mehrwertsteuer</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/bildergalerie-mehrwertsteuer</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/bildergalerie-mehrwertsteuer</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       bildergalerie-mehrwertsteuer-erhoehung
    +     </td>
    +     <td>
    +       <span class="filename">bildergalerie-mehrwertsteuer-erhoehung</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">bildergalerie-mehrwertsteuer-erhoehung</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/bildergalerie-mehrwertsteuer-erhoehung</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/bildergalerie-mehrwertsteuer-erhoehung</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       bildergalerie-spiegel
    +     </td>
    +     <td>
    +       <span class="filename">bildergalerie-spiegel</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">bildergalerie-spiegel</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/bildergalerie-spiegel</span><span class="unique…"http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       rauchen-verbessert-die-welt
    +     </td>
    +     <td>
    +       <span class="filename">rauchen-verbessert-die-welt</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">rauchen-verbessert-die-welt</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/rauchen-verbessert-die-welt</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/rauchen-verbessert-die-welt</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Rosia-Montana
    +     </td>
    +     <td>
    +       <span class="filename">Rosia-Montana</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Rosia-Montana</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Rosia-Montana</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Rosia-Montana</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       RUND-Olympique-Marseille
    +     </td>
    +     <td>
    +       <span class="filename">RUND-Olympique-Marseille</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">RUND-Olympique-Marseille</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/RUND-Olympique-Marseille</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/RUND-Olympique-Marseille</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       rund-Sprachforschung
    +     </td>
    +     <td>
    +       <span class="filename">rund-Sprachforschung</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">rund-Sprachforschung</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/rund-Sprachforschung</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/rund-Sprachforschung</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Saarland
    +     </td>
    +     <td>
    +       <span class="filename">Saarland</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Saarland</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Saarland</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Saarland</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Saddam-Anschlaege
    +     </td>
    +     <td>
    +       <span class="filename">Saddam-Anschlaege</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Saddam-Anschlaege</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Saddam-Anschlaege</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Saddam-Anschlaege</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       saddam-exekution
    +     </td>
    +     <td>
    +       <span class="filename">saddam-exekution</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">saddam-exekution</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/saddam-exekution</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/saddam-exekution</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       saddam-grab
    +     </td>
    +     <td>
    +       <span class="filename">saddam-grab</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">saddam-grab</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/saddam-grab</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/saddam-grab</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       saddam-hinrichtung-2006
    +     </td>
    +     <td>
    +       <span class="filename">saddam-hinrichtung-2006</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">saddam-hinrichtung-2006</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/saddam-hinrichtung-2006</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/saddam-hinrichtung-2006</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Saddam-Kommentar
    +     </td>
    +     <td>
    +       <span class="filename">Saddam-Kommentar</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Saddam-Kommentar</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Saddam-Kommentar</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Saddam-Kommentar</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       saddam-luttwak
    +     </td>
    +     <td>
    +       <span class="filename">saddam-luttwak</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">saddam-luttwak</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/saddam-luttwak</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/saddam-luttwak</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       saddam-nachruf
    +     </td>
    +     <td>
    +       <span class="filename">saddam-nachruf</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">saddam-nachruf</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/saddam-nachruf</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/saddam-nachruf</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Saddam-Prozess
    +     </td>
    +     <td>
    +       <span class="filename">Saddam-Prozess</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Saddam-Prozess</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Saddam-Prozess</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Saddam-Prozess</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Saddam-Verbuendete
    +     </td>
    +     <td>
    +       <span class="filename">Saddam-Verbuendete</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Saddam-Verbuendete</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Saddam-Verbuendete</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Saddam-Verbuendete</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Schrempp
    +     </td>
    +     <td>
    +       <span class="filename">Schrempp</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Schrempp</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Schrempp</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Schrempp</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Somalia
    +     </td>
    +     <td>
    +       <span class="filename">Somalia</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Somalia</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Somalia</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Somalia</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       somalia-donnerstag
    +     </td>
    +     <td>
    +       <span class="filename">somalia-donnerstag</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">somalia-donnerstag</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/somalia-donnerstag</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/somalia-donnerstag</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Somalia-Grill
    +     </td>
    +     <td>
    +       <span class="filename">Somalia-Grill</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Somalia-Grill</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Somalia-Grill</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Somalia-Grill</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       somalia-kismayu
    +     </td>
    +     <td>
    +       <span class="filename">somalia-kismayu</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">somalia-kismayu</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/somalia-kismayu</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/somalia-kismayu</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Somalia-Treffen
    +     </td>
    +     <td>
    +       <span class="filename">Somalia-Treffen</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Somalia-Treffen</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Somalia-Treffen</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Somalia-Treffen</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Spitzenkandidat-Stoiber
    +     </td>
    +     <td>
    +       <span class="filename">Spitzenkandidat-Stoiber</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Spitzenkandidat-Stoiber</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Spitzenkandidat-Stoiber</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Spitzenkandidat-Stoiber</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       Stern-Umfrage-Bayern
    +     </td>
    +     <td>
    +       <span class="filename">Stern-Umfrage-Bayern</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">Stern-Umfrage-Bayern</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/Stern-Umfrage-Bayern</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/Stern-Umfrage-Bayern</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       studiVZ
    +     </td>
    +     <td>
    +       <span class="filename">studiVZ</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">studiVZ</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/studiVZ</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/studiVZ</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       teddy-kollek-nachruf
    +     </td>
    +     <td>
    +       <span class="filename">teddy-kollek-nachruf</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">teddy-kollek-nachruf</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/teddy-kollek-nachruf</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/teddy-kollek-nachruf</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       terror-abschuss-schaeuble
    +     </td>
    +     <td>
    +       <span class="filename">terror-abschuss-schaeuble</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">terror-abschuss-schaeuble</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/terror-abschuss-schaeuble</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/terror-abschuss-schaeuble</span>
    +     </td>
    +   </tr>
    +   <tr class="even">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       thailand-anschlaege
    +     </td>
    +     <td>
    +       <span class="filename">thailand-anschlaege</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">thailand-anschlaege</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/thailand-anschlaege</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/thailand-anschlaege</span>
    +     </td>
    +   </tr>
    +   <tr class="odd">
    +     <td>
    +       <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    +     </td>
    +     <td>
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
    +     </td>
    +     <td>
    +       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       weissrussland-russland-gas
    +     </td>
    +     <td>
    +       <span class="filename">weissrussland-russland-gas</span>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    + <BLANKLINE>
    +     </td>
    +     <td>
    +       <span class="SearchableText">weissrussland-russland-gas</span><span class="URL">http://localhost/++skin++cms/repository/online/2007/01/weissrussland-russland-gas</span><span class="uniqueId">http://xml.zeit.de/online/2007/01/weissrussland-russland-gas</span>
    +     </td>
    +   </tr>
    +   </tbody>
    + </table>
    + <input type="hidden" name="sort_on:tokens" id="sort_on" value="" />
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +       </div>
    +       <div id="bottomcontent"></div>
    +     </form>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>

Check warning on line 0 in vivi.core.src.zeit.cms.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for sourceedit.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 42, in sourceedit.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest sourceedit.txt[13]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 43, in sourceedit.txt
Failed example:
    print(browser.title.strip())
Differences (ndiff with -expected +actual):
    - testcontent – View source code
    + Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 45, in sourceedit.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml ...
    - <div class="widget"><div class="pygments"><pre><span></span><span class="nt">&lt;testtype...&gt;</span>...
    -   ...<span class="nt">&lt;head&gt;</span>
    -   ...<span class="nt">&lt;foo/&gt;</span>
    - ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for sourceedit.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 42, in sourceedit.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest sourceedit.txt[13]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 43, in sourceedit.txt
Failed example:
    print(browser.title.strip())
Differences (ndiff with -expected +actual):
    - testcontent – View source code
    + Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/browser/sourceedit.txt", line 45, in sourceedit.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml ...
    - <div class="widget"><div class="pygments"><pre><span></span><span class="nt">&lt;testtype...&gt;</span>...
    -   ...<span class="nt">&lt;head&gt;</span>
    -   ...<span class="nt">&lt;foo/&gt;</span>
    - ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>

Check warning on line 0 in vivi.core.src.zeit.cms.browser.tests.test_listing.ListingTest

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_columns_ignore_exceptions (vivi.core.src.zeit.cms.browser.tests.test_listing.ListingTest) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Differences (ndiff with -expected +actual):
- ...<td> <span class="filename">testcontent</span> </td> <td> 2008 ... </td> <td> </td> <td> </td>...
+ <?xml version="1.0"?>
+ <!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
+       <head>
+ <base href="http://localhost/++skin++vivi/repository/@@view.html" />
+
+         <script type="text/javascript">
+           var application_url = 'http://localhost/++skin++vivi';
+           var context_url = 'http://localhost/++skin++vivi/repository';
+         </script>
+
+         <title>
+
+             repository –
+             Directory listing
+
+         </title>
+         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/favicon.png" />
+         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/favicon.png" />
+
+
+       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
+ <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
+ <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
+ <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
+ <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
+ <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
+ <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
+ <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
+ <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
+ <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
+       <body class="type-collection location-repository section-repository environment-testing">
+         <div id="visualContentSeparator" class="sidebar-expanded">
+           </div>
+           <div id="header" class="sidebar-expanded">
+           <ul id="breadcrumbs">
+             <li>
+               <a href="http://localhost/++skin++vivi/repository" title="repository">repository</a>
+               <span class="uniqueId">http://xml.zeit.de/</span>
+
+             </li>
+           </ul>
+           <ul id="main-navigation"><li class="selected">
+   <a href="http://localhost/++skin++vivi/@@index.html">
+     <span>CMS</span>
+   </a>
+ </li>
+
+
+ </ul>
+
+             <div class="GlobalInformation"><div id="messages_container">
+
+
+     <div id="messages_toggle" class="staticErrorText">
+         Notices
+     </div>
+
+
+     <div id="messages" class="noMessages">
+
+
+
+
+     </div>
+
+
+ </div>
+
+ <div id="user-information">
+   User
+   | <a href="http://localhost/++skin++vivi/@@logout.html">Logout</a>
+ </div>
+ </div>
+         </div>
+
+         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
+
+   <h1>
+     <a href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
+       Clipboard
+     </a>
+   </h1>
+
+   <div class="PanelContent" id="ClipboardPanelContent">
+     <div id="clipboardcontents" class="Tree">
+
+   <ul>
+
+       <li class="Root type-" uniqueid="">
+         <p>
+         <a href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
+         <span class="uniqueId">None</span>
+         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
+           <img alt="Delete" src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/delete.png" />
+           <span class="action-title">Remove</span>
+         </a>
+       </p>
+
+       </li>
+
+   </ul>
+
+ </div>
+     <form action="">
+       <p>
+         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
+       </p>
+       <div id="clip-add-folder-box">
+         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
+         <br />
+         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
+         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
+       </div>
+     </form>
+     <script type="text/javascript">
+         var clipboarddnd = new zeit.cms.Clipboard(
+           'http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
+         clipboarddnd.connectDNDHandlers();
+         clipboarddnd.enableAdding();
+         </script>
+
+   </div>
+ </div>
+
+
+ <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
+
+   <h1>
+     <a href="http://localhost/++skin++vivi/workingcopy/zope.user">
+       Edited documents
+     </a>
+   </h1>
+
+   <div class="PanelContent" id="WorkingcopyPanelContent">
+     <div id="workingcopycontents">
+       <div>
+         No edited documents.
+       </div>
+
+
+     </div>
+   </div>
+ </div>
+ </div>
+         <div id="sidebar-dragger" class="sidebar-expanded">
+         </div>
+
+         <script type="text/javascript">
+           connect(window, 'onload', function(event) {
+             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++vivi');
+             panel_handler.registerPanelHandlers();
+             });
+
+             connect(window, 'onload', function(event) {
+                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++vivi');
+                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
+                         'toggle');
+             });
+             </script>
+
+
+           <div id="visualContentWrapper" class="sidebar-expanded">
+
+
+
+     <div class="contextViewsAndActions">
+       <div class="context-views">
+         <ul>
+
+   <li class="view selected">
+     <a href="http://localhost/++skin++vivi/repository/@@view.html" title="View">View</a>
+   </li>
+
+   <li class="references ">
+     <a href="http://localhost/++skin++vivi/repository/@@references.html" title="References">References</a>
+   </li>
+
+
+         </ul>
+
+       </div>
+       <div class="context-actions">
+         <ul>
+
+
+ <li>
+   <a title="Manage lock" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@locks.html')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     <span class="action-title">Manage lock</span>
+   </a>
+ </li>
+
+
+   <li class="preview ">
+     <a href="http://localhost/++skin++vivi/repository/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
+       <span class="action-title">Preview</span>
+
+     </a>
+   </li>
+
+   <li class="live ">
+     <a href="http://localhost/++skin++vivi/repository/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
+       <span class="action-title">Live</span>
+
+     </a>
+   </li>
+
+
+
+
+ <li class="secondary-actions">
+   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015509.9418123')">
+     <img alt="actionmenuicon" src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/submenu.png" />
+   </a>
+   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015509.9418123"><li>
+   <a title="Copy from clipboard" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@insert_from_clipboard.lightbox')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/insert.png" />
+     <span class="action-title">Copy from clipboard</span>
+   </a>
+ </li>
+
+ <li>
+   <a title="Reload folder" href="http://localhost/++skin++vivi/repository/@@refresh-cache" id="menuitem.1708015509.9434147">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/reload.png" />
+     <span class="action-title">Reload folder</span>
+   </a>
+   <script language="javascript">
+           new zeit.cms.ClickOnceAction('menuitem.1708015509.9434147');
+           </script>
+ </li>
+
+ <li>
+   <a title="Change type" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@typechange-box')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/workflow.png" />
+     <span class="action-title">Change type</span>
+   </a>
+ </li>
+ </ul>
+ </li>
+
+         </ul>
+       </div>
+     </div>
+
+
+             <div id="content">
+
+
+
+     <form name="containerContentsForm" method="get" action="" id="folderActionForm">
+
+
+
+       <div id="content-actions">
+
+         <select id="add_menu" name="add_menu" onchange="add_content(this)">
+             <option value="">Add...</option>
+           <option value="http://localhost/++skin++vivi/repository/@@zeit.cms.repository.file.Add">File</option>
+           <option value="http://localhost/++skin++vivi/repository/@@zeit.cms.repository.folder.Add">Folder</option>
+         </select>
+
+     </div>
+
+         <div id="tableFilter">
+           Filter: <input name="tableFilter" type="text" value="" />
+         </div>
+
+
+       <div id="topcontent">
+
+
+ <table class="contentListing hasMetadata">
+   <thead>
+     <tr>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'type', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 </span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+       </th>
+       <th>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'author', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Author</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'title', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Title</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'filename', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 File name</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'modified', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Modified</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'ressort', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Ressort</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'page', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Page</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'metadata', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Metadaten</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+     </tr>
+   </thead>
+   <tbody>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2006
+     </td>
+     <td>
+       <span class="filename">2006</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2006</span><span class="URL">http://localhost/++skin++vivi/repository/2006</span><span class="uniqueId">http://xml.zeit.de/2006/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2007
+     </td>
+     <td>
+       <span class="filename">2007</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2007</span><span class="URL">http://localhost/++skin++vivi/repository/2007</span><span class="uniqueId">http://xml.zeit.de/2007/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2016
+     </td>
+     <td>
+       <span class="filename">2016</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2016</span><span class="URL">http://localhost/++skin++vivi/repository/2016</span><span class="uniqueId">http://xml.zeit.de/2016/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       online
+     </td>
+     <td>
+       <span class="filename">online</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">online</span><span class="URL">http://localhost/++skin++vivi/repository/online</span><span class="uniqueId">http://xml.zeit.de/online/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       testing
+     </td>
+     <td>
+       <span class="filename">testing</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">testing</span><span class="URL">http://localhost/++skin++vivi/repository/testing</span><span class="uniqueId">http://xml.zeit.de/testing/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       zeit-magazin
+     </td>
+     <td>
+       <span class="filename">zeit-magazin</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">zeit-magazin</span><span class="URL">http://localhost/++skin++vivi/repository/zeit-magazin</span><span class="uniqueId">http://xml.zeit.de/zeit-magazin/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="filename">contentwithproperty</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">  None None None None None contentwithproperty</span><span class="URL">http://localhost/++skin++vivi/repository/contentwithproperty</span><span class="uniqueId">http://xml.zeit.de/contentwithproperty</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="filename">testcontent</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">  None None None None None testcontent</span><span class="URL">http://localhost/++skin++vivi/repository/testcontent</span><span class="uniqueId">http://xml.zeit.de/testcontent</span>
+     </td>
+   </tr>
+   </tbody>
+ </table>
+ <input type="hidden" name="sort_on:tokens" id="sort_on" value="" />
+
+
+
+       </div>
+       <div id="bottomcontent"></div>
+     </form>
+
+
+             </div>
+           </div>
+
+
+       </body>
+     </html>
+
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/browser/tests/test_listing.py", line 18, in test_columns_ignore_exceptions
    self.assertEllipsis(
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/gocept/testing/assertion.py", line 37, in assertEllipsis
    self.fail('Differences (%s):\n' % kind + ''.join(diff))
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 675, in fail
    raise self.failureException(msg)
AssertionError: Differences (ndiff with -expected +actual):
- ...<td> <span class="filename">testcontent</span> </td> <td> 2008 ... </td> <td> </td> <td> </td>...
+ <?xml version="1.0"?>
+ <!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
+       <head>
+ <base href="http://localhost/++skin++vivi/repository/@@view.html" />
+
+         <script type="text/javascript">
+           var application_url = 'http://localhost/++skin++vivi';
+           var context_url = 'http://localhost/++skin++vivi/repository';
+         </script>
+
+         <title>
+
+             repository –
+             Directory listing
+
+         </title>
+         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/favicon.png" />
+         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/favicon.png" />
+
+
+       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
+ <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
+ <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
+ <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
+ <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
+ <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
+ <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
+ <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
+ <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
+ <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
+ <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
+ <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
+ <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
+       <body class="type-collection location-repository section-repository environment-testing">
+         <div id="visualContentSeparator" class="sidebar-expanded">
+           </div>
+           <div id="header" class="sidebar-expanded">
+           <ul id="breadcrumbs">
+             <li>
+               <a href="http://localhost/++skin++vivi/repository" title="repository">repository</a>
+               <span class="uniqueId">http://xml.zeit.de/</span>
+
+             </li>
+           </ul>
+           <ul id="main-navigation"><li class="selected">
+   <a href="http://localhost/++skin++vivi/@@index.html">
+     <span>CMS</span>
+   </a>
+ </li>
+
+
+ </ul>
+
+             <div class="GlobalInformation"><div id="messages_container">
+
+
+     <div id="messages_toggle" class="staticErrorText">
+         Notices
+     </div>
+
+
+     <div id="messages" class="noMessages">
+
+
+
+
+     </div>
+
+
+ </div>
+
+ <div id="user-information">
+   User
+   | <a href="http://localhost/++skin++vivi/@@logout.html">Logout</a>
+ </div>
+ </div>
+         </div>
+
+         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
+
+   <h1>
+     <a href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
+       Clipboard
+     </a>
+   </h1>
+
+   <div class="PanelContent" id="ClipboardPanelContent">
+     <div id="clipboardcontents" class="Tree">
+
+   <ul>
+
+       <li class="Root type-" uniqueid="">
+         <p>
+         <a href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
+         <span class="uniqueId">None</span>
+         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
+           <img alt="Delete" src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/delete.png" />
+           <span class="action-title">Remove</span>
+         </a>
+       </p>
+
+       </li>
+
+   </ul>
+
+ </div>
+     <form action="">
+       <p>
+         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
+       </p>
+       <div id="clip-add-folder-box">
+         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
+         <br />
+         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
+         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
+       </div>
+     </form>
+     <script type="text/javascript">
+         var clipboarddnd = new zeit.cms.Clipboard(
+           'http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++vivi/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
+         clipboarddnd.connectDNDHandlers();
+         clipboarddnd.enableAdding();
+         </script>
+
+   </div>
+ </div>
+
+
+ <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
+
+   <h1>
+     <a href="http://localhost/++skin++vivi/workingcopy/zope.user">
+       Edited documents
+     </a>
+   </h1>
+
+   <div class="PanelContent" id="WorkingcopyPanelContent">
+     <div id="workingcopycontents">
+       <div>
+         No edited documents.
+       </div>
+
+
+     </div>
+   </div>
+ </div>
+ </div>
+         <div id="sidebar-dragger" class="sidebar-expanded">
+         </div>
+
+         <script type="text/javascript">
+           connect(window, 'onload', function(event) {
+             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++vivi');
+             panel_handler.registerPanelHandlers();
+             });
+
+             connect(window, 'onload', function(event) {
+                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++vivi');
+                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
+                         'toggle');
+             });
+             </script>
+
+
+           <div id="visualContentWrapper" class="sidebar-expanded">
+
+
+
+     <div class="contextViewsAndActions">
+       <div class="context-views">
+         <ul>
+
+   <li class="view selected">
+     <a href="http://localhost/++skin++vivi/repository/@@view.html" title="View">View</a>
+   </li>
+
+   <li class="references ">
+     <a href="http://localhost/++skin++vivi/repository/@@references.html" title="References">References</a>
+   </li>
+
+
+         </ul>
+
+       </div>
+       <div class="context-actions">
+         <ul>
+
+
+ <li>
+   <a title="Manage lock" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@locks.html')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     <span class="action-title">Manage lock</span>
+   </a>
+ </li>
+
+
+   <li class="preview ">
+     <a href="http://localhost/++skin++vivi/repository/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
+       <span class="action-title">Preview</span>
+
+     </a>
+   </li>
+
+   <li class="live ">
+     <a href="http://localhost/++skin++vivi/repository/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
+       <span class="action-title">Live</span>
+
+     </a>
+   </li>
+
+
+
+
+ <li class="secondary-actions">
+   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015509.9418123')">
+     <img alt="actionmenuicon" src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/submenu.png" />
+   </a>
+   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015509.9418123"><li>
+   <a title="Copy from clipboard" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@insert_from_clipboard.lightbox')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/insert.png" />
+     <span class="action-title">Copy from clipboard</span>
+   </a>
+ </li>
+
+ <li>
+   <a title="Reload folder" href="http://localhost/++skin++vivi/repository/@@refresh-cache" id="menuitem.1708015509.9434147">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/reload.png" />
+     <span class="action-title">Reload folder</span>
+   </a>
+   <script language="javascript">
+           new zeit.cms.ClickOnceAction('menuitem.1708015509.9434147');
+           </script>
+ </li>
+
+ <li>
+   <a title="Change type" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++vivi/repository/@@typechange-box')">
+     <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/workflow.png" />
+     <span class="action-title">Change type</span>
+   </a>
+ </li>
+ </ul>
+ </li>
+
+         </ul>
+       </div>
+     </div>
+
+
+             <div id="content">
+
+
+
+     <form name="containerContentsForm" method="get" action="" id="folderActionForm">
+
+
+
+       <div id="content-actions">
+
+         <select id="add_menu" name="add_menu" onchange="add_content(this)">
+             <option value="">Add...</option>
+           <option value="http://localhost/++skin++vivi/repository/@@zeit.cms.repository.file.Add">File</option>
+           <option value="http://localhost/++skin++vivi/repository/@@zeit.cms.repository.folder.Add">Folder</option>
+         </select>
+
+     </div>
+
+         <div id="tableFilter">
+           Filter: <input name="tableFilter" type="text" value="" />
+         </div>
+
+
+       <div id="topcontent">
+
+
+ <table class="contentListing hasMetadata">
+   <thead>
+     <tr>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'type', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 </span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+       </th>
+       <th>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'author', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Author</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'title', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Title</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'filename', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 File name</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'modified', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Modified</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'ressort', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Ressort</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'page', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Page</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+       <th>
+
+             <span class="zc-table-sortable"
+                   onclick="javascript: onSortClickForm(
+                         'metadata', 'sort_on')"
+                   onMouseOver="javascript:
+                       this.className='sortable zc-table-sortable'"
+                   onMouseOut="javascript: this.className='zc-table-sortable'">
+                 Metadaten</span> <img src="http://localhost/++skin++vivi/@@/zc.table/sort_arrows.gif" class="sort-indicator" alt="(sortable)"/>
+
+       </th>
+     </tr>
+   </thead>
+   <tbody>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2006
+     </td>
+     <td>
+       <span class="filename">2006</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2006</span><span class="URL">http://localhost/++skin++vivi/repository/2006</span><span class="uniqueId">http://xml.zeit.de/2006/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2007
+     </td>
+     <td>
+       <span class="filename">2007</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2007</span><span class="URL">http://localhost/++skin++vivi/repository/2007</span><span class="uniqueId">http://xml.zeit.de/2007/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       2016
+     </td>
+     <td>
+       <span class="filename">2016</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">2016</span><span class="URL">http://localhost/++skin++vivi/repository/2016</span><span class="uniqueId">http://xml.zeit.de/2016/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       online
+     </td>
+     <td>
+       <span class="filename">online</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">online</span><span class="URL">http://localhost/++skin++vivi/repository/online</span><span class="uniqueId">http://xml.zeit.de/online/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       testing
+     </td>
+     <td>
+       <span class="filename">testing</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">testing</span><span class="URL">http://localhost/++skin++vivi/repository/testing</span><span class="uniqueId">http://xml.zeit.de/testing/</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+       <img src="http://localhost/++skin++vivi/@@/zeit-cms-repository-interfaces-IFolder-zmi_icon.png" alt="Folder" width="20" height="20" border="0" />
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+       zeit-magazin
+     </td>
+     <td>
+       <span class="filename">zeit-magazin</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">zeit-magazin</span><span class="URL">http://localhost/++skin++vivi/repository/zeit-magazin</span><span class="uniqueId">http://xml.zeit.de/zeit-magazin/</span>
+     </td>
+   </tr>
+   <tr class="odd">
+     <td>
+
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="filename">contentwithproperty</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">  None None None None None contentwithproperty</span><span class="URL">http://localhost/++skin++vivi/repository/contentwithproperty</span><span class="uniqueId">http://xml.zeit.de/contentwithproperty</span>
+     </td>
+   </tr>
+   <tr class="even">
+     <td>
+
+     </td>
+     <td>
+       <img src="http://localhost/++skin++vivi/fanstatic/zeit.cms/icons/lock-open.png" title="Not locked" class="lock-open" />
+     </td>
+     <td>
+       <div class="workflow-column"><span class="publish-state not-published" title="Not published"></span></div>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="filename">testcontent</span>
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+
+     </td>
+     <td>
+       <span class="SearchableText">  None None None None None testcontent</span><span class="URL">http://localhost/++skin++vivi/repository/testcontent</span><span class="uniqueId">http://xml.zeit.de/testcontent</span>
+     </td>
+   </tr>
+   </tbody>
+ </table>
+ <input type="hidden" name="sort_on:tokens" id="sort_on" value="" />
+
+
+
+       </div>
+       <div id="bottomcontent"></div>
+     </form>
+
+
+             </div>
+           </div>
+
+
+       </body>
+     </html>
+

Check warning on line 0 in vivi.core.src.zeit.cms.checkout.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.checkout.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for README.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 63, in README.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[12]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 64, in README.txt
Failed example:
    browser.url
Differences (ndiff with -expected +actual):
    - 'http://localhost/++skin++cms/repository/online/2007/01/rauchen-verbessert-die-welt/@@view.html'
    + 'http://localhost/++skin++cms/workingcopy/zope.user/rauchen-verbessert-die-welt/@@checkin?came_from=view.html&semantic_change=None'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 66, in README.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml version...
    - <!DOCTYPE ...
    ?           ^^^
    + <!DOCTYPE html
    ?           ^^^^
    -     <li class="message">"rauchen-verbessert-die-welt" has been checked in.</li>
    -     ...
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 114, in README.txt
Failed example:
    browser.open(browser.url)
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[29]>", line 1, in <module>
        browser.open(browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 123, in README.txt
Failed example:
    print(tb)
Differences (ndiff with -expected +actual):
      Traceback (most recent call last):
    - ...Object: <zeit.cms.repository.unknown.PersistentUnknownResource...>,
    -    name: '@@foobar.html'
    +   File "<doctest README.txt[32]>", line 2, in <module>
    +     browser.getLink('Checkout').click()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
    +     raise LinkNotFoundError()
    + zope.testbrowser.browser.LinkNotFoundError
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 161, in README.txt
Failed example:
    print(tb)
Differences (ndiff with -expected +actual):
      Traceback (most recent call last):
    - ...Object: <zeit.cms.repository.unknown.PersistentUnknownResource...>,
    -    name: '@@foobar.html'
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 580, in check_setattr
    +     Checker.check_setattr(self, object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x...>)
    + <BLANKLINE>
    + During handling of the above exception, another exception occurred:
    + <BLANKLINE>
    + Traceback (most recent call last):
    +   File "<doctest README.txt[38]>", line 2, in <module>
    +     browser.getLink('Checkin').click()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    +     self.browser.open(self.url, referrer=self.browser.url)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    +     return super().open(url, *args, **kw)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    +     self._processRequest(url, make_request)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    +     self._do_processRequest(url, make_request)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1023, in _do_processRequest
    +     resp = make_request(reqargs)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 249, in make_request
    +     return self.testapp.get(url, **args)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 324, in get
    +     return self.do_request(req, status=status,
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 92, in do_request
    +     response = super().do_request(req, status,
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 620, in do_request
    +     res = req.get_response(app, catch_exc_info=True)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1309, in send
    +     status, headers, app_iter, exc_info = self.call_application(
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
    +     app_iter = application(self.environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/lint.py", line 196, in lint_app
    +     iterator = application(environ, start_response_wrapper)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 176, in __call__
    +     return super().__call__(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/opentelemetry/instrumentation/wsgi/__init__.py", line 585, in __call__
    +     iterable = self.wsgi(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 157, in __call__
    +     return self.wsgi(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/publisher.py", line 228, in __call__
    +     return self.app(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/injector.py", line 66, in __call__
    +     response = request.get_response(self.app)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1313, in send
    +     status, headers, app_iter = self.call_application(
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
    +     app_iter = application(self.environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/wsgi/__init__.py", line 59, in __call__
    +     request = publish(request, handle_errors=handle_errors)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 145, in publish
    +     result = publication.callObject(request, obj)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/publication/zopepublication.py", line 207, in callObject
    +     return mapply(ob, request.getPositionalArguments(), request)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 118, in mapply
    +     return debug_call(obj, args)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 125, in debug_call
    +     return obj(*args)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/manager.py", line 146, in checkin
    +     dc.modified = datetime.now()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x...>)
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 189, in README.txt
Failed example:
    browser.open(url + '/@@checkin?redirect=False&event=')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[45]>", line 1, in <module>
        browser.open(url + '/@@checkin?redirect=False&event=')
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 190, in README.txt
Failed example:
    browser.contents
Differences (ndiff with -expected +actual):
    - 'http://localhost/++skin++cms/repository/online/2007/01/Somalia'
    + '<!DOCTYPE html\n    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n    <html xmlns="http://www.w3.org/1999/xhtml">\n      <head>\n        <title>Error</title>\n        <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />\n        <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />\n        \n      <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />\n<script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>\n<script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>\n<script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>\n<script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>\n<script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>\n<script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>\n<script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>\n<script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>\n<script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>\n      <body class="errorview">\n        <div id="content">\n        <div>\n\n    <h3>\n      A system error occurred.\n      The action you were trying to do could not be finished.\n    </h3>\n    <div class="error"><b>ForbiddenAttribute: modified</b></div>\n    <textarea>Traceback (most recent call last):\n  Module zeit.cms.checkout.browser.manager, line 139, in __call__\n    return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))\n  Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin\n    checked_in = self.manager.checkin(\n  Module zeit.cms.checkout.manager, line 146, in checkin\n    dc.modified = datetime.now()\n  Module zope.security.checker, line 582, in check_setattr\n    self._checker2.check_setattr(object, name)\nzope.security.interfaces.ForbiddenAttribute: (\'modified\', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)\n</textarea>\n  </div>\n        </div>\n      </body>\n    </html>\n  \n'
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13…, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for README.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 63, in README.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[12]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 64, in README.txt
Failed example:
    browser.url
Differences (ndiff with -expected +actual):
    - 'http://localhost/++skin++cms/repository/online/2007/01/rauchen-verbessert-die-welt/@@view.html'
    + 'http://localhost/++skin++cms/workingcopy/zope.user/rauchen-verbessert-die-welt/@@checkin?came_from=view.html&semantic_change=None'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 66, in README.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml version...
    - <!DOCTYPE ...
    ?           ^^^
    + <!DOCTYPE html
    ?           ^^^^
    -     <li class="message">"rauchen-verbessert-die-welt" has been checked in.</li>
    -     ...
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 114, in README.txt
Failed example:
    browser.open(browser.url)
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[29]>", line 1, in <module>
        browser.open(browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 123, in README.txt
Failed example:
    print(tb)
Differences (ndiff with -expected +actual):
      Traceback (most recent call last):
    - ...Object: <zeit.cms.repository.unknown.PersistentUnknownResource...>,
    -    name: '@@foobar.html'
    +   File "<doctest README.txt[32]>", line 2, in <module>
    +     browser.getLink('Checkout').click()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
    +     raise LinkNotFoundError()
    + zope.testbrowser.browser.LinkNotFoundError
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 161, in README.txt
Failed example:
    print(tb)
Differences (ndiff with -expected +actual):
      Traceback (most recent call last):
    - ...Object: <zeit.cms.repository.unknown.PersistentUnknownResource...>,
    -    name: '@@foobar.html'
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 580, in check_setattr
    +     Checker.check_setattr(self, object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x...>)
    + <BLANKLINE>
    + During handling of the above exception, another exception occurred:
    + <BLANKLINE>
    + Traceback (most recent call last):
    +   File "<doctest README.txt[38]>", line 2, in <module>
    +     browser.getLink('Checkin').click()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    +     self.browser.open(self.url, referrer=self.browser.url)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    +     return super().open(url, *args, **kw)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    +     self._processRequest(url, make_request)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    +     self._do_processRequest(url, make_request)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1023, in _do_processRequest
    +     resp = make_request(reqargs)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 249, in make_request
    +     return self.testapp.get(url, **args)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 324, in get
    +     return self.do_request(req, status=status,
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 92, in do_request
    +     response = super().do_request(req, status,
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 620, in do_request
    +     res = req.get_response(app, catch_exc_info=True)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1309, in send
    +     status, headers, app_iter, exc_info = self.call_application(
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
    +     app_iter = application(self.environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/lint.py", line 196, in lint_app
    +     iterator = application(environ, start_response_wrapper)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 176, in __call__
    +     return super().__call__(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/opentelemetry/instrumentation/wsgi/__init__.py", line 585, in __call__
    +     iterable = self.wsgi(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 157, in __call__
    +     return self.wsgi(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/publisher.py", line 228, in __call__
    +     return self.app(environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/injector.py", line 66, in __call__
    +     response = request.get_response(self.app)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1313, in send
    +     status, headers, app_iter = self.call_application(
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
    +     app_iter = application(self.environ, start_response)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/wsgi/__init__.py", line 59, in __call__
    +     request = publish(request, handle_errors=handle_errors)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 145, in publish
    +     result = publication.callObject(request, obj)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/publication/zopepublication.py", line 207, in callObject
    +     return mapply(ob, request.getPositionalArguments(), request)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 118, in mapply
    +     return debug_call(obj, args)
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 125, in debug_call
    +     return obj(*args)
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/manager.py", line 146, in checkin
    +     dc.modified = datetime.now()
    +   File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x...>)
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 189, in README.txt
Failed example:
    browser.open(url + '/@@checkin?redirect=False&event=')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[45]>", line 1, in <module>
        browser.open(url + '/@@checkin?redirect=False&event=')
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/README.txt", line 190, in README.txt
Failed example:
    browser.contents
Differences (ndiff with -expected +actual):
    - 'http://localhost/++skin++cms/repository/online/2007/01/Somalia'
    + '<!DOCTYPE html\n    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n    <html xmlns="http://www.w3.org/1999/xhtml">\n      <head>\n        <title>Error</title>\n        <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />\n        <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />\n        \n      <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />\n<link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />\n<script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>\n<script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>\n<script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>\n<script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>\n<script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>\n<script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>\n<script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>\n<script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>\n<script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>\n<script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>\n<script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>\n      <body class="errorview">\n        <div id="content">\n        <div>\n\n    <h3>\n      A system error occurred.\n      The action you were trying to do could not be finished.\n    </h3>\n    <div class="error"><b>ForbiddenAttribute: modified</b></div>\n    <textarea>Traceback (most recent call last):\n  Module zeit.cms.checkout.browser.manager, line 139, in __call__\n    return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))\n  Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin\n    checked_in = self.manager.checkin(\n  Module zeit.cms.checkout.manager, line 146, in checkin\n    dc.modified = datetime.now()\n  Module zope.security.checker, line 582, in check_setattr\n    self._checker2.check_setattr(object, name)\nzope.security.interfaces.ForbiddenAttribute: (\'modified\', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)\n</textarea>\n  </div>\n        </div>\n      </body>\n    </html>\n  \n'

Check warning on line 0 in vivi.core.src.zeit.cms.checkout.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.checkout.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for conflict.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 29, in conflict.txt
Failed example:
    a.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[7]>", line 1, in <module>
        a.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 30, in conflict.txt
Failed example:
    a.getLink('Checkout').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[8]>", line 1, in <module>
        a.getLink('Checkout').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 44, in conflict.txt
Failed example:
    b.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[13]>", line 1, in <module>
        b.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 48, in conflict.txt
Failed example:
    a.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[14]>", line 1, in <module>
        a.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 49, in conflict.txt
Failed example:
    print(a.contents)
Differences (ndiff with -expected +actual):
    - <...
    -   <h1>Conflict Error</h1>
    -   ...There was an error while checking in your version of <span>http://xml.zeit.de/testcontent</span>.
    -     ...
    -             <span>Last modified by</span>...
    -             <span>Date last checked out</span>...
    -   <form method="POST"
    -         action="http://localhost/++skin++cms/workingcopy/zope.user/testcontent/@@checkin-conflict-error">
    -     <input type="hidden" name="came_from" value="edit.html" />
    -   ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 64, in conflict.txt
Failed example:
    a.getControl('Cancel').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[16]>", line 1, in <module>
        a.getControl('Cancel').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Cancel'
    (there are no form items in the HTML)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 65, in conflict.txt
Failed example:
    print(a.url)
Differences (ndiff with -expected +actual):
    - http://localhost/++skin++cms/workingcopy/zope.user/testcontent/@@edit.html
    + http://localhost/++skin++cms/workingcopy/zope.user/testcontent/@@checkin?came_from=edit.html&semantic_change=None
    ?                                                                  ++++++++++++++++++         +++++++++++++++++++++
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 70, in conflict.txt
Failed example:
    a.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[18]>", line 1, in <module>
        a.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 71, in conflict.txt
Failed example:
    print(a.contents)
Differences (ndiff with -expected +actual):
    - <...
    -   <h1>Conflict Error</h1>
    -   ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 75, in conflict.txt
Failed example:
    a.getControl('Checkin correction anyway').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[20]>", line 1, in <module>
        a.getControl('Checkin correction anyway').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Checkin correction anyway'
    (there are no form items in the HTML)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 76, in conflict.txt
Failed example:
    print(a.contents)
Differences (ndiff with -expected +actual):
    - <...
    -     <li class="message">"testcontent" has been checked in. Conflicts were
    -     ignored.</li>
    -     ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link re…template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 75, in conflict.txt
Failed example:
    a.getControl('Checkin correction anyway').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[20]>", line 1, in <module>
        a.getControl('Checkin correction anyway').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Checkin correction anyway'
    (there are no form items in the HTML)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 76, in conflict.txt
Failed example:
    print(a.contents)
Differences (ndiff with -expected +actual):
    - <...
    -     <li class="message">"testcontent" has been checked in. Conflicts were
    -     ignored.</li>
    -     ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 85, in conflict.txt
Failed example:
    a.getLink('Checkout').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[22]>", line 1, in <module>
        a.getLink('Checkout').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 87, in conflict.txt
Failed example:
    b.getControl('Steal').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[24]>", line 1, in <module>
        b.getControl('Steal').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Steal'
    available items:
      <HiddenControl(form.locked.used=) (readonly)>
      <SelectControl(form.locked=[*, ambiguous])>
      <Item name='on' id='form.locked' checked='checked' name='form.locked' type='checkbox' id='form.locked' value='on'>
      <SubmitControl(form.actions.unlock=Unlock)>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 89, in conflict.txt
Failed example:
    b.getLink('Checkout').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[26]>", line 1, in <module>
        b.getLink('Checkout').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 90, in conflict.txt
Failed example:
    b.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[27]>", line 1, in <module>
        b.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 91, in conflict.txt
Failed example:
    a.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[28]>", line 1, in <module>
        a.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 92, in conflict.txt
Failed example:
    print(a.contents)
Differences (ndiff with -expected +actual):
    - <...
    -   <h1>Conflict Error</h1>
    -   ...
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 96, in conflict.txt
Failed example:
    a.getControl('Delete workingcopy').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest conflict.txt[30]>", line 1, in <module>
        a.getControl('Delete workingcopy').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Delete workingcopy'
    (there are no form items in the HTML)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/conflict.txt", line 97, in conflict.txt
Failed example:
    print(a.url)
Differences (ndiff with -expected +actual):
    - http://localhost/++skin++cms/repository/testcontent
    + http://localhost/++skin++cms/workingcopy/zope.user/testcontent/@@checkin?came_from=edit.html&semantic_change=None

Check warning on line 0 in vivi.core.src.zeit.campus.browser.tests.test_gallery.ZCOGalleryCRUD

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_zco_gallery_has_facebook_campus_fields (vivi.core.src.zeit.campus.browser.tests.test_gallery.ZCOGalleryCRUD) failed

deployment/work/source/report.xml [took 3s]
Raw output
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/campus/browser/tests/test_gallery.py", line 26, in test_zco_gallery_has_facebook_campus_fields
    b.getLink('Checkin').click()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    self.browser.open(self.url, referrer=self.browser.url)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    return super().open(url, *args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    self._do_processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
    self._checkStatus()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
    raise HTTPError(self.url, code, msg, [], None)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.cms.testcontenttype.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.testcontenttype.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt) failed

deployment/work/source/report.xml [took 2s]
Raw output
AssertionError: Failed doctest test for README.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt", line 132, in README.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[44]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for README.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testcontenttype/README.txt", line 132, in README.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[44]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.cms.admin.browser.tests.test_admin.TestAdminMenu

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_admin_menu_co_has_caching_time_field (vivi.core.src.zeit.cms.admin.browser.tests.test_admin.TestAdminMenu) failed

deployment/work/source/report.xml [took 6s]
Raw output
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/admin/browser/tests/test_admin.py", line 55, in test_admin_menu_co_has_caching_time_field
    b.getLink('Checkin').click()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    self.browser.open(self.url, referrer=self.browser.url)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    return super().open(url, *args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    self._do_processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
    self._checkStatus()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
    raise HTTPError(self.url, code, msg, [], None)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.cms.workflow.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.workflow.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for modified.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt", line 49, in modified.txt
Failed example:
    wf
Differences (ndiff with -expected +actual):
    - DateTime(..., tzinfo=Timezone('UTC'))
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for modified.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/modified.txt", line 49, in modified.txt
Failed example:
    wf
Differences (ndiff with -expected +actual):
    - DateTime(..., tzinfo=Timezone('UTC'))

Check warning on line 0 in vivi.core.src.zeit.cms.workflow.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.workflow.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for status.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 32, in status.txt
Failed example:
    times.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 40, in status.txt
Failed example:
    zeit.cms.workflow.mock._publish_times[content.uniqueId] = (
        times.modified + datetime.timedelta(seconds=5))
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest status.txt[15]>", line 2, in <module>
        times.modified + datetime.timedelta(seconds=5))
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'datetime.timedelta'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 49, in status.txt
Failed example:
    zeit.cms.workflow.mock._publish_times[content.uniqueId] = (
        times.modified + datetime.timedelta(seconds=-5))
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest status.txt[17]>", line 2, in <module>
        times.modified + datetime.timedelta(seconds=-5))
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'datetime.timedelta'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 51, in status.txt
Failed example:
    status.published
Differences (ndiff with -expected +actual):
    - 'published-with-changes'
    + 'published'
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for status.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 32, in status.txt
Failed example:
    times.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 40, in status.txt
Failed example:
    zeit.cms.workflow.mock._publish_times[content.uniqueId] = (
        times.modified + datetime.timedelta(seconds=5))
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest status.txt[15]>", line 2, in <module>
        times.modified + datetime.timedelta(seconds=5))
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'datetime.timedelta'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 49, in status.txt
Failed example:
    zeit.cms.workflow.mock._publish_times[content.uniqueId] = (
        times.modified + datetime.timedelta(seconds=-5))
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest status.txt[17]>", line 2, in <module>
        times.modified + datetime.timedelta(seconds=-5))
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'datetime.timedelta'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workflow/status.txt", line 51, in status.txt
Failed example:
    status.published
Differences (ndiff with -expected +actual):
    - 'published-with-changes'
    + 'published'

Check warning on line 0 in vivi.core.src.zeit.cms.workingcopy.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.workingcopy.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt) failed

deployment/work/source/report.xml [took 1s]
Raw output
AssertionError: Failed doctest test for README.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 63, in README.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[14]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 67, in README.txt
Failed example:
    browser.getLink('Checkout').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[15]>", line 1, in <module>
        browser.getLink('Checkout').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 68, in README.txt
Failed example:
    browser.getLink('Edited documents').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[16]>", line 1, in <module>
        browser.getLink('Edited documents').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 69, in README.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml version...
    - <!DOCTYPE ...
    ?           ^^^
    + <!DOCTYPE html
    ?           ^^^^
    - ...Somalia...
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml">
    +       <head>
    +         <title>Error</title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="errorview">
    +         <div id="content">
    +         <div>
    + <BLANKLINE>
    +     <h3>
    +       A system error occurred.
    +       The action you were trying to do could not be finished.
    +     </h3>
    +     <div class="error"><b>ForbiddenAttribute: modified</b></div>
    +     <textarea>Traceback (most recent call last):
    +   Module zeit.cms.checkout.browser.manager, line 139, in __call__
    +     return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
    +   Module zeit.cms.checkout.browser.manager, line 73, in perform_checkin
    +     checked_in = self.manager.checkin(
    +   Module zeit.cms.checkout.manager, line 146, in checkin
    +     dc.modified = datetime.now()
    +   Module zope.security.checker, line 582, in check_setattr
    +     self._checker2.check_setattr(object, name)
    + zope.security.interfaces.ForbiddenAttribute: ('modified', &lt;zeit.cms.content.dublincore.LocalDCTimes object at 0x...&gt;)
    + </textarea>
    +   </div>
    +         </div>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 76, in README.txt
Failed example:
    browser.getLink('Somalia').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[18]>", line 1, in <module>
        browser.getLink('Somalia').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 77, in README.txt
Failed example:
    browser.getLink('Cancel workingcopy')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[19]>", line 1, in <module>
        browser.getLink('Cancel workingcopy')
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 111, in README.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <span class="nextURL">http://localhost/++skin++cms/repository/online/2007/01/Somalia</span>
    ?                                                                             --------
    + <span class="nextURL">http://localhost/++skin++cms/repository/online/2007/01</span>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 158, in README.txt
Failed example:
    browser.open(
        'http://localhost/++skin++cms/repository/online/2007/01/Somalia')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[42]>", line 1, in <module>
        browser.open(
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 404: Not Found
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 160, in README.txt
Failed example:
    browser.getLink('Checkout').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[43]>", line 1, in <module>
        browser.getLink('Checkout').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 165, in README.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <...
    + <?xml version="1.0"?>
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
    +       <head>
    +         <script type="text/javascript">
    +           var application_url = 'http://localhost/++skin++cms';
    +           var context_url = 'http://localhost/++skin++cms/workingcopy/zope.user/studiVZ';
    +         </script>
    + <BLANKLINE>
    +         <title>
    + <BLANKLINE>
    +             studiVZ –
    +             Zeit CMS
    + <BLANKLINE>
    +         </title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="type-unknown location-workingcopy section-IZONSection environment-testing">
    +         <div id="visualContentSeparator" class="sidebar-expanded">
    +           </div>
    +           <div id="header" class="sidebar-expanded">
    +           <ul id="breadcrumbs">
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository" title="repository">repository</a>
    +               <span class="uniqueId">http://xml.zeit.de/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online" title="online">online</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007" title="2007">2007</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007/01" title="01">01</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/01/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007/01/studiVZ" title="studiVZ">studiVZ</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/01/studiVZ</span>
    + <BLANKLINE>
    +             </li>
    +           </ul>
    +           <ul id="main-navigation"><li class="selected">
    +   <a href="http://localhost/++skin++cms/@@index.html">
    +     <span>CMS</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + </ul>
    + <BLANKLINE>
    +             <div class="GlobalInformation"><div id="messages_container">
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages_toggle" class="staticErrorText haveMessages">
    +         Notices
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages" class="haveMessages">
    +       <ul>
    +         <li class="message">"studiVZ" has been checked out.</li>
    +       </ul>
    + <BLANKLINE>
    +       <p id="messages_counter">
    +           Hides automatically
    +       </p>
    +       <div class="hideText">
    +         hide
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + </div>
    + <BLANKLINE>
    + <div id="user-information">
    +   User
    +   | <a href="http://localhost/++skin++cms/@@logout.html">Logout</a>
    + </div>
    + </div>
    +         </div>
    + <BLANKLINE>
    +         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
    +       Clipboard
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="ClipboardPanelContent">
    +     <div id="clipboardcontents" class="Tree">
    + <BLANKLINE>
    +   <ul>
    + <BLANKLINE>
    +       <li class="Root type-" uniqueid="">
    +         <p>
    +         <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
    +         <span class="uniqueId">None</span>
    +         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
    +           <img alt="Delete" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +           <span class="action-title">Remove</span>
    +         </a>
    +       </p>
    + <BLANKLINE>
    +       </li>
    + <BLANKLINE>
    +   </ul>
    + <BLANKLINE>
    + </div>
    +     <form action="">
    +       <p>
    +         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
    +       </p>
    +       <div id="clip-add-folder-box">
    +         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
    +         <br />
    +         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
    +         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
    +       </div>
    +     </form>
    +     <script type="text/javascript">
    +         var clipboarddnd = new zeit.cms.Clipbo…664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="type-unknown location-workingcopy section-IZONSection environment-testing">
    +         <div id="visualContentSeparator" class="sidebar-expanded">
    +           </div>
    +           <div id="header" class="sidebar-expanded">
    +           <ul id="breadcrumbs">
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository" title="repository">repository</a>
    +               <span class="uniqueId">http://xml.zeit.de/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online" title="online">online</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007" title="2007">2007</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007/01" title="01">01</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/01/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/online/2007/01/studiVZ" title="studiVZ">studiVZ</a>
    +               <span class="uniqueId">http://xml.zeit.de/online/2007/01/studiVZ</span>
    + <BLANKLINE>
    +             </li>
    +           </ul>
    +           <ul id="main-navigation"><li class="selected">
    +   <a href="http://localhost/++skin++cms/@@index.html">
    +     <span>CMS</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + </ul>
    + <BLANKLINE>
    +             <div class="GlobalInformation"><div id="messages_container">
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages_toggle" class="staticErrorText haveMessages">
    +         Notices
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages" class="haveMessages">
    +       <ul>
    +         <li class="message">"studiVZ" has been checked out.</li>
    +       </ul>
    + <BLANKLINE>
    +       <p id="messages_counter">
    +           Hides automatically
    +       </p>
    +       <div class="hideText">
    +         hide
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + </div>
    + <BLANKLINE>
    + <div id="user-information">
    +   User
    +   | <a href="http://localhost/++skin++cms/@@logout.html">Logout</a>
    + </div>
    + </div>
    +         </div>
    + <BLANKLINE>
    +         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
    +       Clipboard
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="ClipboardPanelContent">
    +     <div id="clipboardcontents" class="Tree">
    + <BLANKLINE>
    +   <ul>
    + <BLANKLINE>
    +       <li class="Root type-" uniqueid="">
    +         <p>
    +         <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
    +         <span class="uniqueId">None</span>
    +         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
    +           <img alt="Delete" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +           <span class="action-title">Remove</span>
    +         </a>
    +       </p>
    + <BLANKLINE>
    +       </li>
    + <BLANKLINE>
    +   </ul>
    + <BLANKLINE>
    + </div>
    +     <form action="">
    +       <p>
    +         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
    +       </p>
    +       <div id="clip-add-folder-box">
    +         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
    +         <br />
    +         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
    +         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
    +       </div>
    +     </form>
    +     <script type="text/javascript">
    +         var clipboarddnd = new zeit.cms.Clipboard(
    +           'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
    +         clipboarddnd.connectDNDHandlers();
    +         clipboarddnd.enableAdding();
    +         </script>
    + <BLANKLINE>
    +   </div>
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user">
    +       Edited documents
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="WorkingcopyPanelContent">
    +     <div id="workingcopycontents">
    + <BLANKLINE>
    + <BLANKLINE>
    +       <ul class="contentListing">
    +         <li class="draggable-content type-unknown">
    +           <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IUnknownResource-zmi_icon.png" alt="UnknownResource" width="20" height="20" border="0" />
    -   <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@edit.html">studiVZ</a>...
    ?                                                                                               ---
    +           <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@edit.html">studiVZ</a>
    ? ++++++++
    +           <span class="uniqueId">http://xml.zeit.de/online/2007/01/studiVZ</span>
    +         </li>
    +       </ul>
    +     </div>
    +   </div>
    + </div>
    + </div>
    +         <div id="sidebar-dragger" class="sidebar-expanded">
    +         </div>
    + <BLANKLINE>
    +         <script type="text/javascript">
    +           connect(window, 'onload', function(event) {
    +             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++cms');
    +             panel_handler.registerPanelHandlers();
    +             });
    + <BLANKLINE>
    +             connect(window, 'onload', function(event) {
    +                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++cms');
    +                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
    +                         'toggle');
    +             });
    +             </script>
    + <BLANKLINE>
    + <BLANKLINE>
    +           <div id="visualContentWrapper" class="sidebar-expanded">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div class="contextViewsAndActions">
    +       <div class="context-views">
    +         <ul>
    + <BLANKLINE>
    +   <li class="view selected">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/view.html" title="View">View</a>
    +   </li>
    + <BLANKLINE>
    +   <li class="source ">
    -   <a href="http://localhost/++skin++cms/workingcopy/zope.user/Somalia/@@edit.html">Somalia</a>...
    ?                                                               ^^^^^ ^                ^^^^^    ---
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@text_edit.html" title="Source">Source</a>
    ? ++                                                              ^^^^ ^^   +++++          +++++++++++++++   ^^^^
    +   </li>
    + <BLANKLINE>
    +   <li class="references ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@references.html" title="References">References</a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +         </ul>
    + <BLANKLINE>
    +       </div>
    +       <div class="context-actions">
    +         <ul>
    +           <li>
    +   <a title="Checkin ^I" accesskey="i" href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@checkin?came_from=view.html&amp;semantic_change=None" id="menuitem.1708015515.3777702" rel="zeit.cms.follow_with_lock">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/checkin.png" />
    +     <span class="action-title">Checkin ^I</span>
    +   </a>
    +   <script language="javascript">
    +           new zeit.cms.ClickOnceAction('menuitem.1708015515.3777702');
    +           </script>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <li class="preview ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
    +       <span class="action-title">Preview</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    +   <li class="live ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
    +       <span class="action-title">Live</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li class="secondary-actions">
    +   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015515.3778543')">
    +     <img alt="actionmenuicon" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/submenu.png" />
    +   </a>
    +   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015515.3778543">
    + <li>
    +   <a title="Cancel workingcopy" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/workingcopy/zope.user/studiVZ/@@delete.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/cross-large.png" />
    +     <span class="action-title">Cancel workingcopy</span>
    +   </a>
    + </li>
    + </ul>
    + </li>
    + <BLANKLINE>
    +         </ul>
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +             <div id="content">
    + <BLANKLINE>
    + <BLANKLINE>
    +     Unbekannte Resource: Es gibt keinen speziellen Editor für unbekannte
    +     Resourcen. Die 100 ersten Zeichen des Inhalts der Resource folgen:
    + <BLANKLINE>
    +     <pre>&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
    + &lt;article&gt;
    +   &lt;head&gt;
    + &lt;!-- CMS/document --&gt;
    +     &lt;attribute …</pre>
    + <BLANKLINE>
    +     Webdav properties:
    + <BLANKLINE>
    +     <pre>{('date_last_checkout', 'http://namespaces.zeit.de/CMS/document'): '2024-02-15T16:45:15.336983+00:00',
    +  ('getlastmodified', 'DAV:'): 'Fri, 07 Mar 2008 12:47:16 GMT',
    +  ('type', 'http://namespaces.zeit.de/CMS/meta'): 'unknown'}</pre>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 191, in README.txt
Failed example:
    somalia = workingcopy['Somalia']
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[50]>", line 1, in <module>
        somalia = workingcopy['Somalia']
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/container/btree.py", line 79, in __getitem__
        return self._SampleContainer__data[key]
    KeyError: 'Somalia'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 192, in README.txt
Failed example:
    location = zope.component.getMultiAdapter(
        (somalia, source),
        zeit.cms.browser.interfaces.IDefaultBrowsingLocation)
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[51]>", line 2, in <module>
        (somalia, source),
    NameError: name 'somalia' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 195, in README.txt
Failed example:
    location.uniqueId
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[52]>", line 1, in <module>
        location.uniqueId
    NameError: name 'location' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 202, in README.txt
Failed example:
    somalia.uniqueId = 'http://xml.zeit.de/online/2009/15'
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[53]>", line 1, in <module>
        somalia.uniqueId = 'http://xml.zeit.de/online/2009/15'
    NameError: name 'somalia' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 207, in README.txt
Failed example:
    location = zope.component.getMultiAdapter(
        (somalia, source),
        zeit.cms.browser.interfaces.IDefaultBrowsingLocation)
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[54]>", line 2, in <module>
        (somalia, source),
    NameError: name 'somalia' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 210, in README.txt
Failed example:
    location.uniqueId
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[55]>", line 1, in <module>
        location.uniqueId
    NameError: name 'location' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 225, in README.txt
Failed example:
    browser.open('http://localhost/++skin++cms/workingcopy/zope.user/'
        'Somalia/@@view.html')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[58]>", line 1, in <module>
        browser.open('http://localhost/++skin++cms/workingcopy/zope.user/'
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 404: Not Found
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 227, in README.txt
Failed example:
    browser.getLink('Source').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[59]>", line 1, in <module>
        browser.getLink('Source').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 228, in README.txt
Failed example:
    browser.getControl('Document content').value = 'no more!'
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[60]>", line 1, in <module>
        browser.getControl('Document content').value = 'no more!'
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Document content'
    available items:
      <SubmitControl(add-clip=Clip hinzufügen...)>
      <TextControl(title=)>
      <SubmitControl(add_clip=Clip anlegen)>
      <SubmitControl(cancel=Abrechen)>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 229, in README.txt
Failed example:
    browser.getControl('Apply').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[61]>", line 1, in <module>
        browser.getControl('Apply').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 391, in getControl
        control = disambiguate(intermediate, msg, index,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 1350, in disambiguate
        raise LookupError(msg)
    LookupError: label 'Apply'
    available items:
      <SubmitControl(add-clip=Clip hinzufügen...)>
      <TextControl(title=)>
      <SubmitControl(add_clip=Clip anlegen)>
      <SubmitControl(cancel=Abrechen)>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 234, in README.txt
Failed example:
    browser.getLink('Preview').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[63]>", line 1, in <module>
        browser.getLink('Preview').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 235, in README.txt
Failed example:
    browser.headers['Location']
Differences (ndiff with -expected +actual):
    - 'http://localhost/preview-prefix/wcpreview/zope.user/Somalia'
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 240, in README.txt
Failed example:
    browser.open('http://localhost/++skin++cms/workingcopy/zope.user/'
        'Somalia/@@view.html')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[65]>", line 1, in <module>
        browser.open('http://localhost/++skin++cms/workingcopy/zope.user/'
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 404: Not Found
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 242, in README.txt
Failed example:
    url = browser.getLink('Preview').url
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[66]>", line 1, in <module>
        url = browser.getLink('Preview').url
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 338, in getLink
        raise LinkNotFoundError()
    zope.testbrowser.browser.LinkNotFoundError
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 243, in README.txt
Failed example:
    browser.open(url + '?foo=bar')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest README.txt[67]>", line 1, in <module>
        browser.open(url + '?foo=bar')
    NameError: name 'url' is not defined
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/workingcopy/browser/README.txt", line 244, in README.txt
Failed example:
    browser.headers['Location']
Differences (ndiff with -expected +actual):
    - 'http://localhost/preview-prefix/wcpreview/zope.user/Somalia?foo=bar'

Check warning on line 0 in vivi.core.src.zeit.campus.browser.tests.test_infobox.ZCOInfoboxDebate

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_zco_infobox_has_debate_field (vivi.core.src.zeit.campus.browser.tests.test_infobox.ZCOInfoboxDebate) failed

deployment/work/source/report.xml [took 0s]
Raw output
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/campus/browser/tests/test_infobox.py", line 20, in test_zco_infobox_has_debate_field
    b.getLink('Checkin').click()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    self.browser.open(self.url, referrer=self.browser.url)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    return super().open(url, *args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    self._do_processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
    self._checkStatus()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
    raise HTTPError(self.url, code, msg, [], None)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.campus.browser.tests.test_link.ZCOLinkCRUD

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_zmo_link_has_facebook_campus_fields (vivi.core.src.zeit.campus.browser.tests.test_link.ZCOLinkCRUD) failed

deployment/work/source/report.xml [took 1s]
Raw output
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/campus/browser/tests/test_link.py", line 24, in test_zmo_link_has_facebook_campus_fields
    b.getLink('Checkin').click()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    self.browser.open(self.url, referrer=self.browser.url)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    return super().open(url, *args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    self._do_processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
    self._checkStatus()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
    raise HTTPError(self.url, code, msg, [], None)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.cms.content.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.content.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for dublincore.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 19, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 38, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 49, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
    ?             ^  ^  ^  ^^  ^^  ^^
    + DateTime(2009, 1, 1, 0, 0, 0, tzinfo=Timezone('UTC'))
    ?             ^  ^  ^  ^  ^  ^
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for dublincore.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 19, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 38, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/content/dublincore.txt", line 49, in dublincore.txt
Failed example:
    dc.modified
Differences (ndiff with -expected +actual):
    - DateTime(2008, 3, 7, 12, 47, 16, tzinfo=Timezone('UTC'))
    ?             ^  ^  ^  ^^  ^^  ^^
    + DateTime(2009, 1, 1, 0, 0, 0, tzinfo=Timezone('UTC'))
    ?             ^  ^  ^  ^  ^  ^

Check warning on line 0 in vivi.core.src.zeit.cms.repository.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.cms.repository.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt) failed

deployment/work/source/report.xml [took 3s]
Raw output
AssertionError: Failed doctest test for file.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 136, in file.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 580, in check_setattr
        Checker.check_setattr(self, object, name)
    zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x7f48b5504ac0>)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest file.txt[31]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1023, in _do_processRequest
        resp = make_request(reqargs)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 249, in make_request
        return self.testapp.get(url, **args)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 324, in get
        return self.do_request(req, status=status,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 92, in do_request
        response = super().do_request(req, status,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 620, in do_request
        res = req.get_response(app, catch_exc_info=True)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1309, in send
        status, headers, app_iter, exc_info = self.call_application(
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
        app_iter = application(self.environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/lint.py", line 196, in lint_app
        iterator = application(environ, start_response_wrapper)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 176, in __call__
        return super().__call__(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/opentelemetry/instrumentation/wsgi/__init__.py", line 585, in __call__
        iterable = self.wsgi(environ, start_response)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 157, in __call__
        return self.wsgi(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/publisher.py", line 228, in __call__
        return self.app(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/injector.py", line 66, in __call__
        response = request.get_response(self.app)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1313, in send
        status, headers, app_iter = self.call_application(
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
        app_iter = application(self.environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/wsgi/__init__.py", line 59, in __call__
        request = publish(request, handle_errors=handle_errors)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 145, in publish
        result = publication.callObject(request, obj)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/publication/zopepublication.py", line 207, in callObject
        return mapply(ob, request.getPositionalArguments(), request)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 118, in mapply
        return debug_call(obj, args)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 125, in debug_call
        return obj(*args)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 139, in __call__
        return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 73, in perform_checkin
        checked_in = self.manager.checkin(
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/manager.py", line 146, in checkin
        dc.modified = datetime.now()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 582, in check_setattr
        self._checker2.check_setattr(object, name)
    zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x7f48b5504ac0>)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 137, in file.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml ...
    -  <title>... View file </title>
    -  ...
    -  <div><dl>
    + <?xml version="1.0"?>
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
    +       <head>
    +         <script type="text/javascript">
    +           var application_url = 'http://localhost/++skin++cms';
    +           var context_url = 'http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG';
    +         </script>
    + <BLANKLINE>
    +         <title>
    + <BLANKLINE>
    +             DSC00109_2.JPG –
    +             Edit file
    + <BLANKLINE>
    +         </title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="type-file location-workingcopy section-IZONSection environment-testing">
    +         <div id="visualContentSeparator" class="sidebar-expanded">
    +           </div>
    +           <div id="header" class="sidebar-expanded">
    +           <ul id="breadcrumbs">
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository" title="repository">repository</a>
    +               <span class="uniqueId">http://xml.zeit.de/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/2006" title="2006">2006</a>
    +               <span class="uniqueId">http://xml.zeit.de/2006/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG" title="DSC00109_2.JPG">DSC00109_2.JPG</a>
    +               <span class="uniqueId">http://xml.zeit.de/2006/DSC00109_2.JPG</span>
    + <BLANKLINE>
    +             </li>
    +           </ul>
    +           <ul id="main-navigation"><li class="selected">
    +   <a href="http://localhost/++skin++cms/@@index.html">
    +     <span>CMS</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + </ul>
    + <BLANKLINE>
    +             <div class="GlobalInformation"><div id="messages_container">
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages_toggle" class="staticErrorText">
    +         Notices
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages" class="noMessages">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + </div>
    + <BLANKLINE>
    + <div id="user-information">
    +   User
    +   | <a href="http://localhost/++skin++cms/@@logout.html">Logout</a>
    + </div>
    + </div>
    +         </div>
    + <BLANKLINE>
    +         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
    +       Clipboard
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="ClipboardPanelContent">
    +     <div id="clipboardcontents" class="Tree">
    + <BLANKLINE>
    +   <ul>
    + <BLANKLINE>
    +       <li class="Root type-" uniqueid="">
    +         <p>
    +         <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
    +         <span class="uniqueId">None</span>
    +         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
    +           <img alt="Delete" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +           <span class="action-title">Remove</span>
    +         </a>
    +       </p>
    + <BLANKLINE>
    +       </li>
    + <BLANKLINE>
    +   </ul>
    + <BLANKLINE>
    + </div>
    +     <form action="">
    +       <p>
    +         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
    +       </p>
    +       <div id="clip-add-folder-box">
    +         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
    +         <br />
    +         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
    +         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
    +       </div>
    +     </form>
    +     <script type="text/javascript">
    +         var clipboarddnd = new zeit.cms.Clipboard(
    +           'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
    +         clipboarddnd.connectDNDHandlers();
    +         clipboarddnd.enableAdding();
    +         </script>
    + <BLANKLINE>
    +   </div>
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user">
    +       Edited documents
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="WorkingcopyPanelContent">
    +     <div id="workingcopycontents">
    + <BLANKLINE>
    + <BLANKLINE>
    +       <ul class="contentListing">
    +         <li class="draggable-content type-file">
    +           <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IFile-zmi_icon.png" alt="File" width="18" height="18" border="0" />
    +           <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@edit.html">DSC00109_2.JPG</a>
    +           <span class="uniqueId">http://xml.zeit.de/2006/DSC00109_2.JPG</span>
    +         </li>
    +       </ul>
    +     </div>
    +   </div>
    + </div>
    + </div>
    +         <div id="sidebar-dragger" class="sidebar-expanded">
    +         </div>
    + <BLANKLINE>
    +         <script type="text/javascript">
    +           connect(window, 'onload', function(event) {
    +             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++cms');
    +             panel_handler.registerPanelHandlers();
    +             });
    + <BLANKLINE>
    +             connect(window, 'onload', function(event) {
    +                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++cms');
    +                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
    +                         'toggle');
    +             });
    +             </script>
    + <BLANKLINE>
    + <BLANKLINE>
    +           <div id="visualContentWrapper" class="sidebar-expanded">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div class="contextViewsAndActions">
    +       <div class="context-views">
    +         <ul>
    + <BLANKLINE>
    +   <li class="edit selected">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@edit.html" title="Edit">Edit</a>
    +   </li>
    + <BLANKLINE>
    +   <li class="references ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@references.html" title="References">References</a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +         </ul>
    + <BLANKLINE>
    +       </div>
    +       <div class="context-actions">
    +         <ul>
    +           <li>
    +   <a title="Checkin ^I" accesskey="i" href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@checkin?came_from=edit.html&amp;semantic_change=None" id="menuitem.1708015522.739534" rel="zeit.cms.follow_with_lock">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/checkin.png" />
    +     <span class="action-title">Checkin ^I</span>
    +   </a>
    +   <script language="javascript">
    +           new zeit.cms.ClickOnceAction('menuitem.1708015522.739534');
    +           </script>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <li class="preview ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
    +       <span class="action-title">Preview</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    +   <li class="live ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
    +       <span class="action-title">Live</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li class="secondary-actions">
    +   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015522.7396145')">
    +     <img alt="actionmenuicon" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/submenu.png" />
    +   </a>
    +   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015522.7396145">
    + <li>
    +   <a title="Cancel workingcopy" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@delete.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/cross-large.png" />
    +     <span class="action-title">Cancel workingcopy</span>
    +   </a>
    + </li>
    + </ul>
    + </li>
    + <BLANKLINE>
    +         </ul>
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +             <div id="content">
    + <BLANKLINE>
    +     <div class="file-details"><dl>
        <dt>File name</dt>
        <dd>
    -     <a href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG">DSC00109_2.JPG</a>
    ?                                           ^^^^^^^    ^^^^
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG">DSC00109_2.JPG</a>
    ?                                           ^  +++++++  ^^^^^^^^^
        </dd>
        <dt>Content type</dt>
        <dd>text/plain</dd>
        <dt>Size</dt>
        <dd>
          23 bytes
        </dd>
      </dl>
    - ...
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <div id="edit-form" class="grouped-form">
    +     <form action="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@edit.html" method="post" class="edit-form" enctype="multipart/form-data" id="zc.page.browser_form">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +       <div class="field-group">
    + <BLANKLINE>
    +           <fieldset>
    +             <legend></legend>
    +             <div>
    + <BLANKLINE>
    + <BLANKLINE>
    +                 <div class="field fieldname-blob required fieldtype-file">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <label for="form.blob">
    +                     <span>Upload new file</span>
    +                     <span class="annotation">
    +                       (required)
    +                     </span>
    +                   </label>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <div class="hint"></div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <div class="widget"><input class="hiddenType" id="form.blob.used" name="form.blob.used" type="hidden" value="" /> <input class="fileType" id="form.blob" name="form.blob" size="20" type="file"  /></div>
    +                 </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </fieldset>
    + <BLANKLINE>
    +       </div>
    + <BLANKLINE>
    +       <div id="actionsView">
    +         <span class="actionButtons">
    +           <input type="submit" id="form.actions.apply" name="form.actions.apply" value="Apply" class="button" />
    +         </span>
    +       </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </form>
    +   </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 159, in file.txt
Failed example:
    print(browser.headers)
Differences (ndiff with -expected +actual):
      Status: 200 Ok
      Content-Disposition: attachment; filename="DSC00109_2.JPG"
    - Content-Length: 23
    ?                  ^
    + Content-Length: 882409
    ?                 ++ ^^^
    - Content-Type: text/plain
    - ...
    + Content-Type: image/jpeg
    + X-Powered-By: Zope (www.zope.org), Python (www.python.org)
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 165, in file.txt
Failed example:
    browser.contents
Differences (ndiff with -expected +actual):
    - b'Mary had a little lamb.'
    + b'\xff\xd8\xff\xe1\x0c\xdaExif\x00\x00MM\x00*\x00\x00\x00\x08\x00\x0c\x01\x0f\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x9e\x01\x10\x00\x02\x00\x00\x00\x06\x00\x00\x00\xac\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x00\xb2\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x00\xba\x01(\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x011\x00\x02\x00\x00\x00\x10\x00\x00\x00\xc2\x012\x00\x02\x00\x00\x00\x14\x00\x00\x00\xd2\x01<\x00\x02\x00\x00\x00\x10\x00\x00\x00\xe6\x02\x13\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00\xf6\x00\x00\x01\xc0Sony Ericsson\x00K800i\x00\x00H\x00\x00\x00\x01\x00\x00\x00H\x00\x00\x00\x01\x00\x00QuickTime 7.1.5\x002007:03:18 13:43:21\x00Mac OS X 10.4.9\x00\x00\x0b\x82\x9a\x00\x05\x00\x00\x00\x01\x00\x00\x01\x80\x82\x9d\x00\x05\x00\x00\x00\x01\x00\x00\x01\x88\x88\'\x00\x03\x00\x00\x00\x01\x00P\x00\x00\x90\x00\x00\x07\x00\x00\x00\x040220\x90\x03\x00\x02\x00\x00\x00\x14\x00\x00\x01\x90\x90\x04\x00\x02\x00\x00\x00\x14\x00\x00\x01\xa4\x92\x04\x00\n\x00\x00\x00\x01\x00\x00\x01\xb8\x92\x07\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x92\x08\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x92\t\x00\x03\x00\x00\x00\x01\x00\x10\x00\x00\xa0\x01\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x02\x80\x00\x00\x00\x1c\x00\x00\x00\n2007:03:14 17:37:49\x002007:03:14 17:37:49\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x07\x01\x03\x00\x03\x00\x00\x00\x01\x00\x06\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x02\x1a\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x02"\x01(\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x02\x01\x00\x04\x00\x00\x00\x01\x00\x00\x02*\x02\x02\x00\x04\x00\x00\x00\x01\x00\x00\n\xa8\x02\x13\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00H\x00\x00\x00\x01\x00\x00\x00H\x00\x00\x00\x01\x00\x00\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00H\x00H\x00\x00\xff\xfe\x00\x0cAppleMark\n\xff\xdb\x00\x84\x00\x07\x05\x05\x06\x05\x05\x07\x06\x06\x06\x08\x07\x07\x08\n\x11\x0b\n\t\t\n\x14\x0f\x0f\x0c\x11\x18\x15\x19\x19\x17\x15\x17\x17\x1a\x1d% \x1a\x1c#\x1c\x17\x17!,!#\'(***\x19\x1f.1-)1%)*(\x01\x07\x08\x08\n\t\n\x13\x0b\x0b\x13(\x1b\x17\x1b((((((((((((((((((((((((((((((((((((((((((((((((((\xff\xc4\x01\xa2\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\x07aq\x13"2\x81\x08\x14B\x91\xa1…pt:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@locks.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/lock-closed-mylock.png" title="Locked by you" class="lock-closed-mylock" />
    +     <span class="action-title">Manage lock</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <li class="preview ">
    +     <a href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
    +       <span class="action-title">Preview</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    +   <li class="live ">
    +     <a href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
    +       <span class="action-title">Live</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li class="secondary-actions">
    +   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015524.5043232')">
    +     <img alt="actionmenuicon" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/submenu.png" />
    +   </a>
    +   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015524.5043232"><li>
    +   <a title="Rename" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@rename-box')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/rename.png" />
    +     <span class="action-title">Rename</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <li>
    +   <a title="Reload folder" href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@refresh-cache" id="menuitem.1708015524.5053148">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/reload.png" />
    +     <span class="action-title">Reload folder</span>
    +   </a>
    +   <script language="javascript">
    +           new zeit.cms.ClickOnceAction('menuitem.1708015524.5053148');
    +           </script>
    + </li>
    + <BLANKLINE>
    + <li>
    +   <a title="Change type" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@typechange-box')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/workflow.png" />
    +     <span class="action-title">Change type</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <li>
    +   <a title="Delete" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG/@@delete.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +     <span class="action-title">Delete</span>
    +   </a>
    + </li>
    + </ul>
    + </li>
    + <BLANKLINE>
    +         </ul>
    +       </div>
    +     </div>
    + <BLANKLINE>
    +     <div id="metadata_preview">
    + <BLANKLINE>
          <dl>
        <dt>File name</dt>
        <dd>
          <a href="http://localhost/++skin++cms/repository/2006/DSC00109_2.JPG">DSC00109_2.JPG</a>
        </dd>
        <dt>Content type</dt>
    -   <dd>text/plain</dd>
    +   <dd>image/jpeg</dd>
        <dt>Size</dt>
        <dd>
    -     23 bytes
    ?      ^
    +     882409 bytes
    ?     ++ ^^^
        </dd>
    -   ...
    + </dl>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </div>
    +     <div id="metadata-additions">
    + <BLANKLINE>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 246, in file.txt
Failed example:
    browser.getLink('Checkin').click()
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 580, in check_setattr
        Checker.check_setattr(self, object, name)
    zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x7f48b554f580>)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest file.txt[53]>", line 1, in <module>
        browser.getLink('Checkin').click()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
        self.browser.open(self.url, referrer=self.browser.url)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1023, in _do_processRequest
        resp = make_request(reqargs)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 249, in make_request
        return self.testapp.get(url, **args)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 324, in get
        return self.do_request(req, status=status,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 92, in do_request
        response = super().do_request(req, status,
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/app.py", line 620, in do_request
        res = req.get_response(app, catch_exc_info=True)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1309, in send
        status, headers, app_iter, exc_info = self.call_application(
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
        app_iter = application(self.environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webtest/lint.py", line 196, in lint_app
        iterator = application(environ, start_response_wrapper)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 176, in __call__
        return super().__call__(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/opentelemetry/instrumentation/wsgi/__init__.py", line 585, in __call__
        iterable = self.wsgi(environ, start_response)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/application.py", line 157, in __call__
        return self.wsgi(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/publisher.py", line 228, in __call__
        return self.app(environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/fanstatic/injector.py", line 66, in __call__
        response = request.get_response(self.app)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1313, in send
        status, headers, app_iter = self.call_application(
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/webob/request.py", line 1278, in call_application
        app_iter = application(self.environ, start_response)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/wsgi/__init__.py", line 59, in __call__
        request = publish(request, handle_errors=handle_errors)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 145, in publish
        result = publication.callObject(request, obj)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/app/publication/zopepublication.py", line 207, in callObject
        return mapply(ob, request.getPositionalArguments(), request)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 118, in mapply
        return debug_call(obj, args)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/publisher/publish.py", line 125, in debug_call
        return obj(*args)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 139, in __call__
        return self.perform_checkin(semantic_change, bool(event), bool(ignore_conflicts))
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/browser/manager.py", line 73, in perform_checkin
        checked_in = self.manager.checkin(
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/checkout/manager.py", line 146, in checkin
        dc.modified = datetime.now()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/security/checker.py", line 582, in check_setattr
        self._checker2.check_setattr(object, name)
    zope.security.interfaces.ForbiddenAttribute: ('modified', <zeit.cms.content.dublincore.LocalDCTimes object at 0x7f48b554f580>)
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/repository/browser/file.txt", line 247, in file.txt
Failed example:
    print(browser.contents)
Differences (ndiff with -expected +actual):
    - <?xml ...
    -  <title>... View file </title>
    -  ...
    -  <div class=...><dl>
    + <?xml version="1.0"?>
    + <!DOCTYPE html
    +     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    +     <html xmlns="http://www.w3.org/1999/xhtml" data-vivi-version="5.110.0.dev0">
    +       <head>
    +         <script type="text/javascript">
    +           var application_url = 'http://localhost/++skin++cms';
    +           var context_url = 'http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt';
    +         </script>
    + <BLANKLINE>
    +         <title>
    + <BLANKLINE>
    +             ogre.txt –
    +             Edit file
    + <BLANKLINE>
    +         </title>
    +         <link rel="icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    +         <link rel="shortcut icon" type="image/x-icon" href="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/favicon.png" />
    + <BLANKLINE>
    + <BLANKLINE>
    +       <link rel="stylesheet" type="text/css" href="/fanstatic/select2/:version:3.4.1/select2.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/calendar-system.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.campus/:version:4b8b2c5a9d91f13bc08014aa514db265/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms/:version:ba4181d0a0810c09d2121c9c23a46c63/:bundle:cms.css;cms_widgets.css;forms.css;lightbox.css;object_details.css;tables.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article.recension/:version:1ad68a80938817ed1407d514ee01a21d/recension.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.author/:version:1b2d7fcce8cf64c1d35fa1ca1d577e53/author.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.link/:version:8b2b0725bb6c24731fc9c495aa6ca664/link.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.edit/:version:1f97ddc3206c341836d3b196714f504d/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/cropper/:version:0.10.0.post1/cropper.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/jquery/jquery-ui-custom-theme/jquery-ui-1.10.4.custom.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.addcentral/:version:07b371fe4a9019e0a28cca96aa3a8bf3/addcentral.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/gallery.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:imagegroup.css;variant.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/toclisting.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:imp.css;ui4w.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/find.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/push.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/workflow.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/editor.css" />
    + <link rel="stylesheet" type="text/css" href="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/editor.css" />
    + <script type="text/javascript" src="/fanstatic/handlebars/:version:1.3.0/handlebars.js"></script>
    + <script type="text/javascript" src="/fanstatic/jquery/:version:1.8.2/jquery.js"></script>
    + <script type="text/javascript" src="/fanstatic/mochikit/:version:1.4.2.post1/:bundle:Base.js;MockDOM.js;Async.js;DOM.js;DateTime.js;Format.js;Iter.js;Logging.js;Test.js;LoggingPane.js;Selector.js;Style.js;Color.js;Position.js;Signal.js;Visual.js;DragAndDrop.js;Sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/select2/:version:3.4.1/:bundle:select2.js;select2_locale_de.js"></script>
    + <script type="text/javascript" src="/fanstatic/underscore.js/:version:1.5.2/underscore.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/:bundle:calendar.js;calendar-setup.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/languages/calendar-en.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.datetimewidget/:version:950d84b7a2da23ad078901918adcedee/datetimewidget.js"></script>
    + <script type="text/javascript" src="/fanstatic/zc.table/:version:bc81cab2ffb05820b7649c71e172938b/sorting.js"></script>
    + <script type="text/javascript" src="/fanstatic/backbone.js/:version:1.1.0/backbone-min.js"></script>
    + <script type="text/javascript" src="/fanstatic/cropper/:version:0.10.0.post1/cropper.js"></script>
    + <script type="text/javascript" src="/fanstatic/jqueryui/:version:1.10.3+tooltip/ui/jquery-ui.js"></script>
    + <script type="text/javascript" src="/fanstatic/colorpicker/:version:1.0.9.post1/jquery.colorpicker.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.js/:version:2cff54dedd2c2a4a71ce8c580ab5e27d/:bundle:formlib.js;namespace.js;draganddrop.js;logging.js;base.js;autocomplete.js;bullet.js;colorpicker.js;counter.js;details.js;dnd.js;filename.js;filteringtable.js;json-template.js;menu.js;object_sequence.js;objectbrowser.js;panelHandlers.js;restructuredtext.js;table.js;tooltip.js;tree.js;view.js;xeyes.js;form.js;messages.js;tab.js;lightbox.js;object_reference.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cmp/:version:4799f2d4c38981e180383d3b18434e34/cmp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.clipboard/:version:27c9afd26089ff6330fe7ae2e7f32e95/clipboard.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.content/:version:cb8a106385d0db40390168b542da2d0a/:bundle:dropdown.js;mobile_alternative.js;teaser.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.tagging/:version:007ed6d0ab60b25a0057899fdd436d57/tag.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.cms.workingcopy/:version:a80c4543a9255e3593f6cd5ae7493924/workingcopy.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/SWFUpload/swfupload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.gallery/:version:60c44b5d3d5681a1e5fe3b315d72e9d6/:bundle:details.js;upload.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.image/:version:e1c07076067e9b353a0603ecd7129093/:bundle:drag-images.js;form.js;mdb.js;variant.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.volume/:version:389855a8751c1ed7afa0643de8d3839d/:bundle:filtertoclisting.js;volume-covers.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.crop/:version:81f2f9e8c266536530a9f73752a08e92/:bundle:ui4w.js;imp.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.find/:version:cf697b0ecbde528a5ff6200358287a54/:bundle:objectbrowser.js;find.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.push/:version:a9c0b70f129bddd4cc8e7dbf10a19a98/:bundle:mobile.js;social.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.seo/:version:9ca4db082c8a2848a4d30b35f6b276ae/counter.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.wochenmarkt/:version:a91f20919756580dcfcd0ade06acc546/recipe.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.workflow/:version:4d74a91de8e8ebb6c0d603e9984d1c59/publish.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.edit.js/:version:ac1184f7bd2906a71adcea25c4081c91/:bundle:fold.js;json.js;edit.js;context.js;inlineform.js;drop.js;lightbox.js;library.js;sortable.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.article/:version:42b915c1b9aa8e0173b1497f3f1d9f65/:bundle:citation_comment.js;jsuri.js;strftime.js;keyword.js;replace.js;sync.js;timer.js;topicbox.js;counter.js;filename.js;editor.js;blocks.js;html.js"></script>
    + <script type="text/javascript" src="/fanstatic/zeit.content.cp/:version:d0cf9b38f9b091947f1b67d2a231f7d0/:bundle:area.js;editor.js;library.js;teaser.js"></script></head>
    +       <body class="type-file location-workingcopy section-IZONSection environment-testing">
    +         <div id="visualContentSeparator" class="sidebar-expanded">
    +           </div>
    +           <div id="header" class="sidebar-expanded">
    +           <ul id="breadcrumbs">
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository" title="repository">repository</a>
    +               <span class="uniqueId">http://xml.zeit.de/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/2006" title="2006">2006</a>
    +               <span class="uniqueId">http://xml.zeit.de/2006/</span>
    +               <span class="breadcrumb-separator">
    +                 →
    +               </span>
    +             </li>
    +             <li>
    +               <a href="http://localhost/++skin++cms/repository/2006/ogre.txt" title="ogre.txt">ogre.txt</a>
    +               <span class="uniqueId">http://xml.zeit.de/2006/ogre.txt</span>
    + <BLANKLINE>
    +             </li>
    +           </ul>
    +           <ul id="main-navigation"><li class="selected">
    +   <a href="http://localhost/++skin++cms/@@index.html">
    +     <span>CMS</span>
    +   </a>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + </ul>
    + <BLANKLINE>
    +             <div class="GlobalInformation"><div id="messages_container">
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages_toggle" class="staticErrorText">
    +         Notices
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div id="messages" class="noMessages">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + </div>
    + <BLANKLINE>
    + <div id="user-information">
    +   User
    +   | <a href="http://localhost/++skin++cms/@@logout.html">Logout</a>
    + </div>
    + </div>
    +         </div>
    + <BLANKLINE>
    +         <div id="sidebar" class="sidebar-expanded"><div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="ClipboardPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">
    +       Clipboard
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="ClipboardPanelContent">
    +     <div id="clipboardcontents" class="Tree">
    + <BLANKLINE>
    +   <ul>
    + <BLANKLINE>
    +       <li class="Root type-" uniqueid="">
    +         <p>
    +         <a href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard">Clipboard</a>
    +         <span class="uniqueId">None</span>
    +         <a title="Remove" class="deleteLink context-action" href="http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/@@ajax-delete-entry">
    +           <img alt="Delete" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/delete.png" />
    +           <span class="action-title">Remove</span>
    +         </a>
    +       </p>
    + <BLANKLINE>
    +       </li>
    + <BLANKLINE>
    +   </ul>
    + <BLANKLINE>
    + </div>
    +     <form action="">
    +       <p>
    +         <input type="button" value="Clip hinzufügen..." name="add-clip" id="clip-add-folder-link" />
    +       </p>
    +       <div id="clip-add-folder-box">
    +         Clipname: <input id="clip-add-folder-title" type="text" name="title" />
    +         <br />
    +         <input type="submit" name="add_clip" id="clip-add-folder-submit" value="Clip anlegen" /> oder
    +         <input type="button" name="cancel" id="clip-add-folder-cancel" value="Abrechen" />
    +       </div>
    +     </form>
    +     <script type="text/javascript">
    +         var clipboarddnd = new zeit.cms.Clipboard(
    +           'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard', 'http://localhost/++skin++cms/workingcopy/zope.user/zeit.cms.clipboard.clipboard.Clipboard/tree.html', 'clipboardcontents');
    +         clipboarddnd.connectDNDHandlers();
    +         clipboarddnd.enableAdding();
    +         </script>
    + <BLANKLINE>
    +   </div>
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <div xmlns:panel="http://namespaces.gocept.com/panel" panel:flex="1" class="panel unfolded" id="WorkingcopyPanel">
    + <BLANKLINE>
    +   <h1>
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user">
    +       Edited documents
    +     </a>
    +   </h1>
    + <BLANKLINE>
    +   <div class="PanelContent" id="WorkingcopyPanelContent">
    +     <div id="workingcopycontents">
    + <BLANKLINE>
    + <BLANKLINE>
    +       <ul class="contentListing">
    +         <li class="draggable-content type-file">
    +           <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IFile-zmi_icon.png" alt="File" width="18" height="18" border="0" />
    +           <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@edit.html">ogre.txt</a>
    +           <span class="uniqueId">http://xml.zeit.de/2006/ogre.txt</span>
    +         </li>
    +         <li class="draggable-content type-file">
    +           <img src="http://localhost/++skin++cms/@@/zeit-cms-repository-interfaces-IFile-zmi_icon.png" alt="File" width="18" height="18" border="0" />
    +           <a href="http://localhost/++skin++cms/workingcopy/zope.user/DSC00109_2.JPG/@@edit.html">DSC00109_2.JPG</a>
    +           <span class="uniqueId">http://xml.zeit.de/2006/DSC00109_2.JPG</span>
    +         </li>
    +       </ul>
    +     </div>
    +   </div>
    + </div>
    + </div>
    +         <div id="sidebar-dragger" class="sidebar-expanded">
    +         </div>
    + <BLANKLINE>
    +         <script type="text/javascript">
    +           connect(window, 'onload', function(event) {
    +             var panel_handler = new zeit.cms.PanelHandler('http://localhost/++skin++cms');
    +             panel_handler.registerPanelHandlers();
    +             });
    + <BLANKLINE>
    +             connect(window, 'onload', function(event) {
    +                 zeit.cms.sidebar_dragger = new SidebarDragger('http://localhost/++skin++cms');
    +                 connect('sidebar-dragger', 'onclick', zeit.cms.sidebar_dragger,
    +                         'toggle');
    +             });
    +             </script>
    + <BLANKLINE>
    + <BLANKLINE>
    +           <div id="visualContentWrapper" class="sidebar-expanded">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     <div class="contextViewsAndActions">
    +       <div class="context-views">
    +         <ul>
    + <BLANKLINE>
    +   <li class="edit selected">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@edit.html" title="Edit">Edit</a>
    +   </li>
    + <BLANKLINE>
    +   <li class="references ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@references.html" title="References">References</a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    +         </ul>
    + <BLANKLINE>
    +       </div>
    +       <div class="context-actions">
    +         <ul>
    +           <li>
    +   <a title="Checkin ^I" accesskey="i" href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@checkin?came_from=edit.html&amp;semantic_change=None" id="menuitem.1708015524.840793" rel="zeit.cms.follow_with_lock">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/checkin.png" />
    +     <span class="action-title">Checkin ^I</span>
    +   </a>
    +   <script language="javascript">
    +           new zeit.cms.ClickOnceAction('menuitem.1708015524.840793');
    +           </script>
    + </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <li class="preview ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@show_preview" rel="zeit.cms.follow_with_lock" target="_blank" title="Preview">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/preview.png" alt="actionmenuicon" />
    +       <span class="action-title">Preview</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    +   <li class="live ">
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@show_live" rel="zeit.cms.follow_with_lock" target="_blank" title="Live">
    +       <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/live.png" alt="actionmenuicon" />
    +       <span class="action-title">Live</span>
    + <BLANKLINE>
    +     </a>
    +   </li>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <li class="secondary-actions">
    +   <a title="Additional actions" href="javascript:zeit.cms.menu.toggle('Menu-zeit.cms.secondary-context-actions-1708015524.8408403')">
    +     <img alt="actionmenuicon" src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/submenu.png" />
    +   </a>
    +   <ul class="secondary-context-actions hidden" id="Menu-zeit.cms.secondary-context-actions-1708015524.8408403">
    + <li>
    +   <a title="Cancel workingcopy" href="javascript:zeit.cms.lightbox_form('http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@delete.html')">
    +     <img src="http://localhost/++skin++cms/fanstatic/zeit.cms/icons/cross-large.png" />
    +     <span class="action-title">Cancel workingcopy</span>
    +   </a>
    + </li>
    + </ul>
    + </li>
    + <BLANKLINE>
    +         </ul>
    +       </div>
    +     </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +             <div id="content">
    + <BLANKLINE>
    +     <div class="file-details"><dl>
        <dt>File name</dt>
        <dd>
    -     <a href="http://localhost/++skin++cms/repository/2006/ogre.txt">ogre.txt</a>
    ?                                           ^^^^^^^    ^^^^
    +     <a href="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt">ogre.txt</a>
    ?                                           ^  +++++++  ^^^^^^^^^
        </dd>
        <dt>Content type</dt>
        <dd>text/plain</dd>
        <dt>Size</dt>
        <dd>
          22 bytes
        </dd>
      </dl>
    - ...
    + </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +   <div id="edit-form" class="grouped-form">
    +     <form action="http://localhost/++skin++cms/workingcopy/zope.user/ogre.txt/@@edit.html" method="post" class="edit-form" enctype="multipart/form-data" id="zc.page.browser_form">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +       <div class="field-group">
    + <BLANKLINE>
    +           <fieldset>
    +             <legend></legend>
    +             <div>
    + <BLANKLINE>
    + <BLANKLINE>
    +                 <div class="field fieldname-blob required fieldtype-file">
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <label for="form.blob">
    +                     <span>Upload new file</span>
    +                     <span class="annotation">
    +                       (required)
    +                     </span>
    +                   </label>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <div class="hint"></div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +                   <div class="widget"><input class="hiddenType" id="form.blob.used" name="form.blob.used" type="hidden" value="" /> <input class="fileType" id="form.blob" name="form.blob" size="20" type="file"  /></div>
    +                 </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </fieldset>
    + <BLANKLINE>
    +       </div>
    + <BLANKLINE>
    +       <div id="actionsView">
    +         <span class="actionButtons">
    +           <input type="submit" id="form.actions.apply" name="form.actions.apply" value="Apply" class="button" />
    +         </span>
    +       </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +     </form>
    +   </div>
    + <BLANKLINE>
    + <BLANKLINE>
    + <BLANKLINE>
    +             </div>
    +           </div>
    + <BLANKLINE>
    + <BLANKLINE>
    +       </body>
    +     </html>
    + <BLANKLINE>
    + <BLANKLINE>

Check warning on line 0 in vivi.core.src.zeit.cms.checkout.tests.test_helper.TestHelper

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_semantic_change (vivi.core.src.zeit.cms.checkout.tests.test_helper.TestHelper) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: True is not false
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/cms/checkout/tests/test_helper.py", line 42, in test_semantic_change
    self.assertFalse(sc.last_semantic_change is None)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 681, in assertFalse
    raise self.failureException(msg)
AssertionError: True is not false

Check warning on line 0 in vivi.core.src.zeit.arbeit.browser.tests.test_infobox.ZARInfoboxDebateTest

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_zar_infobox_has_debate_field (vivi.core.src.zeit.arbeit.browser.tests.test_infobox.ZARInfoboxDebateTest) failed

deployment/work/source/report.xml [took 1s]
Raw output
urllib.error.HTTPError: HTTP Error 500: Internal Server Error
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/vivi/vivi/deployment/work/source/vivi/core/src/zeit/arbeit/browser/tests/test_infobox.py", line 23, in test_zar_infobox_has_debate_field
    b.getLink('Checkin').click()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 610, in click
    self.browser.open(self.url, referrer=self.browser.url)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
    return super().open(url, *args, **kw)
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
    self._processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
    self._do_processRequest(url, make_request)
  File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
    self._checkStatus()
  File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
    raise HTTPError(self.url, code, msg, [], None)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

Check warning on line 0 in vivi.core.src.zeit.content.article.edit.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt

See this annotation in the file changed.

@github-actions github-actions / Test Results

runTest (vivi.core.src.zeit.content.article.edit.browser.tests.test_doctest.test_suite./home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt) failed

deployment/work/source/report.xml [took 0s]
Raw output
AssertionError: Failed doctest test for edit.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 93, in edit.txt
Failed example:
    browser.open('/workingcopy/zope.user/Somalia/@@checkin')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest edit.txt[32]>", line 1, in <module>
        browser.open('/workingcopy/zope.user/Somalia/@@checkin')
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 100, in edit.txt
Failed example:
    print(xml)
Differences (ndiff with -expected +actual):
    - <article...
    ?         ^^^
    + <article>
    ?         ^
    -     <division ...type="page">...
    +   <head>
    +     <!-- CMS/document -->
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="uuid">{urn:uuid:<GUID>}</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="text-length">1036</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="pagelabel">Online</attribute>
    +     <!-- CMS/workflow -->
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="supertitle">Spitzmarke hierher</attribute>
    +     <countings>
    +       <counting type="agof">
    +         <code>online</code>
    +       </counting>
    +     </countings>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="imagecount">0</attribute>
    +     <id>
    +       <uniqueid/>
    +       <originalpath/>
    +     </id>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="page">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="ressort">Online</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="volume">04</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="year">2006</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="new_comments">1</attribute>
    +     <attribute name="revision" ns="http://namespaces.zeit.de/CMS/document">11</attribute>
    +     <references count="15">
    +       <reference source="auto" type="intern" year="2006" issue="24" publication="ZEIT online" href="cms:/cms/work/online/2006/24/Mogadischu">
    +         <title>Spaltpilz Mogadischu</title>
    +         <description>Nach 15 Jahren Bürgerkrieg ist Somalias Hauptstadt jetzt in der Hand von Islamisten. Für Washington ist die Chaosstadt ein Sammelbecken für al-Qaida</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="04" publication="ZEIT online" href="cms:/cms/work/online/2007/04/Somalia">
    +         <title>Mit Yusuf keinen Frieden</title>
    +         <description>Äthiopien zieht erste Truppen ab, während Somalias Übergangsregierung nicht einmal die Hauptstadt Mogadischu kontrollieren kann.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="50" publication="ZEIT online" href="cms:/cms/work/online/2006/50/Somalia">
    +         <title>Schleichender Kriegsbeginn</title>
    +         <description>In Somalia bahnt sich ein neuer Krieg an. Bereits jetzt sind Tausende äthiopische Soldaten im Land, um die Übergangsregierung vor Angriffen von Islamisten zu schützen.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/Somalia-Grill">
    +         <title>Ein zweites Afghanistan?</title>
    +         <description>Mit einem Blitzkrieg sind die somalischen Gotteskrieger aus Somalia vertrieben worden. Doch damit ist der Konflikt noch lange nicht zu Ende, kommentiert</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/somalia-kismayu">
    +         <title>Jagd auf Islamisten</title>
    +         <description>Nach dem Fall der Hafenstadt Kismayu verspricht Somalias Regierung jenen Islamisten Straffreiheit, die ihre Waffen abgeben - und verlangt, dass Kenia die Grenze schließt</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/somalia-donnerstag">
    +         <title>Islamisten auf dem Rückzug</title>
    +         <description>Angesichts des erwarteten Sturms auf Mogadischu haben die islamistischen Rebellen die Stadt angeblich verlassen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="02" publication="ZEIT online" href="cms:/cms/work/online/2007/02/Somalia">
    +         <title>Zweifelhafter Eingriff</title>
    +         <description>Die USA haben in Somalia einen angeblichen Stützpunkt von al-Qaida bombardiert. Fraglich ist jedoch, ob der Vormarsch der Islamisten dort zu stoppen ist. Eine Nachrichtenanalyse</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="20" publication="ZEIT" href="cms:/cms/work/2002/20/200220_somalia_xml">
    +         <title>Mutmaßungen über eine Leiche</title>
    +         <description>Somalia - das nächste Ziel der Allianz gegen den Terror? Ein Ortstermin im Herzen des Landes</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="02" publication="ZEIT" href="cms:/cms/work/2002/02/200202_terror_somalia_xml">
    +         <title>Wo Gauner "Glücksstern" heißen</title>
    +         <description>Amerika wäre schlecht beraten, im zerrissenen Somalia auf Terroristenjagd zu gehen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="52" publication="ZEIT online" href="cms:/cms/work/online/2006/52/Mogadischu">
    +         <title>Flughafen bombardiert</title>
    +         <description>Äthiopien hat im Kampf gegen islamistische Milizen in Somalia den Flughafen der Hauptstadt Mogadischu bombardiert. Die EU warnt bereits davor, dass sich der Konflikt "zu einem umfassenden Krieg" in der Region ausweite.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="32" publication="ZEIT" href="cms:/cms/work/2006/32/Somalia">
    +         <title>Hassans Traum von Großsomalia</title>
    +         <description>Am Horn von Afrika haben Islamisten die Macht erobert. Doch sie wollen keinen Gottestaat, sondern ein weltliches Reich</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/Somalia-Treffen">
    +         <title>EU bemüht sich um Frieden</title>
    +         <description>Deutschland hat die Ratspräsidentschaft der Europäischen Union mit einer Initiative für Somalia begonnen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="52" publication="ZEIT online" href="cms:/cms/work/online/2006/52/somalia-sicherheitsrat">
    +         <title>Keine Einigung bei der UN</title>
    +         <description>Der Sicherheitsrat der Vereinten Nationen konnte sich im Somalia-Konflikt nicht auf eine Erklärung einigen. Im ostafrikanischen Land kämpfen unterdessen weiter Islamisten gegen äthiopische Soldaten.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2001" issue="48" publication="ZEIT" href="cms:/cms/work/2001/48/200148_afghanistan.xml">
    +         <title>Das Rennen um Kabul</title>
    +         <description>Im neuen Afghanistan verheißt nur eine lose Zentralregierung Stabilität. Die Macht muss künftig den Regionen gehören</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="34" publication="ZEIT" href="cms:/cms/work/2002/34/200234_afghanistan.xml">
    +         <title>Lehrer Atta, Big D und die Amerikaner</title>
    +         <description>Beim Wiederaufbau Afghanistans setzen die USA vor allem auf die örtlichen Stammesfürsten - ein kolonialistischer Irrtum</description>
    +       </reference>
    +     </references>
    +     <keywordset>
    +       <keyword source="auto" intaxo="yes">Bevölkerung</keyword>
    +       <keyword source="auto" intaxo="yes">Terrorismus</keyword>
    +       <keyword source="auto" intaxo="yes">Innere Sicherheit</keyword>
    +       <keyword source="auto" intaxo="yes">Innenpolitik</keyword>
    +       <keyword source="auto" intaxo="no">Regierungen</keyword>
    +       <keyword source="auto" intaxo="no">Portraits</keyword>
    +       <keyword source="auto" intaxo="no">Länder</keyword>
    +       <keyword source="auto" intaxo="yes">Lebensstandard</keyword>
    +       <keyword source="auto" intaxo="yes">Armut</keyword>
    +       <keyword source="auto" intaxo="yes">Arbeit und Sozialstaat</keyword>
    +       <keyword source="auto" intaxo="no">Staaten</keyword>
    +     </keywordset>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="author">Jochen Stahnke</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="author">Hans Meiser</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="banner">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="comments">1</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="copyrights">ZEIT online</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="date-last-modified">3.1.2007 - 11:55</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="erscheint"/>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="keywords"/>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="mostread">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="page">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="paragraphsperpage">6</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="ressort">International</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="serie">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/meta" name="type">article</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="volume">01</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="year">2007</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="in_rankings">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="show_commentthread">no</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="status">OK</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="topic">International</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="topic">Politik</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="title">Rückkehr der Warlords</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="last-modified-by">hegenscheidt</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="color_scheme">Redaktion</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="foldable">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="countings">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="is_content">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="product-id">ZEDE</attribute>
    +   </head>
    +   <body bottommargin="15" leftmargin="10" topmargin="15" rightmargin="10">
    +     <supertitle>Somalia</supertitle>
    +     <title>Rückkehr der Warlords</title>
    +     <subtitle>Im Zuge des äthiopischen Vormarsches auf Mogadischu kriechen in Somalia auch die alten Miliz-Chefs wieder hervor.</subtitle>
    +     <byline>Von Jochen Stahnke</byline>
    +     <p>Kriegsherr Hussein Mohammed Aidid hat seine „Villa Somalia“ wieder eingenommen, die er zuletzt an die islamistischen Milizen abtreten musste. Der ehemalige Präsidentenpalast thront weithin sichtbar auf einem Hügel Mogadischus und ist dennoch Sinnbild für den heutigen Zustand des Landes; eine Ruine, einst weiß getüncht. Jetzt sind nicht einmal mehr die vormals prunkvollen Treppenstufen von Schutt befreit. Von hier aus kontrollierte Aidid einige Straßenzüge im Zentrum Mogadischus. Hier erhoben seine Milizionäre Wegzoll – ein lukratives Geschäft, das jetzt, nach einem halben Jahr Pause, plötzlich wieder in Gang kommt. <image expires="2100-01-01" src="/cms/work/bilder/2007/01/aktuell/teaser_artikel/somalia-291206-410.jpg" width="410" align="center"><bu>Soldaten der somalischen Regierungstruppen in Mogadischu, 29. Dezember 2006</bu><copyright>© STRINGER/AFP/Getty Images</copyright> BILD </image></p>
    +     <p>Hussein Aidid, der Anzüge gern kurzärmelig trägt, ist gleichzeitig Innenminister und Vizepremier der von Äthiopien gestützten Übergangsregierung Somalias. Der Sohn des berüchtigten Mohammed Farah Aidid, der einst die UN-Intervention 1993 zum Desaster werden ließ, scheint von seinem Kabinett und mithin von Äthiopien freie Hand bekommen zu haben. Sie wolle die Übergangsregierung hier willkommen heißen, tönte Hussein Aidids Kampftruppe Somali National Alliance (SNA) gönnerhaft. Doch ob er und andere Kriegsfürsten zu Ministern ernannt sind oder nicht: Die Rückkehr der Warlords scheint eingeläutet. Denn Äthiopien habe nicht vor, ein Besatzungsregime in Mogadischu aufzubauen, erklärte Präsident Meles Zenawi kürzlich. </p>
    +     <p>Schneller noch, als die Truppen der Union der Islamischen Gerichte (UIC) den selbst begonnenen Krieg gegen die Übergangsregierung verloren haben, kehren Somalias Islamisten Mogadischu nun kampflos den Rücken. Angeblich, um der Millionenstadt weiteres Blutvergießen zu ersparen, erklärte Scheich Scharif Achmed, ein als eher gemäßigt geltender UIC-Führer, gegenüber al-Dschasira. Die Islamisten haben sich in und um die südsomalische Stadt Kismaayo zurückgezogen. </p>
    +     <p>„Äthiopier kontrollieren die zentralen Orte der Stadt, man kann die Soldaten offen sehen, sogar einige Panzer“, sagte ein von <em>ZEIT online</em> telefonisch angefragter Bewohner in Mogadischu, der keine offenen Kämpfe beobachten konnte, allerdings bereits gemeldete Plünderungen bestätigte. Außerdem seien wieder wilde Straßensperren errichtet worden. So genannte <em>freelance militias</em> marodieren, als ob sie nie weg gewesen wären. </p>
    +     <p>Die Schnelligkeit des Zerfalls der meisten UIC-Milizen zeigt, wie fragil dieses Kampfbündnis letztlich ist. Schon die elf vereinigten Schariagerichte vertraten unterschiedliche politische und religiöse Ansichten. Die wenigsten Mitglieder unterstützen dabei wohl einen offenen Dschihad wie der ultraradikale Scheich Hassan Dahir Aweys, den die USA als Terrorist zur Fahndung ausgeschrieben haben, oder Scheich Adan Hashi ‚Ayro’, der <em>al-shabaab</em> anführt, eine etwa 1500 Mann starke Elitetruppe der Schariamilizen. Deren schwarze Flagge ähnelt nicht ganz zufällig der von al-Qaida. Doch selbst bei <em>al-shabaab</em> desertieren die zumeist jungen Kämpfer angesichts der Niederlage in Scharen und schließen sich den altbekannten Clanmilizen und Warlords an. </p>
    +     <p>Um ihren Traum vom Kalifat Großsomalia zu verwirklichen, das auch äthiopische und kenianische Gebiete einschließt, ist Aweys und anderen Radikalen scheinbar jedes Mittel recht gewesen. Immer klarer wird nämlich, dass sich unter den mindestens 1000 Opfern der gescheiterten UIC-Offensive zum Großteil jugendliche Kämpfer befanden. Noch kurz vor der Offensive ließen die Islamisten alle Schulen in Mogadischu schließen, um mehr junge Kämpfer für die Front zu gewinnen. </p>
    +     <p>Einige Kriegsherren Somalias haben sich mit ihrer Unterstützung der Islamisten offensichtlich verkalkuliert. So wandelte sich Yusuf Indha’adde in den vergangenen Monaten zum strenggläubigen Anhänger des UIC. Vorher hatte er seine Streitmacht durch Drogenhandel finanziert und nebenher Hilfsorganisationen 15 Prozent ihres Budgets vor Ort an Steuern abgenommen. Nach unbestätigten Quellen befindet sich der zuletzt zum „Verteidigungsminister“ des UIC aufgestiegene Indha’adde nun zufällig auf Pilgerreise gen Mekka. </p>
    +     <p>Clanzugehörigkeit ist in Somalia wichtiger als Religion. So setzen sich die Schariagerichte bis auf eines aus Mitgliedern des Hawiye-Clans zusammen. Die mächtigen Hawiye wurden bei der Kabinettsbildung der Übergangsregierung im kenianischen Exil stark vernachlässigt, zugunsten anderer Clans. So erst konnten die Schariamilizen gleichzeitig auch eine lockere Sammlungsbewegung einiger Hawiye werden. Doch auch die Hawiye sind untereinander gespalten. Hussein Aidid beispielsweise erkannte die Vorzeichen und harrte auf Seiten der Übergangsregierung aus. Der Kriegsherr Mohammed Dheere, auch Hawiye, floh gar nach Äthiopien, als Islamisten Jowhar einnahmen, die von ihm kontrollierte Stadt nördlich Mogadischus, die er vor wenigen Tagen nun mit Äthiopiens Hilfe wieder einnehmen durfte. </p>
    +     <p>Auch Hussein Aidids Angebot, den Regierungssitz nach Mogadischu zu verlegen, soll angenommen werden. Premierminister Ghedi ist bereits per Hubschrauber zu Konsultationen eingeflogen. Es wäre das erste Mal, dass die Übergangsregierung Mogadischu beherrscht. Aber ob das in naher Zukunft geschehen wird, bleibt fraglich. Die Bundesregierung hat im Rahmen ihrer EU-Ratspräsidentschaft angekündigt, zwischen den Konfliktparteien vermitteln zu wollen. Ein schweres Unterfangen, vor allem mit bloßen Worten. Viele Faktionen versuchen, Macht zu erbeuten. Die großen Waffendepots der Islamisten sind bereits weggeschafft oder geplündert, die Preise für automatische Gewehre innerhalb von zwei Tagen rapide gesunken. </p>
    +     <p>Es wird sich zeigen, ob der von einigen UIC-Islamisten angedrohte Guerillakrieg nun tatsächlich gestartet wird. Und ob der anders aussehen wird, als die Zustände in Somalia nicht ohnehin schon lange sind. Entscheidend ist hier auch die Zahl der vormals kaum präsenten Dschihadis aus dem arabischen Ausland. Hussein Aidids Milizen jedenfalls sind vorbereitet. Eine andere Art der Arbeit kennen ohnehin die wenigsten; seit nunmehr 16 Jahren ist Somalia eine zerfallene Staatsruine. </p>
    +     <p><strong>Zum Thema</strong><br/><a href="http://www.zeit.de/online/2006/50/Somalia">In Somalia bahnt sich ein neuer Krieg an</a> -<em> Bereits jetzt sind Tausende äthiopische Soldaten im Land, um die Übergangsregierung vor Angriffen von Islamisten zu schützen »</em><br/><br/>
    + <BLANKLINE>
    + <BLANKLINE>
    + <a href="http://www.zeit.de/online/2006/52/somalia-sicherheitsrat">Keine Einigung bei der UN</a> - <em> Der Sicherheitsrat der Vereinten Nationen hat sich in einer Dringlichkeitssitzung über den Konflikt in Somalia nicht auf eine Erklärung einigen können »</em><br/><br/>
    + <BLANKLINE>
    + <BLANKLINE>
    + <a href="http://www.zeit.de/2006/32/Somalia">Hassans Traum von Großsomalia</a> -<em> Am Horn von Afrika haben Islamisten die Macht erobert »</em><br/><br/>
    + </p>
    +     <subtitle_length>113</subtitle_length>
    +   </body>
    +   <teaser>
    +     <title>Rückkehr der Warlords</title>
    +     <text>Im Zuge des äthiopischen Vormarsches auf Mogadischu kriechen in Somalia auch die alten Miliz-Chefs wieder hervor.</text>
    +     <text_length>113</text_length>
    +   </teaser>
    +   <indexteaser>
    +     <title>Somalia</title>
    +     <text>Rückkehr der Warlords</text>
    +     <text_length>21</text_length>
    +     <title_length>7</title_length>
    +   </indexteaser>
    + </article>
    + <BLANKLINE>
Traceback (most recent call last):
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 591, in run
    self._callTestMethod(testMethod)
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/unittest/case.py", line 549, in _callTestMethod
    method()
  File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 2221, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for edit.txt
  File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 0

----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 93, in edit.txt
Failed example:
    browser.open('/workingcopy/zope.user/Somalia/@@checkin')
Exception raised:
    Traceback (most recent call last):
      File "/home/runner/_work/_tool/Python/3.10.13/x64/lib/python3.10/doctest.py", line 1350, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest edit.txt[32]>", line 1, in <module>
        browser.open('/workingcopy/zope.user/Somalia/@@checkin')
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 991, in open
        return super().open(url, *args, **kw)
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 252, in open
        self._processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1013, in _processRequest
        self._do_processRequest(url, make_request)
      File "/home/runner/_work/vivi/vivi/core/src/zeit/cms/testing.py", line 1033, in _do_processRequest
        self._checkStatus()
      File "/home/runner/_work/vivi/vivi/deployment/work/app/lib/python3.10/site-packages/zope/testbrowser/browser.py", line 298, in _checkStatus
        raise HTTPError(self.url, code, msg, [], None)
    urllib.error.HTTPError: HTTP Error 500: Internal Server Error
----------------------------------------------------------------------
File "/home/runner/_work/vivi/vivi/core/src/zeit/content/article/edit/browser/edit.txt", line 100, in edit.txt
Failed example:
    print(xml)
Differences (ndiff with -expected +actual):
    - <article...
    ?         ^^^
    + <article>
    ?         ^
    -     <division ...type="page">...
    +   <head>
    +     <!-- CMS/document -->
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="uuid">{urn:uuid:<GUID>}</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="text-length">1036</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="pagelabel">Online</attribute>
    +     <!-- CMS/workflow -->
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="supertitle">Spitzmarke hierher</attribute>
    +     <countings>
    +       <counting type="agof">
    +         <code>online</code>
    +       </counting>
    +     </countings>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="imagecount">0</attribute>
    +     <id>
    +       <uniqueid/>
    +       <originalpath/>
    +     </id>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="page">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="ressort">Online</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="volume">04</attribute>
    +     <attribute ns="http://namespaces.zeit.de/QPS/attributes" name="year">2006</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="new_comments">1</attribute>
    +     <attribute name="revision" ns="http://namespaces.zeit.de/CMS/document">11</attribute>
    +     <references count="15">
    +       <reference source="auto" type="intern" year="2006" issue="24" publication="ZEIT online" href="cms:/cms/work/online/2006/24/Mogadischu">
    +         <title>Spaltpilz Mogadischu</title>
    +         <description>Nach 15 Jahren Bürgerkrieg ist Somalias Hauptstadt jetzt in der Hand von Islamisten. Für Washington ist die Chaosstadt ein Sammelbecken für al-Qaida</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="04" publication="ZEIT online" href="cms:/cms/work/online/2007/04/Somalia">
    +         <title>Mit Yusuf keinen Frieden</title>
    +         <description>Äthiopien zieht erste Truppen ab, während Somalias Übergangsregierung nicht einmal die Hauptstadt Mogadischu kontrollieren kann.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="50" publication="ZEIT online" href="cms:/cms/work/online/2006/50/Somalia">
    +         <title>Schleichender Kriegsbeginn</title>
    +         <description>In Somalia bahnt sich ein neuer Krieg an. Bereits jetzt sind Tausende äthiopische Soldaten im Land, um die Übergangsregierung vor Angriffen von Islamisten zu schützen.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/Somalia-Grill">
    +         <title>Ein zweites Afghanistan?</title>
    +         <description>Mit einem Blitzkrieg sind die somalischen Gotteskrieger aus Somalia vertrieben worden. Doch damit ist der Konflikt noch lange nicht zu Ende, kommentiert</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/somalia-kismayu">
    +         <title>Jagd auf Islamisten</title>
    +         <description>Nach dem Fall der Hafenstadt Kismayu verspricht Somalias Regierung jenen Islamisten Straffreiheit, die ihre Waffen abgeben - und verlangt, dass Kenia die Grenze schließt</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/somalia-donnerstag">
    +         <title>Islamisten auf dem Rückzug</title>
    +         <description>Angesichts des erwarteten Sturms auf Mogadischu haben die islamistischen Rebellen die Stadt angeblich verlassen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="02" publication="ZEIT online" href="cms:/cms/work/online/2007/02/Somalia">
    +         <title>Zweifelhafter Eingriff</title>
    +         <description>Die USA haben in Somalia einen angeblichen Stützpunkt von al-Qaida bombardiert. Fraglich ist jedoch, ob der Vormarsch der Islamisten dort zu stoppen ist. Eine Nachrichtenanalyse</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="20" publication="ZEIT" href="cms:/cms/work/2002/20/200220_somalia_xml">
    +         <title>Mutmaßungen über eine Leiche</title>
    +         <description>Somalia - das nächste Ziel der Allianz gegen den Terror? Ein Ortstermin im Herzen des Landes</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="02" publication="ZEIT" href="cms:/cms/work/2002/02/200202_terror_somalia_xml">
    +         <title>Wo Gauner "Glücksstern" heißen</title>
    +         <description>Amerika wäre schlecht beraten, im zerrissenen Somalia auf Terroristenjagd zu gehen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="52" publication="ZEIT online" href="cms:/cms/work/online/2006/52/Mogadischu">
    +         <title>Flughafen bombardiert</title>
    +         <description>Äthiopien hat im Kampf gegen islamistische Milizen in Somalia den Flughafen der Hauptstadt Mogadischu bombardiert. Die EU warnt bereits davor, dass sich der Konflikt "zu einem umfassenden Krieg" in der Region ausweite.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="32" publication="ZEIT" href="cms:/cms/work/2006/32/Somalia">
    +         <title>Hassans Traum von Großsomalia</title>
    +         <description>Am Horn von Afrika haben Islamisten die Macht erobert. Doch sie wollen keinen Gottestaat, sondern ein weltliches Reich</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2007" issue="01" publication="ZEIT online" href="cms:/cms/work/online/2007/01/Somalia-Treffen">
    +         <title>EU bemüht sich um Frieden</title>
    +         <description>Deutschland hat die Ratspräsidentschaft der Europäischen Union mit einer Initiative für Somalia begonnen</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2006" issue="52" publication="ZEIT online" href="cms:/cms/work/online/2006/52/somalia-sicherheitsrat">
    +         <title>Keine Einigung bei der UN</title>
    +         <description>Der Sicherheitsrat der Vereinten Nationen konnte sich im Somalia-Konflikt nicht auf eine Erklärung einigen. Im ostafrikanischen Land kämpfen unterdessen weiter Islamisten gegen äthiopische Soldaten.</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2001" issue="48" publication="ZEIT" href="cms:/cms/work/2001/48/200148_afghanistan.xml">
    +         <title>Das Rennen um Kabul</title>
    +         <description>Im neuen Afghanistan verheißt nur eine lose Zentralregierung Stabilität. Die Macht muss künftig den Regionen gehören</description>
    +       </reference>
    +       <reference source="auto" type="intern" year="2002" issue="34" publication="ZEIT" href="cms:/cms/work/2002/34/200234_afghanistan.xml">
    +         <title>Lehrer Atta, Big D und die Amerikaner</title>
    +         <description>Beim Wiederaufbau Afghanistans setzen die USA vor allem auf die örtlichen Stammesfürsten - ein kolonialistischer Irrtum</description>
    +       </reference>
    +     </references>
    +     <keywordset>
    +       <keyword source="auto" intaxo="yes">Bevölkerung</keyword>
    +       <keyword source="auto" intaxo="yes">Terrorismus</keyword>
    +       <keyword source="auto" intaxo="yes">Innere Sicherheit</keyword>
    +       <keyword source="auto" intaxo="yes">Innenpolitik</keyword>
    +       <keyword source="auto" intaxo="no">Regierungen</keyword>
    +       <keyword source="auto" intaxo="no">Portraits</keyword>
    +       <keyword source="auto" intaxo="no">Länder</keyword>
    +       <keyword source="auto" intaxo="yes">Lebensstandard</keyword>
    +       <keyword source="auto" intaxo="yes">Armut</keyword>
    +       <keyword source="auto" intaxo="yes">Arbeit und Sozialstaat</keyword>
    +       <keyword source="auto" intaxo="no">Staaten</keyword>
    +     </keywordset>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="author">Jochen Stahnke</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="author">Hans Meiser</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="banner">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="comments">1</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="copyrights">ZEIT online</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="date-last-modified">3.1.2007 - 11:55</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="erscheint"/>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="keywords"/>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="mostread">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="page">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="paragraphsperpage">6</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="ressort">International</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="serie">-</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/meta" name="type">article</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="volume">01</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="year">2007</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="in_rankings">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="show_commentthread">no</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="status">OK</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="topic">International</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="topic">Politik</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="title">Rückkehr der Warlords</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="last-modified-by">hegenscheidt</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="color_scheme">Redaktion</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="foldable">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="countings">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/document" name="is_content">yes</attribute>
    +     <attribute ns="http://namespaces.zeit.de/CMS/workflow" name="product-id">ZEDE</attribute>
    +   </head>
    +   <body bottommargin="15" leftmargin="10" topmargin="15" rightmargin="10">
    +     <supertitle>Somalia</supertitle>
    +     <title>Rückkehr der Warlords</title>
    +     <subtitle>Im Zuge des äthiopischen Vormarsches auf Mogadischu kriechen in Somalia auch die alten Miliz-Chefs wieder hervor.</subtitle>
    +     <byline>Von Jochen Stahnke</byline>
    +     <p>Kriegsherr Hussein Mohammed Aidid hat seine „Villa Somalia“ wieder eingenommen, die er zuletzt an die islamistischen Milizen abtreten musste. Der ehemalige Präsidentenpalast thront weithin sichtbar auf einem Hügel Mogadischus und ist dennoch Sinnbild für den heutigen Zustand des Landes; eine Ruine, einst weiß getüncht. Jetzt sind nicht einmal mehr die vormals prunkvollen Treppenstufen von Schutt befreit. Von hier aus kontrollierte Aidid einige Straßenzüge im Zentrum Mogadischus. Hier erhoben seine Milizionäre Wegzoll – ein lukratives Geschäft, das jetzt, nach einem halben Jahr Pause, plötzlich wieder in Gang kommt. <image expires="2100-01-01" src="/cms/work/bilder/2007/01/aktuell/teaser_artikel/somalia-291206-410.jpg" width="410" align="center"><bu>Soldaten der somalischen Regierungstruppen in Mogadischu, 29. Dezember 2006</bu><copyright>© STRINGER/AFP/Getty Images</copyright> BILD </image></p>
    +     <p>Hussein Aidid, der Anzüge gern kurzärmelig trägt, ist gleichzeitig Innenminister und Vizepremier der von Äthiopien gestützten Übergangsregierung Somalias. Der Sohn des berüchtigten Mohammed Farah Aidid, der einst die UN-Intervention 1993 zum Desaster werden ließ, scheint von seinem Kabinett und mithin von Äthiopien freie Hand bekommen zu haben. Sie wolle die Übergangsregierung hier willkommen heißen, tönte Hussein Aidids Kampftruppe Somali National Alliance (SNA) gönnerhaft. Doch ob er und andere Kriegsfürsten zu Ministern ernannt sind oder nicht: Die Rückkehr der Warlords scheint eingeläutet. Denn Äthiopien habe nicht vor, ein Besatzungsregime in Mogadischu aufzubauen, erklärte Präsident Meles Zenawi kürzlich. </p>
    +     <p>Schneller noch, als die Truppen der Union der Islamischen Gerichte (UIC) den selbst begonnenen Krieg gegen die Übergangsregierung verloren haben, kehren Somalias Islamisten Mogadischu nun kampflos den Rücken. Angeblich, um der Millionenstadt weiteres Blutvergießen zu ersparen, erklärte Scheich Scharif Achmed, ein als eher gemäßigt geltender UIC-Führer, gegenüber al-Dschasira. Die Islamisten haben sich in und um die südsomalische Stadt Kismaayo zurückgezogen. </p>
    +     <p>„Äthiopier kontrollieren die zentralen Orte der Stadt, man kann die Soldaten offen sehen, sogar einige Panzer“, sagte ein von <em>ZEIT online</em> telefonisch angefragter Bewohner in Mogadischu, der keine offenen Kämpfe beobachten konnte, allerdings bereits gemeldete Plünderungen bestätigte. Außerdem seien wieder wilde Straßensperren errichtet worden. So genannte <em>freelance militias</em> marodieren, als ob sie nie weg gewesen wären. </p>
    +     <p>Die Schnelligkeit des Zerfalls der meisten UIC-Milizen zeigt, wie fragil dieses Kampfbündnis letztlich ist. Schon die elf vereinigten Schariagerichte vertraten unterschiedliche politische und religiöse Ansichten. Die wenigsten Mitglieder unterstützen dabei wohl einen offenen Dschihad wie der ultraradikale Scheich Hassan Dahir Aweys, den die USA als Terrorist zur Fahndung ausgeschrieben haben, oder Scheich Adan Hashi ‚Ayro’, der <em>al-shabaab</em> anführt, eine etwa 1500 Mann starke Elitetruppe der Schariamilizen. Deren schwarze Flagge ähnelt nicht ganz zufällig der von al-Qaida. Doch selbst bei <em>al-shabaab</em> desertieren die zumeist jungen Kämpfer angesichts der Niederlage in Scharen und schließen sich den altbekannten Clanmilizen und Warlords an. </p>
    +     <p>Um ihren Traum vom Kalifat Großsomalia zu verwirklichen, das auch äthiopische und kenianische Gebiete einschließt, ist Aweys und anderen Radikalen scheinbar jedes Mittel recht gewesen. Immer klarer wird nämlich, dass sich unter den mindestens 1000 Opfern der gescheiterten UIC-Offensive zum Großteil jugendliche Kämpfer befanden. Noch kurz vor der Offensive ließen die Islamisten alle Schulen in Mogadischu schließen, um mehr junge Kämpfer für die Front zu gewinnen. </p>
    +     <p>Einige Kriegsherren Somalias haben sich mit ihrer Unterstützung der Islamisten offensichtlich verkalkuliert. So wandelte sich Yusuf Indha’adde in den vergangenen Monaten zum strenggläubigen Anhänger des UIC. Vorher hatte er seine Streitmacht durch Drogenhandel finanziert und nebenher Hilfsorganisationen 15 Prozent ihres Budgets vor Ort an Steuern abgenommen. Nach unbestätigten Quellen befindet sich der zuletzt zum „Verteidigungsminister“ des UIC aufgestiegene Indha’adde nun zufällig auf Pilgerreise gen Mekka. </p>
    +     <p>Clanzugehörigkeit ist in Somalia wichtiger als Religion. So setzen sich die Schariagerichte bis auf eines aus Mitgliedern des Hawiye-Clans zusammen. Die mächtigen Hawiye wurden bei der Kabinettsbildung der Übergangsregierung im kenianischen Exil stark vernachlässigt, zugunsten anderer Clans. So erst konnten die Schariamilizen gleichzeitig auch eine lockere Sammlungsbewegung einiger Hawiye werden. Doch auch die Hawiye sind untereinander gespalten. Hussein Aidid beispielsweise erkannte die Vorzeichen und harrte auf Seiten der Übergangsregierung aus. Der Kriegsherr Mohammed Dheere, auch Hawiye, floh gar nach Äthiopien, als Islamisten Jowhar einnahmen, die von ihm kontrollierte Stadt nördlich Mogadischus, die er vor wenigen Tagen nun mit Äthiopiens Hilfe wieder einnehmen durfte. </p>
    +     <p>Auch Hussein Aidids Angebot, den Regierungssitz nach Mogadischu zu verlegen, soll angenommen werden. Premierminister Ghedi ist bereits per Hubschrauber zu Konsultationen eingeflogen. Es wäre das erste Mal, dass die Übergangsregierung Mogadischu beherrscht. Aber ob das in naher Zukunft geschehen wird, bleibt fraglich. Die Bundesregierung hat im Rahmen ihrer EU-Ratspräsidentschaft angekündigt, zwischen den Konfliktparteien vermitteln zu wollen. Ein schweres Unterfangen, vor allem mit bloßen Worten. Viele Faktionen versuchen, Macht zu erbeuten. Die großen Waffendepots der Islamisten sind bereits weggeschafft oder geplündert, die Preise für automatische Gewehre innerhalb von zwei Tagen rapide gesunken. </p>
    +     <p>Es wird sich zeigen, ob der von einigen UIC-Islamisten angedrohte Guerillakrieg nun tatsächlich gestartet wird. Und ob der anders aussehen wird, als die Zustände in Somalia nicht ohnehin schon lange sind. Entscheidend ist hier auch die Zahl der vormals kaum präsenten Dschihadis aus dem arabischen Ausland. Hussein Aidids Milizen jedenfalls sind vorbereitet. Eine andere Art der Arbeit kennen ohnehin die wenigsten; seit nunmehr 16 Jahren ist Somalia eine zerfallene Staatsruine. </p>
    +     <p><strong>Zum Thema</strong><br/><a href="http://www.zeit.de/online/2006/50/Somalia">In Somalia bahnt sich ein neuer Krieg an</a> -<em> Bereits jetzt sind Tausende äthiopische Soldaten im Land, um die Übergangsregierung vor Angriffen von Islamisten zu schützen »</em><br/><br/>
    + <BLANKLINE>
    + <BLANKLINE>
    + <a href="http://www.zeit.de/online/2006/52/somalia-sicherheitsrat">Keine Einigung bei der UN</a> - <em> Der Sicherheitsrat der Vereinten Nationen hat sich in einer Dringlichkeitssitzung über den Konflikt in Somalia nicht auf eine Erklärung einigen können »</em><br/><br/>
    + <BLANKLINE>
    + <BLANKLINE>
    + <a href="http://www.zeit.de/2006/32/Somalia">Hassans Traum von Großsomalia</a> -<em> Am Horn von Afrika haben Islamisten die Macht erobert »</em><br/><br/>
    + </p>
    +     <subtitle_length>113</subtitle_length>
    +   </body>
    +   <teaser>
    +     <title>Rückkehr der Warlords</title>
    +     <text>Im Zuge des äthiopischen Vormarsches auf Mogadischu kriechen in Somalia auch die alten Miliz-Chefs wieder hervor.</text>
    +     <text_length>113</text_length>
    +   </teaser>
    +   <indexteaser>
    +     <title>Somalia</title>
    +     <text>Rückkehr der Warlords</text>
    +     <text_length>21</text_length>
    +     <title_length>7</title_length>
    +   </indexteaser>
    + </article>
    + <BLANKLINE>