Traceback (innermost last): Module ZPublisher.Publish, line 98, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module Shared.DC.Scripts.Bindings, line 252, in __call__ Module Shared.DC.Scripts.Bindings, line 283, in _bindAndExec Module App.special_dtml, line 174, in _exec Module DocumentTemplate.DT_In, line 645, in renderwob Module DocumentTemplate.DT_In, line 773, in sort_sequence Module ZODB.Connection, line 534, in setstate Module ZODB.Connection, line 192, in _persistent_load - __traceback_info__: J Module ZODB.Connection, line 131, in __getitem__ - __traceback_info__: ('\x00\x00\x00\x00\x00\x00J\x08', '(cExtensionClass\nExtensionClass\nq\x01(U\x0bZDLSequenceq\x02(cZClasses.ZClass\nPersistentClass\nq\x03cProducts.ZCatalog.CatalogAwareness\nCatalogAware\nq\x04cZClasses.ObjectManager\nObjectManager\nq\x05cOFS.SimpleItem\nSimpleItem\nq\x06tq\x07}q\x08(U\x04iconq\tU\x00U\n_p_changedq\nK\x01U\x14isPrincipiaFolderishq\x0bU\x01YU\x12__ac_permissions__q\x0c((U\x10Add ZDLSequencesq\r)(U\x07Managerq\x0etttq\x0fU\x14_v_manage_path_rolesq\x10U\x17ZDLProducts/ZDLSequenceq\x11U\x11Sequence_suivanteq\x12(U\x08\x00\x00\x00\x00\x00\x00Q\x07q\x13(U\x0fZClasses.Methodq\x14U\x03MWpq\x15ttQU\rSequence_prevq\x16(U\x08\x00\x00\x00\x00\x00\x00x\x84q\x17(h\x14U\x03MWpq\x18ttQU\tmeta_typeq\x19U\x0bZDLSequenceq\x1aU\nmeta_typesq\x1b(}q\x1c(U\npermissionq\x1dU\x0cAdd ZDLItemsq\x1eU\x04nameq\x1fU\x07ZDLItemq U\x07productq!U\x0bZDLProductsq"U\x06actionq#U-manage_addProduct/ZDLProducts/ZDLItem_factoryq$u}q%(U\npermissionq&U\x0cAdd ZDLFilesq\'U\x04nameq(U\x07ZDLFileq)U\x07productq*U\x0bZDLProductsq+U\x06actionq,U-manage_addProduct/ZDLProducts/ZDLFile_factoryq-u}q.(U\npermissionq/U\rAdd ZDLSmilesq0U\x04nameq1U\x08ZDLSmileq2U\x07productq3U\x0bZDLProductsq4U\x06actionq5U.manage_addProduct/ZDLProducts/ZDLSmile_factoryq6u}q7(U\nvisibilityq8U\x06Globalq9U\ninterfacesq:]q;(cInterface.iclass\nInterface\nq(U\x11_Interface__attrsq?}q@(U\nwl_getLockqA(cInterface.Method\nMethod\nqBo}qC(U\x07__doc__qDU6 Returns the locktoken identified by the locktokenuri qEU\x08optionalqF}qGU\x08requiredqH(U\tlocktokenqItqJU\x08__name__qKU\nwl_getLockqLU\tinterfaceqMU\x12WriteLockInterfaceqNU\x07varargsqONU\x06kwargsqPNU\npositionalqQhJubU\rwl_lockValuesqR(hBo}qS(hDU_ Returns a sequence of locks. if \'killinvalids\' is true,\n invalid locks will be deletedqThF}qUU\x0ckillinvalidsqVK\x00shH)hKU\rwl_lockValuesqWhMhNhONhPNhQ(hVtubU\rwl_lockTokensqX(hBo}qY(hDUe Returns a sequence of lock tokens. if \'killinvalids\' is true,\n invalid locks will be deletedqZhF}q[hVK\x00shH)hKU\rwl_lockTokensq\\hMhNhONhPNhQ(hVtubU\nwl_hasLockq](hBo}q^(hDUU Returns true if the lock identified by the token is attached\n to the object. q_hF}q`hVK\x00shH(U\x05tokenqathKU\nwl_hasLockqbhMhNhONhPNhQ(hahVtubU\x0bwl_isLockedqc(hBo}qd(hDUh Returns true if \'self\' is locked at all. If invalid locks\n still exist, they should be deleted.qehF}qfhH)hKU\x0bwl_isLockedqghMhNhONhPNhQ)ubU\nwl_setLockqh(hBo}qi(hDU\xef Store the LockItem, \'lock\'. The locktoken will be used to fetch\n and delete the lock. If the lock exists, this MUST\n overwrite it if all of the values except for the \'timeout\' on the\n old and new lock are the same. qjhF}qkhH(hIU\x04lockqltqmhKU\nwl_setLockqnhMhNhONhPNhQhmubU\rwl_clearLocksqo(hBo}qp(hDUc Deletes ALL DAV locks on the object - should only be called\n by lock management machinery. qqhF}qrhH)hKU\rwl_clearLocksqshMhNhONhPNhQ)ubU\x0cwl_lockItemsqt(hBo}qu(hDU\xa1 Returns (key, value) pairs of locktoken, lock.\n\n if \'killinvalids\' is true, invalid locks (locks whose timeout\n has been exceeded) will be deletedqvhF}qwhVK\x00shH)hKU\x0cwl_lockItemsqxhMhNhONhPNhQ(hVtubU\nwl_delLockqy(hBo}qz(hDU6 Deletes the locktoken identified by the locktokenuri q{hF}q|hH(hItq}hKU\nwl_delLockq~hMhNhONhPNhQh}ubuhDT\xd6\x03\x00\x00 This represents the basic protocol needed to support the write lock\n machinery.\n\n It must be able to answer the questions:\n\n o Is the object locked?\n\n o Is the lock owned by the current user?\n\n o What lock tokens are associated with the current object?\n\n o What is their state (how long until they\'re supposed to time out?,\n what is their depth? what type are they?\n\n And it must be able to do the following:\n\n o Grant a write lock on the object to a specified user.\n\n - *If lock depth is infinite, this must also grant locks on **all**\n subobjects, or fail altogether*\n\n o Revoke a lock on the object.\n\n - *If lock depth is infinite, this must also revoke locks on all\n subobjects*\n\n **All methods in the WriteLock interface that deal with checking valid\n locks MUST check the timeout values on the lockitem (ie, by calling\n \'lockitem.isValid()\'), and DELETE the lock if it is no longer valid**\n\n q\x7fU\t__bases__q\x80((h