Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/__init__.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/__init__.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/__init__.py	(revision 7811)
@@ -4,5 +4,5 @@
 
 Main content components are defined in
-:mod:`waeup.sirp.accesscodes.accesscode`. This subpackage also
+:mod:`waeup.kofa.accesscodes.accesscode`. This subpackage also
 provides a _catalog_ to lookup any access code quickly and a
 _workflow_ to guarantee consistent states and transitions when dealing
@@ -11,10 +11,10 @@
 We also provide UI components to generate, archive, import and
 reimport access codes or batches thereof. These parts are defined in
-:mod:`waeup.sirp.accesscodes.browser`.
+:mod:`waeup.kofa.accesscodes.browser`.
 
 The interfaces of this subpackage are defined in
-:mod:`waeup.sirp.accesscodes.interfaces`.
+:mod:`waeup.kofa.accesscodes.interfaces`.
 """
-from waeup.sirp.accesscodes.accesscode import (
+from waeup.kofa.accesscodes.accesscode import (
     get_access_code, invalidate_accesscode, disable_accesscode,
     reenable_accesscode, create_accesscode,
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py	(revision 7811)
@@ -31,10 +31,10 @@
 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState
 from random import SystemRandom as random
-from waeup.sirp.interfaces import ISIRPPluggable, IObjectHistory
-from waeup.sirp.utils.logger import Logger
-from waeup.sirp.accesscodes.interfaces import (
+from waeup.kofa.interfaces import IKOFAPluggable, IObjectHistory
+from waeup.kofa.utils.logger import Logger
+from waeup.kofa.accesscodes.interfaces import (
     IAccessCode, IAccessCodeBatch, IAccessCodeBatchContainer
     )
-from waeup.sirp.accesscodes.workflow import DISABLED, USED, ac_states_dict
+from waeup.kofa.accesscodes.workflow import DISABLED, USED, ac_states_dict
 
 class AccessCode(grok.Model):
@@ -42,5 +42,5 @@
 
     Implements
-    :class:`waeup.sirp.accesscodes.interfaces.IAccessCode`. :class:`AccessCode`
+    :class:`waeup.kofa.accesscodes.interfaces.IAccessCode`. :class:`AccessCode`
     instances are normally part of an :class:`AccessCodeBatch` so
     their representation (or code) is built with the containing batch
@@ -68,10 +68,10 @@
     The state of an access code is something like 'used', 'disabled',
     etc. and determined by the workflow defined in
-    :mod:`waeup.sirp.accesscodes.workflow`. This also means that
+    :mod:`waeup.kofa.accesscodes.workflow`. This also means that
     instead of setting the status of an access code directly (you
     can't do that easily, and yes, that's intentionally), you have to
     trigger a transition (that might fail, if the transition is not
     allowed in terms of logic or permissions). See
-    :mod:`waeup.sirp.accesscodes.workflow` for details.
+    :mod:`waeup.kofa.accesscodes.workflow` for details.
 
     """
@@ -139,5 +139,5 @@
     @property
     def history(self):
-        """A :class:`waeup.sirp.objecthistory.ObjectHistory` instance.
+        """A :class:`waeup.kofa.objecthistory.ObjectHistory` instance.
         """
         history = IObjectHistory(self)
@@ -285,5 +285,5 @@
         If the path does not exist yet, it is created. The path is
         normally ``accesscodes/imports`` below the datacenter storage
-        path (see :data:`waeup.sirp.accesscodes.Datacenter.storage`).
+        path (see :data:`waeup.kofa.accesscodes.Datacenter.storage`).
         """
         site = grok.getSite()
@@ -403,5 +403,5 @@
         return
 
-    logger_name = 'waeup.sirp.${sitename}.accesscodes'
+    logger_name = 'waeup.kofa.${sitename}.accesscodes'
     logger_filename = 'accesscodes.log'
 
@@ -415,5 +415,5 @@
 class AccessCodePlugin(grok.GlobalUtility):
     grok.name('accesscodes')
-    grok.implements(ISIRPPluggable)
+    grok.implements(IKOFAPluggable)
 
     def setup(self, site, name, logger):
@@ -481,5 +481,5 @@
     `arg` tells what kind of transition to trigger. This will be a
     transition id like ``'use'`` or ``'init'``, or some transition
-    target like :data:`waeup.sirp.accesscodes.workflow.INITIALIZED`.
+    target like :data:`waeup.kofa.accesscodes.workflow.INITIALIZED`.
 
     If `toward` is ``False`` (the default) you have to pass a
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt	(revision 7811)
@@ -1,11 +1,11 @@
-:mod:`waeup.sirp.accesscodes.accesscode` -- access codes (aka PINs)
+:mod:`waeup.kofa.accesscodes.accesscode` -- access codes (aka PINs)
 *******************************************************************
 
-.. module:: waeup.sirp.accesscodes.accesscode
+.. module:: waeup.kofa.accesscodes.accesscode
 
 Components that represent access codes and related.
 
 .. :NOdoctest:
-.. :NOlayer: waeup.sirp.testing.SIRPUnitTestLayer
+.. :NOlayer: waeup.kofa.testing.KOFAUnitTestLayer
 
 About access-codes
@@ -28,5 +28,5 @@
 unique random number of 10 digits.
 
-For the generation of the random number :mod:`waeup.sirp` requires a
+For the generation of the random number :mod:`waeup.kofa` requires a
 'urandom' entropy provider which is available with most standard
 Unix/Linux systems. This makes the generated numbers relatively
@@ -57,8 +57,8 @@
 
    The class implements
-   :mod:`waeup.sirp.accesscodes.interfaces.IAccessCode`:
-
-    >>> from waeup.sirp.accesscodes.interfaces import IAccessCode
-    >>> from waeup.sirp.accesscodes.accesscodes import AccessCode
+   :mod:`waeup.kofa.accesscodes.interfaces.IAccessCode`:
+
+    >>> from waeup.kofa.accesscodes.interfaces import IAccessCode
+    >>> from waeup.kofa.accesscodes.accesscodes import AccessCode
     >>> from zope.interface.verify import verifyClass
     >>> verifyClass(IAccessCode, AccessCode)
@@ -150,5 +150,5 @@
 
    A persistent :class:`grok.Model`. It implements
-   :class:`waeup.sirp.accesscodes.interfaces.IAccessCodeBatch`.
+   :class:`waeup.kofa.accesscodes.interfaces.IAccessCodeBatch`.
 
    When creating a batch, all entries (access-codes) are generated as
@@ -306,6 +306,6 @@
 :class:`AccessCodeBatch` implements :class:`IAccessCodeBatch`:
 
-    >>> from waeup.sirp.accesscodes.interfaces import IAccessCodeBatch
-    >>> from waeup.sirp.accesscodes.accesscodes import AccessCodeBatch
+    >>> from waeup.kofa.accesscodes.interfaces import IAccessCodeBatch
+    >>> from waeup.kofa.accesscodes.accesscodes import AccessCodeBatch
     >>> from zope.interface.verify import verifyClass
     >>> verifyClass(IAccessCodeBatch, AccessCodeBatch)
@@ -317,5 +317,5 @@
 
     >>> import datetime
-    >>> from waeup.sirp.accesscodes.accesscodes import AccessCodeBatch
+    >>> from waeup.kofa.accesscodes.accesscodes import AccessCodeBatch
     >>> batch = AccessCodeBatch(
     ...   datetime.datetime(2009, 12, 23), 'Fred','APP', 12.12, 3, num=10)
@@ -331,5 +331,5 @@
 
     >>> [x for x in batch.entries()]
-    [<waeup.sirp...AccessCode object at 0x...>, ...]
+    [<waeup.kofa...AccessCode object at 0x...>, ...]
 
 Getting a single entry from the batch:
@@ -338,5 +338,5 @@
     >>> ac = batch.getAccessCode(ac_id)
     >>> ac
-    <waeup.sirp...AccessCode object at 0x...>
+    <waeup.kofa...AccessCode object at 0x...>
 
     >>> ac is list(batch.entries())[0]
@@ -374,5 +374,5 @@
 #
 #    >>> batch.getAccessCodeForStudentId('some_user_id')
-#    <waeup.sirp...AccessCode object at 0x...>
+#    <waeup.kofa...AccessCode object at 0x...>
 #
 #Non-existent values will cause a :exc:`KeyError`:
@@ -440,5 +440,5 @@
     >>> result = batch.search(0, 'serial')
     >>> result
-    [<waeup.sirp...AccessCode object at 0x...>]
+    [<waeup.kofa...AccessCode object at 0x...>]
 
     >>> result[0].batch_serial
@@ -545,5 +545,5 @@
 Creating a batch container:
 
-    >>> from waeup.sirp.accesscodes.accesscodes import (
+    >>> from waeup.kofa.accesscodes.accesscodes import (
     ...   AccessCodeBatchContainer)
     >>> container = AccessCodeBatchContainer()
@@ -561,6 +561,6 @@
 
     >>> container.search(1, 'serial')
-    [<waeup.sirp...AccessCode object at 0x...>,
-     <waeup.sirp...AccessCode object at 0x...>]
+    [<waeup.kofa...AccessCode object at 0x...>,
+     <waeup.kofa...AccessCode object at 0x...>]
 
     >>> container.search('not-a-number', 'serial')
@@ -569,6 +569,6 @@
     >>> result = container.search('1', 'serial')
     >>> result
-    [<waeup.sirp...AccessCode object at 0x...>,
-     <waeup.sirp...AccessCode object at 0x...>]
+    [<waeup.kofa...AccessCode object at 0x...>,
+     <waeup.kofa...AccessCode object at 0x...>]
 
 Searching for ACs:
@@ -576,5 +576,5 @@
     >>> ac = result[0]
     >>> container.search(ac.representation, 'pin')
-    [<waeup.sirp...AccessCode object at 0x...>]
+    [<waeup.kofa...AccessCode object at 0x...>]
 
 Searching for student IDs:
@@ -583,5 +583,5 @@
 #    ...   ac.representation, 'some_user')
 #    >>> container.search('some_user', 'stud_id')
-#    [<waeup.sirp...AccessCode object at 0x...>]
+#    [<waeup.kofa...AccessCode object at 0x...>]
 
 
@@ -591,8 +591,8 @@
 .. class:: AccessCodePlugin
 
-  A `waeup.sirp` plugin that updates existing SIRP university
+  A `waeup.kofa` plugin that updates existing KOFA university
   instances so that they provide support for access-codes.
 
-  .. attribute:: grok.implements(ISIRPPluggable)
+  .. attribute:: grok.implements(IKOFAPluggable)
   .. attribute:: grok.name('accesscodes')
 
@@ -608,5 +608,5 @@
 
   The AccessCodePlugin is available as a global named utility for the
-  ISIRPPluggable interface named ``accesscodes``.
+  IKOFAPluggable interface named ``accesscodes``.
 
   It is looked up by a university instance when created, so that this
@@ -615,8 +615,8 @@
 
     >>> from zope.component import getUtility
-    >>> from waeup.sirp.interfaces import ISIRPPluggable
-    >>> plugin = getUtility(ISIRPPluggable, name='accesscodes')
+    >>> from waeup.kofa.interfaces import IKOFAPluggable
+    >>> plugin = getUtility(IKOFAPluggable, name='accesscodes')
     >>> plugin
-    <waeup.sirp.accesscodes.accesscodes.AccessCodePlugin object at 0x...>
+    <waeup.kofa.accesscodes.accesscodes.AccessCodePlugin object at 0x...>
 
   It provides a `setup()` and an `update()` method. Both have to be
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/api.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/api.txt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/api.txt	(revision 7811)
@@ -1,6 +1,6 @@
-:mod:`waeup.sirp.accesscodes` -- Access Codes
+:mod:`waeup.kofa.accesscodes` -- Access Codes
 *********************************************
 
-.. module:: waeup.sirp.accesscodes
+.. module:: waeup.kofa.accesscodes
 
 Components that represent access codes and related components.
@@ -9,5 +9,5 @@
 ==========
 
-The :mod:`waeup.sirp.accesscodes` module provides the following submodules:
+The :mod:`waeup.kofa.accesscodes` module provides the following submodules:
 
 .. toctree::
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py	(revision 7811)
@@ -21,20 +21,20 @@
 from datetime import datetime
 from hurry.workflow.interfaces import InvalidTransitionError
-from waeup.sirp.browser.resources import datatable
-from waeup.sirp.browser import SIRPPage, SIRPAddFormPage, NullValidator
-from waeup.sirp.browser.breadcrumbs import Breadcrumb
-from waeup.sirp.browser.viewlets import (
+from waeup.kofa.browser.resources import datatable
+from waeup.kofa.browser import KOFAPage, KOFAAddFormPage, NullValidator
+from waeup.kofa.browser.breadcrumbs import Breadcrumb
+from waeup.kofa.browser.viewlets import (
     AdminTask, AddActionButton, SearchActionButton, BatchOpButton, ManageLink)
-from waeup.sirp.interfaces import ISIRPObject
-from waeup.sirp.interfaces import MessageFactory as _
-from waeup.sirp.accesscodes.interfaces import (
+from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import MessageFactory as _
+from waeup.kofa.accesscodes.interfaces import (
     IAccessCodeBatchContainer, IAccessCodeBatch,
     )
-from waeup.sirp.accesscodes.catalog import search
-from waeup.sirp.browser.layout import action
-
-grok.context(ISIRPObject)
-
-class BatchContainerPage(SIRPPage):
+from waeup.kofa.accesscodes.catalog import search
+from waeup.kofa.browser.layout import action
+
+grok.context(IKOFAObject)
+
+class BatchContainerPage(KOFAPage):
     grok.name('index')
     grok.context(IAccessCodeBatchContainer)
@@ -55,5 +55,5 @@
         if isinstance(batches, basestring):
             batches = [batches]
-        ob_class = self.__implemented__.__name__.replace('waeup.sirp.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
         for name in batches:
             batch = self.context[name]
@@ -70,5 +70,5 @@
             self.context.logger_info(ob_class, message)
 
-class AddBatchPage(SIRPAddFormPage):
+class AddBatchPage(KOFAAddFormPage):
     grok.name('add')
     grok.context(IAccessCodeBatchContainer)
@@ -92,5 +92,5 @@
             mapping = {'a':data['entry_num']}))
         self.flash(_('Data written to ${a}', mapping = {'a':csv_file}))
-        ob_class = self.__implemented__.__name__.replace('waeup.sirp.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
         message = 'created: %s (%d, %f)' % (
             csv_file, data['entry_num'], data['cost'])
@@ -103,5 +103,5 @@
         self.redirect(self.url(self.context))
 
-class ReimportBatchPage(SIRPPage):
+class ReimportBatchPage(KOFAPage):
     """Screen for reimporting AC batches.
     """
@@ -139,10 +139,10 @@
             self.flash(_('Successfully reimported: ${a}',
                 mapping = {'a':filename}))
-            ob_class = self.__implemented__.__name__.replace('waeup.sirp.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
             message = 'reimported: %s' % filename
             self.context.logger_info(ob_class, message)
         self.redirect(self.url(self.context))
 
-class BatchContainerSearchPage(SIRPPage):
+class BatchContainerSearchPage(KOFAPage):
     grok.name('search')
     grok.context(IAccessCodeBatchContainer)
@@ -174,5 +174,5 @@
         if isinstance(entries, basestring):
             entries = [entries]
-        ob_class = self.__implemented__.__name__.replace('waeup.sirp.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
         for entry in entries:
             if 'disable' in form:
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt	(revision 7811)
@@ -1,8 +1,8 @@
-:mod:`waeup.sirp.accesscodes.browser` -- UI components for access-codes
+:mod:`waeup.kofa.accesscodes.browser` -- UI components for access-codes
 ***********************************************************************
 
-.. module:: waeup.sirp.accesscodes.browser
-
-Here we visit the access-code related parts of a SIRP site using
+.. module:: waeup.kofa.accesscodes.browser
+
+Here we visit the access-code related parts of a KOFA site using
 a virtual browser.
 
@@ -20,5 +20,5 @@
     >>> root = getRootFolder()
 
-    >>> from waeup.sirp.app import University
+    >>> from waeup.kofa.app import University
     >>> u = University()
     >>> root['myuniversity'] = u
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/batchcontainer.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/batchcontainer.pt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/batchcontainer.pt	(revision 7811)
@@ -1,3 +1,3 @@
-<form i18n:domain="waeup.sirp" method="POST">
+<form i18n:domain="waeup.kofa" method="POST">
   <p i18n:translate="">
     The following batches are available:
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/reimportbatchpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/reimportbatchpage.pt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/reimportbatchpage.pt	(revision 7811)
@@ -1,7 +1,7 @@
-<p i18n:domain="waeup.sirp">
+<p i18n:domain="waeup.kofa">
 Please select the files to reimport. Please note, that batches with
 same name have to be deleted before.
 </p>
-<form method="POST" i18n:domain="waeup.sirp">
+<form method="POST" i18n:domain="waeup.kofa">
   <table>
     <thead>
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/searchpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/searchpage.pt	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser_templates/searchpage.pt	(revision 7811)
@@ -1,3 +1,3 @@
-<form method="POST" i18n:domain="waeup.sirp">
+<form method="POST" i18n:domain="waeup.kofa">
 <br />
   <input type="submit" class="btn primary" name="search"
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/catalog.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/catalog.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/catalog.py	(revision 7811)
@@ -23,6 +23,6 @@
 from hurry.query.query import Query
 from zope.index.text.parsetree import ParseError
-from waeup.sirp.interfaces import IUniversity, IQueryResultItem
-from waeup.sirp.accesscodes.interfaces import IAccessCode
+from waeup.kofa.interfaces import IUniversity, IQueryResultItem
+from waeup.kofa.accesscodes.interfaces import IAccessCode
 
 class AccessCodeIndexes(grok.Indexes):
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py	(revision 7811)
@@ -20,8 +20,8 @@
 from zope import schema
 from zope.interface import Interface
-from waeup.sirp.interfaces import ISIRPObject
-from waeup.sirp.interfaces import MessageFactory as _
+from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import MessageFactory as _
 
-class IAccessCode(ISIRPObject):
+class IAccessCode(IKOFAObject):
     """An access code.
     """
@@ -92,5 +92,5 @@
         )
 
-class IAccessCodeBatchContainer(ISIRPObject):
+class IAccessCodeBatchContainer(IKOFAObject):
     """A container for access code batches.
     """
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_accesscode.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_accesscode.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_accesscode.py	(revision 7811)
@@ -28,15 +28,15 @@
 from zope.interface.verify import verifyObject, verifyClass
 from zope.testing import renormalizing
-from waeup.sirp.app import University
-from waeup.sirp.interfaces import IObjectHistory, ISIRPPluggable
-from waeup.sirp.testing import (
+from waeup.kofa.app import University
+from waeup.kofa.interfaces import IObjectHistory, IKOFAPluggable
+from waeup.kofa.testing import (
     FunctionalLayer, FunctionalTestCase, setUp, tearDown, getRootFolder)
-from waeup.sirp.accesscodes.accesscode import (
+from waeup.kofa.accesscodes.accesscode import (
     AccessCodeBatch, get_access_code, invalidate_accesscode, AccessCode,
     disable_accesscode, reenable_accesscode, fire_transition,
     AccessCodeBatchContainer, AccessCodePlugin)
-from waeup.sirp.accesscodes.interfaces import (
+from waeup.kofa.accesscodes.interfaces import (
     IAccessCode, IAccessCodeBatch,  IAccessCodeBatchContainer,)
-from waeup.sirp.accesscodes.workflow import INITIALIZED, USED, DISABLED
+from waeup.kofa.accesscodes.workflow import INITIALIZED, USED, DISABLED
 
 
@@ -412,6 +412,6 @@
     def test_iface(self):
         plugin = AccessCodePlugin()
-        assert verifyObject(ISIRPPluggable, plugin)
-        assert verifyClass(ISIRPPluggable, AccessCodePlugin)
+        assert verifyObject(IKOFAPluggable, plugin)
+        assert verifyClass(IKOFAPluggable, AccessCodePlugin)
 
     def test_update_w_ac_container(self):
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_catalog.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_catalog.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_catalog.py	(revision 7811)
@@ -22,11 +22,11 @@
 from zope.component.hooks import setSite
 from zope.interface.verify import verifyClass, verifyObject
-from waeup.sirp.app import University
-from waeup.sirp.interfaces import IQueryResultItem
-from waeup.sirp.testing import FunctionalLayer, FunctionalTestCase
-from waeup.sirp.accesscodes.accesscode import (
+from waeup.kofa.app import University
+from waeup.kofa.interfaces import IQueryResultItem
+from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
+from waeup.kofa.accesscodes.accesscode import (
     AccessCodeBatch, invalidate_accesscode, disable_accesscode)
-from waeup.sirp.accesscodes.workflow import INITIALIZED, USED, DISABLED
-from waeup.sirp.accesscodes.catalog import AccessCodeQueryResultItem, search
+from waeup.kofa.accesscodes.workflow import INITIALIZED, USED, DISABLED
+from waeup.kofa.accesscodes.catalog import AccessCodeQueryResultItem, search
 
 class CatalogTestSetup(FunctionalTestCase):
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_workflow.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_workflow.py	(revision 7811)
@@ -18,6 +18,6 @@
 import shutil
 import tempfile
-from waeup.sirp.testing import FunctionalLayer, FunctionalTestCase
-from waeup.sirp.accesscodes.workflow import (
+from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
+from waeup.kofa.accesscodes.workflow import (
     invalidate_action, disable_used_action, disable_unused_action,
     reenable_action,
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/workflow.py	(revision 7809)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/workflow.py	(revision 7811)
@@ -25,8 +25,8 @@
 from hurry.workflow.workflow import Transition, WorkflowState, NullCondition
 from hurry.workflow.interfaces import IWorkflowState, IWorkflowTransitionEvent
-from waeup.sirp.accesscodes.interfaces import IAccessCode
-from waeup.sirp.interfaces import IObjectHistory, ISIRPWorkflowInfo
-from waeup.sirp.interfaces import MessageFactory as _
-from waeup.sirp.workflow import SIRPWorkflow, SIRPWorkflowInfo
+from waeup.kofa.accesscodes.interfaces import IAccessCode
+from waeup.kofa.interfaces import IObjectHistory, IKOFAWorkflowInfo
+from waeup.kofa.interfaces import MessageFactory as _
+from waeup.kofa.workflow import KOFAWorkflow, KOFAWorkflowInfo
 
 INITIALIZED = 'initialized'
@@ -113,5 +113,5 @@
     )
 
-accesscode_workflow = SIRPWorkflow(ACCESSCODE_TRANSITIONS)
+accesscode_workflow = KOFAWorkflow(ACCESSCODE_TRANSITIONS)
 
 class AccessCodeWorkflowState(WorkflowState, grok.Adapter):
@@ -122,7 +122,7 @@
     state_id = 'wf.accesscode.id'
 
-class AccessCodeWorkflowInfo(SIRPWorkflowInfo, grok.Adapter):
+class AccessCodeWorkflowInfo(KOFAWorkflowInfo, grok.Adapter):
     grok.context(IAccessCode)
-    grok.provides(ISIRPWorkflowInfo)
+    grok.provides(IKOFAWorkflowInfo)
 
     def __init__(self, context):
