Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/api.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/api.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/api.txt	(revision 11949)
@@ -1,6 +1,6 @@
-:mod:`waeup.kofa.utils` -- misc. helpers
+:mod:`waeup.ikoba.utils` -- misc. helpers
 ****************************************
 
-.. module:: waeup.kofa.utils
+.. module:: waeup.ikoba.utils
 
 Components and other stuff of general interest.
@@ -9,5 +9,5 @@
 ==========
 
-The :mod:`waeup.kofa.utils` module provides the following submodules:
+The :mod:`waeup.ikoba.utils` module provides the following submodules:
 
 .. toctree::
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/batching.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.py	(revision 11949)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""Kofa components for batch processing.
+"""Ikoba components for batch processing.
 
 Batch processors eat CSV files to add, update or remove large numbers
@@ -37,6 +37,6 @@
 from zope.schema.interfaces import ConstraintNotSatisfied
 from zope.event import notify
-from waeup.kofa.async import AsyncJob
-from waeup.kofa.interfaces import (
+from waeup.ikoba.async import AsyncJob
+from waeup.ikoba.interfaces import (
     IBatchProcessor, FatalCSVError, IObjectConverter, IJobManager,
     ICSVExporter, IGNORE_MARKER, DuplicationError, JOB_STATUS_MAP,
@@ -563,5 +563,5 @@
 
     The real work is done when an instance of this class is put into a
-    queue. See :mod:`waeup.kofa.async` to learn more about
+    queue. See :mod:`waeup.ikoba.async` to learn more about
     asynchronous jobs.
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/batching.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/batching.txt	(revision 11949)
@@ -1,3 +1,3 @@
-:mod:`waeup.kofa.utils.batching` -- Batch processing
+:mod:`waeup.ikoba.utils.batching` -- Batch processing
 ****************************************************
 
@@ -188,6 +188,6 @@
 All we need, is a batch processor now.
 
-    >>> from waeup.kofa.utils.batching import BatchProcessor
-    >>> from waeup.kofa.interfaces import IGNORE_MARKER
+    >>> from waeup.ikoba.utils.batching import BatchProcessor
+    >>> from waeup.ikoba.interfaces import IGNORE_MARKER
     >>> class CaveProcessor(BatchProcessor):
     ...   util_name = 'caveprocessor'
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/browser.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/browser.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/browser.py	(revision 11949)
@@ -22,8 +22,8 @@
 from zope.catalog.interfaces import ICatalog
 from zope.component import queryUtility, getUtility, createObject
-from waeup.kofa.browser.layout import UtilityView
-from waeup.kofa.interfaces import IObjectHistory
+from waeup.ikoba.browser.layout import UtilityView
+from waeup.ikoba.interfaces import IObjectHistory
 
-from waeup.kofa.interfaces import IUniversity
+from waeup.ikoba.interfaces import IUniversity
 
 class ReindexPage(UtilityView, grok.View):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/converters.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/converters.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/converters.py	(revision 11949)
@@ -28,9 +28,9 @@
 from zope.publisher.browser import TestRequest
 from zope.schema.interfaces import IList
-from waeup.kofa.interfaces import (
+from waeup.ikoba.interfaces import (
     IObjectConverter, IResultEntryField, IFieldConverter, SubjectSource,
     GradeSource, DELETION_MARKER, IGNORE_MARKER)
-from waeup.kofa.schema.interfaces import IPhoneNumber
-from waeup.kofa.schoolgrades import ResultEntry
+from waeup.ikoba.schema.interfaces import IPhoneNumber
+from waeup.ikoba.schoolgrades import ResultEntry
 
 class ExtendedCheckBoxWidget(CheckBoxWidget):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/converters.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/converters.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/converters.txt	(revision 11949)
@@ -1,6 +1,6 @@
-:mod:`waeup.kofa.utils.converters` -- Converters
+:mod:`waeup.ikoba.utils.converters` -- Converters
 ************************************************
 
-.. module:: waeup.kofa.utils.converters
+.. module:: waeup.ikoba.utils.converters
 
 Converters for :mod:`zope.schema` based data.
@@ -10,5 +10,5 @@
 
 .. :NOdoctest:
-.. :NOlayer: waeup.kofa.testing.KofaUnitTestLayer
+.. :NOlayer: waeup.ikoba.testing.IkobaUnitTestLayer
 
 
@@ -21,5 +21,5 @@
    'non-values'. Current setting is:
 
-      >>> from waeup.kofa.utils.converters import NONE_STRING_VALUE
+      >>> from waeup.ikoba.utils.converters import NONE_STRING_VALUE
       >>> NONE_STRING_VALUE
       ''
@@ -32,5 +32,5 @@
 ========
 
-The :mod:`waeup.kofa.utils.converters` module is basically a collection of
+The :mod:`waeup.ikoba.utils.converters` module is basically a collection of
 adapters for field types of :mod:`zope.schema`.
 
@@ -48,5 +48,5 @@
    `zope.schema.Choice` or similar.
 
-   .. method:: provides(waeup.kofa.interfaces.ISchemaTypeConverter)
+   .. method:: provides(waeup.ikoba.interfaces.ISchemaTypeConverter)
 
    .. method:: _convertValueFromString(string)
@@ -111,5 +111,5 @@
    .. method:: adapts(zope.schema.IText)
 
-   .. method:: provides(waeup.kofa.interfaces.ISchemaTypeConverter)
+   .. method:: provides(waeup.ikoba.interfaces.ISchemaTypeConverter)
 
    .. method:: fromString(string[, strict=True])
@@ -150,5 +150,5 @@
    .. method:: adapts(zope.schema.IBool)
 
-   .. method:: provides(waeup.kofa.interfaces.ISchemaTypeConverter)
+   .. method:: provides(waeup.ikoba.interfaces.ISchemaTypeConverter)
 
    .. method:: fromString(string[, strict=True])
@@ -191,5 +191,5 @@
    .. method:: adapts(zope.schema.IInt)
 
-   .. method:: provides(waeup.kofa.interfaces.ISchemaTypeConverter)
+   .. method:: provides(waeup.ikoba.interfaces.ISchemaTypeConverter)
 
    .. method:: fromString(string[, strict=True])
@@ -232,5 +232,5 @@
    .. method:: adapts(zope.schema.IChoice)
 
-   .. method:: provides(waeup.kofa.interfaces.ISchemaTypeConverter)
+   .. method:: provides(waeup.ikoba.interfaces.ISchemaTypeConverter)
 
    .. method:: fromString(string[, strict=False])
@@ -272,5 +272,5 @@
 ----------------------
 
-.. autoclass:: waeup.kofa.utils.converters.DateConverter
+.. autoclass:: waeup.ikoba.utils.converters.DateConverter
    :members:
    :inherited-members:
@@ -294,10 +294,10 @@
 :class:`TextConverter` instance:
 
-    >>> from waeup.kofa.utils.converters import TextConverter
+    >>> from waeup.ikoba.utils.converters import TextConverter
     >>> converter = TextConverter(field)
 
 Or we can just grab a registered adapter:
 
-    >>> from waeup.kofa.interfaces import ISchemaTypeConverter
+    >>> from waeup.ikoba.interfaces import ISchemaTypeConverter
     >>> converter = ISchemaTypeConverter(field)
 
@@ -305,5 +305,5 @@
 
     >>> converter
-    <waeup.kofa.utils.converters.TextConverter object at 0x...>
+    <waeup.ikoba.utils.converters.TextConverter object at 0x...>
 
 Now we can convert strings to this type:
@@ -382,10 +382,10 @@
 :class:`BoolConverter` instance:
 
-    >>> from waeup.kofa.utils.converters import BoolConverter
+    >>> from waeup.ikoba.utils.converters import BoolConverter
     >>> converter = BoolConverter(field)
 
 Or we can just grab a registered adapter:
 
-    >>> from waeup.kofa.interfaces import ISchemaTypeConverter
+    >>> from waeup.ikoba.interfaces import ISchemaTypeConverter
     >>> converter = ISchemaTypeConverter(field)
 
@@ -393,5 +393,5 @@
 
     >>> converter
-    <waeup.kofa.utils.converters.BoolConverter object at 0x...>
+    <waeup.ikoba.utils.converters.BoolConverter object at 0x...>
 
 Now we can convert strings to this type:
@@ -494,10 +494,10 @@
 :class:`IntConverter` instance:
 
-    >>> from waeup.kofa.utils.converters import IntConverter
+    >>> from waeup.ikoba.utils.converters import IntConverter
     >>> converter = IntConverter(field)
 
 Or we can just grab a registered adapter:
 
-    >>> from waeup.kofa.interfaces import ISchemaTypeConverter
+    >>> from waeup.ikoba.interfaces import ISchemaTypeConverter
     >>> converter = ISchemaTypeConverter(field)
 
@@ -505,5 +505,5 @@
 
     >>> converter
-    <waeup.kofa.utils.converters.IntConverter object at 0x...>
+    <waeup.ikoba.utils.converters.IntConverter object at 0x...>
 
 Now we can convert strings to this type:
@@ -597,10 +597,10 @@
 :class:`ChoiceConverter` instance:
 
-    >>> from waeup.kofa.utils.converters import ChoiceConverter
+    >>> from waeup.ikoba.utils.converters import ChoiceConverter
     >>> converter = ChoiceConverter(field)
 
 Or we can just grab a registered adapter:
 
-    >>> from waeup.kofa.interfaces import ISchemaTypeConverter
+    >>> from waeup.ikoba.interfaces import ISchemaTypeConverter
     >>> converter = ISchemaTypeConverter(field)
 
@@ -608,5 +608,5 @@
 
     >>> converter
-    <waeup.kofa.utils.converters.ChoiceConverter object at 0x...>
+    <waeup.ikoba.utils.converters.ChoiceConverter object at 0x...>
 
 Now we can convert strings to this type:
@@ -672,9 +672,9 @@
     '1'
 
-    >>> from waeup.kofa.interfaces import SimpleKofaVocabulary
+    >>> from waeup.ikoba.interfaces import SimpleIkobaVocabulary
     >>> field = Choice(
     ...   title = u'Favourite Dish',
     ...   default = 0,
-    ...   vocabulary = SimpleKofaVocabulary(
+    ...   vocabulary = SimpleIkobaVocabulary(
     ...        ('N/A', 0), ('Pizza', 1),
     ...        ('Cake', 2), ('Muffins', 3)),
@@ -730,5 +730,5 @@
 
 We get a converter for this field in the usual way. The
-:meth:`waeup.kofa.utils.converters.fromString()` method will return one of
+:meth:`waeup.ikoba.utils.converters.fromString()` method will return one of
 the objects if we feed it with ``'Wilma'`` or ``'Fred'``:
 
@@ -763,10 +763,10 @@
 :class:`IntConverter` instance:
 
-    >>> from waeup.kofa.utils.converters import DateConverter
+    >>> from waeup.ikoba.utils.converters import DateConverter
     >>> converter = DateConverter(field)
 
 Or we can just grab a registered adapter:
 
-    >>> from waeup.kofa.interfaces import ISchemaTypeConverter
+    >>> from waeup.ikoba.interfaces import ISchemaTypeConverter
     >>> converter = ISchemaTypeConverter(field)
 
@@ -774,5 +774,5 @@
 
     >>> converter
-    <waeup.kofa.utils.converters.DateConverter object at 0x...>
+    <waeup.ikoba.utils.converters.DateConverter object at 0x...>
 
 Now we can convert strings to this type:
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/countries.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/countries.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/countries.py	(revision 11949)
@@ -3,5 +3,5 @@
 # This file was automatically generated. Please do not edit
 #
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.interfaces import MessageFactory as _
 
 COUNTRIES = (
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/country_helpers.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/country_helpers.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/country_helpers.py	(revision 11949)
@@ -10,7 +10,7 @@
 them like this::
 
-  $ ./bin/kofactl debug
-  >>> from waeup.kofa.utils.country_helpers import update_list
-  >>> from waeup.kofa.utils.country_helpers import update_module
+  $ ./bin/ikobactl debug
+  >>> from waeup.ikoba.utils.country_helpers import update_list
+  >>> from waeup.ikoba.utils.country_helpers import update_module
   >>> update_list()
   >>> update_module()
@@ -34,5 +34,5 @@
 # This file was automatically generated. Please do not edit
 #
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.interfaces import MessageFactory as _
 
 COUNTRIES = ${COUNTRY_LIST}
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/helpers.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.py	(revision 11949)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""General helper functions for Kofa.
+"""General helper functions for Ikoba.
 """
 import unicodecsv as csv  # XXX: csv ops should move to dedicated module.
@@ -160,5 +160,5 @@
     instances of certain classes when called.
 
-    In :mod:`waeup.kofa` we use factories extensively for
+    In :mod:`waeup.ikoba` we use factories extensively for
     batching. While processing a batch some processors looks up a
     factory to create real-world instances that then get filled with
@@ -172,5 +172,5 @@
 
        >>> import grok
-       >>> from waeup.kofa.utils.helpers import FactoryBase
+       >>> from waeup.ikoba.utils.helpers import FactoryBase
        >>> class MyObject(object):
        ...   # Some class we want to get instances of.
@@ -178,5 +178,5 @@
        >>> class MyObjectFactory(FactoryBase):
        ...   # This is the factory for MyObject instances
-       ...   grok.name(u'waeup.kofa.factory.MyObject')
+       ...   grok.name(u'waeup.ikoba.factory.MyObject')
        ...   factory = MyObject
 
@@ -185,5 +185,5 @@
     called. The given name must even be unique amongst all utilities
     registered during runtime. While you can pick any name you like
-    you might want to prepend ``waeup.kofa.factory.`` to the name
+    you might want to prepend ``waeup.ikoba.factory.`` to the name
     string to make sure it does not clash with names of other
     utilities one day.
@@ -192,8 +192,8 @@
     freshly defined factory. This executes all the component
     registration stuff we don't want to do ourselves. In daily use
-    this is done automatically on startup of a :mod:`waeup.kofa`
+    this is done automatically on startup of a :mod:`waeup.ikoba`
     system.
 
-       >>> grok.testing.grok('waeup.kofa.utils.helpers')
+       >>> grok.testing.grok('waeup.ikoba.utils.helpers')
        >>> grok.testing.grok_component(
        ...    'MyObjectFactory', MyObjectFactory
@@ -206,5 +206,5 @@
 
        >>> from zope.component import createObject
-       >>> obj = createObject('waeup.kofa.factory.MyObject')
+       >>> obj = createObject('waeup.ikoba.factory.MyObject')
        >>> isinstance(obj, MyObject)
        True
@@ -216,5 +216,5 @@
        >>> from zope.component.interfaces import IFactory
        >>> factory = getUtility(
-       ...   IFactory, name='waeup.kofa.factory.MyObject'
+       ...   IFactory, name='waeup.ikoba.factory.MyObject'
        ...   )
        >>> isinstance(factory, MyObjectFactory)
@@ -261,5 +261,5 @@
     HTML code:
 
-        >>> from waeup.kofa.utils.helpers import ReST2HTML
+        >>> from waeup.ikoba.utils.helpers import ReST2HTML
         >>> source = '''
         ... Headline
@@ -649,5 +649,5 @@
     `pdf`.
 
-    More filetypes (though untested in waeup.kofa) are automatically
+    More filetypes (though untested in waeup.ikoba) are automatically
     recognized because we deploy the stdlib `imghdr` library. See this
     module's docs for a complete list of filetypes recognized.
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/helpers.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/helpers.txt	(revision 11949)
@@ -1,8 +1,8 @@
-:mod:`waeup.kofa.utils.helpers` -- Helpers for Kofa
+:mod:`waeup.ikoba.utils.helpers` -- Helpers for Ikoba
 ***************************************************
 
-.. module:: waeup.kofa.utils.helpers
-
-Helper functions for Kofa.
+.. module:: waeup.ikoba.utils.helpers
+
+Helper functions for Ikoba.
 
 .. :doctest:
@@ -21,5 +21,5 @@
      >>> os.chdir(new_location)
 
-     >>> from waeup.kofa.utils.helpers import remove_file_or_directory
+     >>> from waeup.ikoba.utils.helpers import remove_file_or_directory
      >>> open('blah', 'wb').write('nonsense')
      >>> 'blah' in os.listdir('.')
@@ -72,5 +72,5 @@
      >>> open(os.path.join('src', 'blah'), 'wb').write('nonsense')
 
-     >>> from waeup.kofa.utils.helpers import copy_filesystem_tree
+     >>> from waeup.ikoba.utils.helpers import copy_filesystem_tree
      >>> result = copy_filesystem_tree('src', 'dst')
 
@@ -179,5 +179,5 @@
    returned with all preceeding/following stuff stripped:
 
-     >>> from waeup.kofa.utils.helpers import get_inner_HTML_part
+     >>> from waeup.ikoba.utils.helpers import get_inner_HTML_part
      >>> print get_inner_HTML_part("""<html>
      ... <head>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/importexport.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/importexport.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/importexport.py	(revision 11949)
@@ -22,6 +22,6 @@
 from cStringIO import StringIO
 from zope.interface import Interface
-from waeup.kofa.interfaces import (IKofaObject, IKofaExporter,
-                                   IKofaXMLExporter, IKofaXMLImporter)
+from waeup.ikoba.interfaces import (IIkobaObject, IIkobaExporter,
+                                   IIkobaXMLExporter, IIkobaXMLImporter)
 
 def readFile(f):
@@ -40,11 +40,11 @@
 
 class Exporter(grok.Adapter):
-    """Export a Kofa object as pickle.
+    """Export a Ikoba object as pickle.
 
     This all-purpose exporter exports attributes defined in schemata
     and contained objects (if the exported thing is a container).
     """
-    grok.context(IKofaObject)
-    grok.provides(IKofaExporter)
+    grok.context(IIkobaObject)
+    grok.provides(IIkobaExporter)
 
     def __init__(self, context):
@@ -61,5 +61,5 @@
 
 class XMLExporter(grok.Adapter):
-    """Export a Kofa object as XML.
+    """Export a Ikoba object as XML.
 
     This all-purpose exporter exports XML representations of pickable
@@ -67,5 +67,5 @@
     """
     grok.context(Interface)
-    grok.provides(IKofaXMLExporter)
+    grok.provides(IIkobaXMLExporter)
 
     def __init__(self, context):
@@ -84,8 +84,8 @@
 
 class XMLImporter(grok.Adapter):
-    """Import a Kofa object from XML.
+    """Import a Ikoba object from XML.
     """
     grok.context(Interface)
-    grok.provides(IKofaXMLImporter)
+    grok.provides(IIkobaXMLImporter)
 
     def __init__(self, context):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/importexport.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/importexport.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/importexport.txt	(revision 11949)
@@ -6,5 +6,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KofaUnitTestLayer
+.. :layer: waeup.ikoba.testing.IkobaUnitTestLayer
 
 As imports and exports of data are a cruical point when doing updates
@@ -60,8 +60,8 @@
 an exporter::
 
-    >>> from waeup.kofa.interfaces import IKofaXMLExporter
-    >>> exporter = IKofaXMLExporter(mycave)
+    >>> from waeup.ikoba.interfaces import IIkobaXMLExporter
+    >>> exporter = IIkobaXMLExporter(mycave)
     >>> exporter
-    <waeup.kofa.utils.importexport.XMLExporter object at 0x...>
+    <waeup.ikoba.utils.importexport.XMLExporter object at 0x...>
 
 All exporters provide an ``export(<obj>)`` method::
@@ -101,6 +101,6 @@
 Now we create an importer for that object:
 
-    >>> from waeup.kofa.interfaces import IKofaXMLImporter
-    >>> importer = IKofaXMLImporter(mycave)
+    >>> from waeup.ikoba.interfaces import IIkobaXMLImporter
+    >>> importer = IIkobaXMLImporter(mycave)
 
 Importing from filenames
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/logger.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/logger.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/logger.py	(revision 11949)
@@ -19,6 +19,6 @@
 Convenience stuff for logging.
 
-Main component of :mod:`waeup.kofa.utils.logging` is a mix-in class
-:class:`waeup.kofa.utils.logging.Logger`. Classes derived (also) from
+Main component of :mod:`waeup.ikoba.utils.logging` is a mix-in class
+:class:`waeup.ikoba.utils.logging.Logger`. Classes derived (also) from
 that mix-in provide a `logger` attribute that returns a regular Python
 logger logging to a rotating log file stored in the datacenter storage
@@ -30,5 +30,5 @@
 The `logger_name` tells under which name the logger should be
 registered Python-wise. This is usually a dotted name string like
-``waeup.kofa.${sitename}.mycomponent`` which should be unique. If you
+``waeup.ikoba.${sitename}.mycomponent`` which should be unique. If you
 pick a name already used by another component, trouble is ahead. The
 ``${sitename}`` chunk of the name can be set literally like this. The
@@ -46,9 +46,9 @@
 your `logger_name` and `logger_filename` attribute and off you go::
 
-  from waeup.kofa.utils.logger import Logger
+  from waeup.ikoba.utils.logger import Logger
 
   class MyComponent(object, Logger):
       # Yes that's a complete working class
-      logger_name = 'waeup.kofa.${sitename}.mycomponent
+      logger_name = 'waeup.ikoba.${sitename}.mycomponent
       logger_filename = 'mycomponent.log'
 
@@ -67,5 +67,5 @@
 
 The datacenter and its storage are created automatically when you
-create a :class:`waeup.kofa.app.University`. This also means that
+create a :class:`waeup.ikoba.app.University`. This also means that
 logging with the `Logger` mix-in will work only inside so-called sites
 (`University` instances put into ZODB are such `sites`).
@@ -82,7 +82,7 @@
 from zope.component import queryUtility
 from zope.interface import Interface, Attribute, implements
-from waeup.kofa.interfaces import (
+from waeup.ikoba.interfaces import (
     IDataCenter, IDataCenterStorageMovedEvent, ILoggerCollector)
-from waeup.kofa.utils.helpers import get_current_principal
+from waeup.ikoba.utils.helpers import get_current_principal
 
 #: Default logfile size (5 KB, not relevant for DatedRotatingFileHandlers)
@@ -154,8 +154,8 @@
 
     #: The Python logger name used when
-    #: logging. ``'waeup.kofa.${sitename}'`` by default. You can use the
+    #: logging. ``'waeup.ikoba.${sitename}'`` by default. You can use the
     #: ``${sitename}`` placeholder in that string, which will be
     #: replaced by the actual used site name.
-    logger_name = 'waeup.kofa.${sitename}'
+    logger_name = 'waeup.ikoba.${sitename}'
 
     #: The format to use when logging.
@@ -386,5 +386,5 @@
     return
 
-from waeup.kofa.interfaces import IUniversity
+from waeup.ikoba.interfaces import IUniversity
 @grok.subscribe(IUniversity, grok.IObjectRemovedEvent)
 def handle_site_removed(obj, event):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_batching.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_batching.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_batching.py	(revision 11949)
@@ -30,11 +30,11 @@
 from zope.component.interfaces import IFactory
 from zope.interface import Interface, implements, verify
-from waeup.kofa.app import University
-from waeup.kofa.interfaces import (
+from waeup.ikoba.app import University
+from waeup.ikoba.interfaces import (
     ICSVExporter, IBatchProcessor, IExportJobContainer, IJobManager,
     IExportJob, IExportContainerFinder)
-from waeup.kofa.testing import (
+from waeup.ikoba.testing import (
     FunctionalLayer, FunctionalTestCase, FakeJob, FakeJobManager)
-from waeup.kofa.utils.batching import (
+from waeup.ikoba.utils.batching import (
     ExporterBase, BatchProcessor, export_job, AsyncExportJob,
     ExportJobContainer, VirtualExportJobContainer, ExportContainerFinder)
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_converters.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_converters.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_converters.py	(revision 11949)
@@ -32,22 +32,22 @@
     Interface, implements, invariant, Invalid, implementedBy, verify)
 
-from waeup.kofa.app import University
-from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
-from waeup.kofa.interfaces import (
-    SimpleKofaVocabulary, SubjectSource, GradeSource, IFieldConverter,
+from waeup.ikoba.app import University
+from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
+from waeup.ikoba.interfaces import (
+    SimpleIkobaVocabulary, SubjectSource, GradeSource, IFieldConverter,
     DELETION_MARKER, IGNORE_MARKER)
-from waeup.kofa.schoolgrades import ResultEntryField
-from waeup.kofa.utils.converters import (
+from waeup.ikoba.schoolgrades import ResultEntryField
+from waeup.ikoba.utils.converters import (
     IObjectConverter, IFieldConverter, DefaultFieldConverter,
     ListFieldConverter, PhoneNumberFieldConverter, ResultEntryConverter,
     DefaultObjectConverter)
-from waeup.kofa.utils.helpers import attrs_to_fields
-
-colors = SimpleKofaVocabulary(
+from waeup.ikoba.utils.helpers import attrs_to_fields
+
+colors = SimpleIkobaVocabulary(
     ('Red', u'red'),
     ('Green', u'green'),
     ('Blue', u'blue'),
     )
-car_nums = SimpleKofaVocabulary(
+car_nums = SimpleIkobaVocabulary(
     ('None', 0),
     ('One', 1),
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_doctests.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_doctests.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_doctests.py	(revision 11949)
@@ -18,5 +18,5 @@
 """Register doctests from utils subpackage.
 """
-from waeup.kofa.testing import get_doctest_suite
+from waeup.ikoba.testing import get_doctest_suite
 
 def test_suite():
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_helpers.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_helpers.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_helpers.py	(revision 11949)
@@ -31,5 +31,5 @@
 from zope.security.testing import Principal, Participation
 from zope.security.management import newInteraction, endInteraction
-from waeup.kofa.utils import helpers
+from waeup.ikoba.utils import helpers
 
 class IFakeObject(Interface):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_logger.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_logger.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_logger.py	(revision 11949)
@@ -17,5 +17,5 @@
 ##
 
-# Tests for waeup.kofa.utils.logger
+# Tests for waeup.ikoba.utils.logger
 import logging
 import os
@@ -25,8 +25,8 @@
 from zope.component.hooks import setSite, clearSite
 from zope.interface.verify import verifyClass, verifyObject
-from waeup.kofa.app import University
-from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
-
-from waeup.kofa.utils.logger import (
+from waeup.ikoba.app import University
+from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
+
+from waeup.ikoba.utils.logger import (
     Logger, MAX_BYTES, BACKUP_COUNT, ILoggerCollector, LoggerCollector,
     ILogger)
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_utils.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/tests/test_utils.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/tests/test_utils.py	(revision 11949)
@@ -21,10 +21,10 @@
 import sys
 import unittest
-from waeup.kofa.interfaces import IKofaUtils
-from waeup.kofa.utils.utils import KofaUtils
+from waeup.ikoba.interfaces import IIkobaUtils
+from waeup.ikoba.utils.utils import IkobaUtils
 from zope.interface import verify
 
 
-class KofaUtilsTestCase(unittest.TestCase):
+class IkobaUtilsTestCase(unittest.TestCase):
 
     def setUp(self):
@@ -36,5 +36,5 @@
         # Helper: get a `KofUtil` instance with all values of
         # SYSTEM_MAX_LOAD dict set to ``None``
-        util = KofaUtils()
+        util = IkobaUtils()
         for key, val in util.SYSTEM_MAX_LOAD.items():
             util.SYSTEM_MAX_LOAD[key] = None
@@ -42,8 +42,8 @@
 
     def test_iface(self):
-        # KofaUtils fullfill IKofaUtils expectations
-        utils = KofaUtils()
-        verify.verifyClass(IKofaUtils, KofaUtils)
-        verify.verifyObject(IKofaUtils, utils)
+        # IkobaUtils fullfill IIkobaUtils expectations
+        utils = IkobaUtils()
+        verify.verifyClass(IIkobaUtils, IkobaUtils)
+        verify.verifyObject(IIkobaUtils, utils)
 
     def test_expensive_actions_allowed_swap_none(self):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/utils.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/utils/utils.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/utils/utils.py	(revision 11949)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""General helper utilities for Kofa.
+"""General helper utilities for Ikoba.
 """
 import grok
@@ -25,8 +25,8 @@
 from random import SystemRandom as r
 from zope.i18n import translate
-from waeup.kofa.interfaces import IKofaUtils
-from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.smtp import send_mail as send_mail_internally
-from waeup.kofa.utils.helpers import get_sorted_preferred
+from waeup.ikoba.interfaces import IIkobaUtils
+from waeup.ikoba.interfaces import MessageFactory as _
+from waeup.ikoba.smtp import send_mail as send_mail_internally
+from waeup.ikoba.utils.helpers import get_sorted_preferred
 
 
@@ -34,5 +34,5 @@
               rcpt_name, rcpt_addr,
               subject, body, config):
-    """Wrapper for the real SMTP functionality in :mod:`waeup.kofa.smtp`.
+    """Wrapper for the real SMTP functionality in :mod:`waeup.ikoba.smtp`.
 
     Merely here to stay compatible with lots of calls to this place.
@@ -78,9 +78,9 @@
 
 
-class KofaUtils(grok.GlobalUtility):
+class IkobaUtils(grok.GlobalUtility):
     """A collection of parameters and methods subject to customization.
 
     """
-    grok.implements(IKofaUtils)
+    grok.implements(IIkobaUtils)
     # This the only place where we define the portal language
     # which is used for the translation of system messages
@@ -225,5 +225,5 @@
             'd': portal,
             'e': body})
-        body = translate(text, 'waeup.kofa',
+        body = translate(text, 'waeup.ikoba',
             target_language=self.PORTAL_LANGUAGE)
         if not (from_addr and rcpt_addr):
@@ -263,5 +263,5 @@
         Returns True or False to indicate successful operation.
         """
-        subject = 'Your Kofa credentials'
+        subject = 'Your Ikoba credentials'
         text = _(u"""Dear ${a},
 
@@ -294,5 +294,5 @@
             'f': url_info})
 
-        body = translate(text, 'waeup.kofa',
+        body = translate(text, 'waeup.ikoba',
             target_language=self.PORTAL_LANGUAGE)
         return send_mail(
