Index: main/waeup.kofa/trunk/README.txt
===================================================================
--- main/waeup.kofa/trunk/README.txt	(revision 7818)
+++ main/waeup.kofa/trunk/README.txt	(revision 7819)
@@ -1,6 +1,6 @@
-What is WAeUP.KOFA ?
+What is WAeUP.Kofa ?
 ********************
 
-The WAeUP Student Information and Registration Portal (WAeUP.KOFA) is
+The WAeUP Student Information and Registration Portal (WAeUP.Kofa) is
 a web-based management tool for managing universities and schools.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/__init__.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/__init__.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/__init__.py	(revision 7819)
@@ -1,13 +1,13 @@
 import grok
-from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import IKofaObject
 from zope.annotation.attribute import AttributeAnnotations
 from zope.annotation.interfaces import IAnnotations
 
-class KOFAAttributeAnnotations(AttributeAnnotations, grok.Adapter):
-    """An adapter to IAnnotations for any KOFAObject.
+class KofaAttributeAnnotations(AttributeAnnotations, grok.Adapter):
+    """An adapter to IAnnotations for any KofaObject.
 
-    Providing this adapter, each KOFA object becomes (attribute)
+    Providing this adapter, each Kofa object becomes (attribute)
     annotatable.
     """
     grok.provides(IAnnotations)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.py	(revision 7819)
@@ -31,5 +31,5 @@
 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState
 from random import SystemRandom as random
-from waeup.kofa.interfaces import IKOFAPluggable, IObjectHistory
+from waeup.kofa.interfaces import IKofaPluggable, IObjectHistory
 from waeup.kofa.utils.logger import Logger
 from waeup.kofa.accesscodes.interfaces import (
@@ -415,5 +415,5 @@
 class AccessCodePlugin(grok.GlobalUtility):
     grok.name('accesscodes')
-    grok.implements(IKOFAPluggable)
+    grok.implements(IKofaPluggable)
 
     def setup(self, site, name, logger):
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/accesscode.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :NOdoctest:
-.. :NOlayer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :NOlayer: waeup.kofa.testing.KofaUnitTestLayer
 
 About access-codes
@@ -591,8 +591,8 @@
 .. class:: AccessCodePlugin
 
-  A `waeup.kofa` plugin that updates existing KOFA university
+  A `waeup.kofa` plugin that updates existing Kofa university
   instances so that they provide support for access-codes.
 
-  .. attribute:: grok.implements(IKOFAPluggable)
+  .. attribute:: grok.implements(IKofaPluggable)
   .. attribute:: grok.name('accesscodes')
 
@@ -608,5 +608,5 @@
 
   The AccessCodePlugin is available as a global named utility for the
-  IKOFAPluggable interface named ``accesscodes``.
+  IKofaPluggable interface named ``accesscodes``.
 
   It is looked up by a university instance when created, so that this
@@ -615,6 +615,6 @@
 
     >>> from zope.component import getUtility
-    >>> from waeup.kofa.interfaces import IKOFAPluggable
-    >>> plugin = getUtility(IKOFAPluggable, name='accesscodes')
+    >>> from waeup.kofa.interfaces import IKofaPluggable
+    >>> plugin = getUtility(IKofaPluggable, name='accesscodes')
     >>> plugin
     <waeup.kofa.accesscodes.accesscodes.AccessCodePlugin object at 0x...>
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.py	(revision 7819)
@@ -22,9 +22,9 @@
 from hurry.workflow.interfaces import InvalidTransitionError
 from waeup.kofa.browser.resources import datatable
-from waeup.kofa.browser import KOFAPage, KOFAAddFormPage, NullValidator
+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.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import IKofaObject
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.accesscodes.interfaces import (
@@ -34,7 +34,7 @@
 from waeup.kofa.browser.layout import action
 
-grok.context(IKOFAObject)
-
-class BatchContainerPage(KOFAPage):
+grok.context(IKofaObject)
+
+class BatchContainerPage(KofaPage):
     grok.name('index')
     grok.context(IAccessCodeBatchContainer)
@@ -70,5 +70,5 @@
             self.context.logger_info(ob_class, message)
 
-class AddBatchPage(KOFAAddFormPage):
+class AddBatchPage(KofaAddFormPage):
     grok.name('add')
     grok.context(IAccessCodeBatchContainer)
@@ -103,5 +103,5 @@
         self.redirect(self.url(self.context))
 
-class ReimportBatchPage(KOFAPage):
+class ReimportBatchPage(KofaPage):
     """Screen for reimporting AC batches.
     """
@@ -144,5 +144,5 @@
         self.redirect(self.url(self.context))
 
-class BatchContainerSearchPage(KOFAPage):
+class BatchContainerSearchPage(KofaPage):
     grok.name('search')
     grok.context(IAccessCodeBatchContainer)
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/browser.txt	(revision 7819)
@@ -4,5 +4,5 @@
 .. module:: waeup.kofa.accesscodes.browser
 
-Here we visit the access-code related parts of a KOFA site using
+Here we visit the access-code related parts of a Kofa site using
 a virtual browser.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/interfaces.py	(revision 7819)
@@ -20,8 +20,8 @@
 from zope import schema
 from zope.interface import Interface
-from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import IKofaObject
 from waeup.kofa.interfaces import MessageFactory as _
 
-class IAccessCode(IKOFAObject):
+class IAccessCode(IKofaObject):
     """An access code.
     """
@@ -92,5 +92,5 @@
         )
 
-class IAccessCodeBatchContainer(IKOFAObject):
+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 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_accesscode.py	(revision 7819)
@@ -29,5 +29,5 @@
 from zope.testing import renormalizing
 from waeup.kofa.app import University
-from waeup.kofa.interfaces import IObjectHistory, IKOFAPluggable
+from waeup.kofa.interfaces import IObjectHistory, IKofaPluggable
 from waeup.kofa.testing import (
     FunctionalLayer, FunctionalTestCase, setUp, tearDown, getRootFolder)
@@ -412,6 +412,6 @@
     def test_iface(self):
         plugin = AccessCodePlugin()
-        assert verifyObject(IKOFAPluggable, plugin)
-        assert verifyClass(IKOFAPluggable, 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/workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/workflow.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/workflow.py	(revision 7819)
@@ -26,7 +26,7 @@
 from hurry.workflow.interfaces import IWorkflowState, IWorkflowTransitionEvent
 from waeup.kofa.accesscodes.interfaces import IAccessCode
-from waeup.kofa.interfaces import IObjectHistory, IKOFAWorkflowInfo
+from waeup.kofa.interfaces import IObjectHistory, IKofaWorkflowInfo
 from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.workflow import KOFAWorkflow, KOFAWorkflowInfo
+from waeup.kofa.workflow import KofaWorkflow, KofaWorkflowInfo
 
 INITIALIZED = 'initialized'
@@ -113,5 +113,5 @@
     )
 
-accesscode_workflow = KOFAWorkflow(ACCESSCODE_TRANSITIONS)
+accesscode_workflow = KofaWorkflow(ACCESSCODE_TRANSITIONS)
 
 class AccessCodeWorkflowState(WorkflowState, grok.Adapter):
@@ -122,7 +122,7 @@
     state_id = 'wf.accesscode.id'
 
-class AccessCodeWorkflowInfo(KOFAWorkflowInfo, grok.Adapter):
+class AccessCodeWorkflowInfo(KofaWorkflowInfo, grok.Adapter):
     grok.context(IAccessCode)
-    grok.provides(IKOFAWorkflowInfo)
+    grok.provides(IKofaWorkflowInfo)
 
     def __init__(self, context):
Index: main/waeup.kofa/trunk/src/waeup/kofa/app.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/app.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/app.py	(revision 7819)
@@ -26,5 +26,5 @@
 from waeup.kofa.hostels.container import HostelsContainer
 from waeup.kofa.interfaces import (
-    IUniversity, IKOFAPluggable, IObjectUpgradeEvent, )
+    IUniversity, IKofaPluggable, IObjectUpgradeEvent, )
 from waeup.kofa.userscontainer import UsersContainer
 from waeup.kofa.utils.logger import Logger
@@ -64,5 +64,5 @@
         """Create instances of all plugins defined somewhere.
         """
-        for name, plugin in getUtilitiesFor(IKOFAPluggable):
+        for name, plugin in getUtilitiesFor(IKofaPluggable):
             plugin.setup(self, name, self.logger)
         return
@@ -76,5 +76,5 @@
         self.logger.info('Done.')
         self.logger.info('Now upgrading any plugins.')
-        for name, plugin in getUtilitiesFor(IKOFAPluggable):
+        for name, plugin in getUtilitiesFor(IKofaPluggable):
             plugin.update(self, name, self.logger)
         self.logger.info('Plugin update finished.')
Index: main/waeup.kofa/trunk/src/waeup/kofa/app.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/app.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/app.txt	(revision 7819)
@@ -1,7 +1,7 @@
-:mod:`waeup.kofa.app` -- central components for KOFA
+:mod:`waeup.kofa.app` -- central components for Kofa
 ****************************************************
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 .. module:: waeup.kofa.app
@@ -9,5 +9,5 @@
 .. class:: University
 
-  The main KOFA application object is given with
+  The main Kofa application object is given with
   :class:`University`. It provides the main containers as faculties,
   hostels, etc.
@@ -76,6 +76,6 @@
 first::
 
-  >>> from waeup.kofa.interfaces import IKOFAExporter
-  >>> exporter = IKOFAExporter(myuniversity)
+  >>> from waeup.kofa.interfaces import IKofaExporter
+  >>> exporter = IKofaExporter(myuniversity)
   >>> exporter
   <waeup.kofa.utils.importexport.Exporter object at 0x...>
@@ -90,6 +90,6 @@
 memory file::
 
-  >>> from waeup.kofa.interfaces import IKOFAXMLExporter
-  >>> exporter = IKOFAXMLExporter(myuniversity)
+  >>> from waeup.kofa.interfaces import IKofaXMLExporter
+  >>> exporter = IKofaXMLExporter(myuniversity)
   >>> f = exporter.export()
   >>> f
@@ -103,17 +103,17 @@
   </pickle>
 
-KOFA plugins
+Kofa plugins
 ============
 
 waeup.kofa provides an API to 'plugin' components. Things that should
-be setup at creation time of a KOFA application can indicate
-that by providing a utility providing IKOFAPlugin.
+be setup at creation time of a Kofa application can indicate
+that by providing a utility providing IKofaPlugin.
 
 The plugins are looked up by an created app, which then will call the
 ``setup()`` method of each plugin.
 
-   >>> from waeup.kofa.interfaces import IKOFAPluggable
+   >>> from waeup.kofa.interfaces import IKofaPluggable
    >>> from zope.component import getAdapters, getUtilitiesFor
-   >>> sorted(list(getUtilitiesFor(IKOFAPluggable)))
+   >>> sorted(list(getUtilitiesFor(IKofaPluggable)))
    [(u'accesscodes', <waeup.kofa.accesscodes...AccessCodePlugin ...)]
 
@@ -122,7 +122,7 @@
 
    >>> import grok
-   >>> from waeup.kofa.interfaces import IKOFAPluggable
+   >>> from waeup.kofa.interfaces import IKofaPluggable
    >>> class MyPlugin(grok.GlobalUtility):
-   ...   grok.implements(IKOFAPluggable)
+   ...   grok.implements(IKofaPluggable)
    ...   def setup(self, site, name, logger):
    ...     print "Setup was called for"
@@ -136,5 +136,5 @@
    True
 
-and setup a new KOFA instance, we will get a message:
+and setup a new Kofa instance, we will get a message:
 
    >>> from waeup.kofa.app import University
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/applicant.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/applicant.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/applicant.py	(revision 7819)
@@ -27,8 +27,8 @@
 from hurry.workflow.interfaces import IWorkflowInfo, IWorkflowState
 from waeup.kofa.app import University
-from waeup.kofa.image import KOFAImageFile
+from waeup.kofa.image import KofaImageFile
 from waeup.kofa.imagestorage import DefaultFileStoreHandler
 from waeup.kofa.interfaces import (
-    IObjectHistory, IFileStoreHandler, IFileStoreNameChooser, IKOFAUtils,
+    IObjectHistory, IFileStoreHandler, IFileStoreNameChooser, IKofaUtils,
     IExtFileStore, IPDF, IUserAccount)
 from waeup.kofa.students.vocabularies import RegNumNotInSource
@@ -76,5 +76,5 @@
     def display_fullname(self):
         middlename = getattr(self, 'middlename', None)
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         return kofa_utils.fullname(self.firstname, self.lastname, middlename)
 
@@ -291,5 +291,5 @@
             ApplicantImageStoreHandler, self).createFile(
             store, root,  filename, file_id, file)
-        return file, path, KOFAImageFile(
+        return file, path, KofaImageFile(
             file_obj.filename, file_obj.data)
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/browser.py	(revision 7819)
@@ -35,5 +35,5 @@
 from waeup.kofa.applicants.workflow import INITIALIZED, STARTED, PAID, SUBMITTED
 from waeup.kofa.browser import (
-    KOFAPage, KOFAEditFormPage, KOFAAddFormPage, KOFADisplayFormPage,
+    KofaPage, KofaEditFormPage, KofaAddFormPage, KofaDisplayFormPage,
     DEFAULT_PASSPORT_IMAGE_PATH)
 from waeup.kofa.browser.interfaces import ICaptchaManager
@@ -44,6 +44,6 @@
 from waeup.kofa.browser.resources import datepicker, tabs, datatable, warning
 from waeup.kofa.interfaces import (
-    IKOFAObject, ILocalRolesAssignable, IExtFileStore, IPDF,
-    IFileStoreNameChooser, IPasswordValidator, IUserAccount, IKOFAUtils)
+    IKofaObject, ILocalRolesAssignable, IExtFileStore, IPDF,
+    IFileStoreNameChooser, IPasswordValidator, IUserAccount, IKofaUtils)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.permissions import get_users_with_local_roles
@@ -56,7 +56,7 @@
 from waeup.kofa.widgets.restwidget import ReSTDisplayWidget
 
-grok.context(IKOFAObject) # Make IKOFAObject the default context
-
-class ApplicantsRootPage(KOFAPage):
+grok.context(IKofaObject) # Make IKofaObject the default context
+
+class ApplicantsRootPage(KofaPage):
     grok.context(IApplicantsRoot)
     grok.name('index')
@@ -70,5 +70,5 @@
         return
 
-class ApplicantsRootManageFormPage(KOFAEditFormPage):
+class ApplicantsRootManageFormPage(KofaEditFormPage):
     grok.context(IApplicantsRoot)
     grok.name('manage')
@@ -141,5 +141,5 @@
         return del_local_roles(self,3,**data)
 
-class ApplicantsContainerAddFormPage(KOFAAddFormPage):
+class ApplicantsContainerAddFormPage(KofaAddFormPage):
     grok.context(IApplicantsRoot)
     grok.require('waeup.manageApplication')
@@ -215,5 +215,5 @@
         return self.context.p_id
 
-class ApplicantsContainerPage(KOFADisplayFormPage):
+class ApplicantsContainerPage(KofaDisplayFormPage):
     """The standard view for regular applicant containers.
     """
@@ -232,5 +232,5 @@
     @property
     def introduction(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         html = self.context.description_dict.get(lang,'')
@@ -246,5 +246,5 @@
         return "%s" % self.context.title
 
-class ApplicantsContainerManageFormPage(KOFAEditFormPage):
+class ApplicantsContainerManageFormPage(KofaEditFormPage):
     grok.context(IApplicantsContainer)
     grok.name('manage')
@@ -349,5 +349,5 @@
         return del_local_roles(self,3,**data)
 
-class ApplicantAddFormPage(KOFAAddFormPage):
+class ApplicantAddFormPage(KofaAddFormPage):
     """Add-form to add an applicant.
     """
@@ -372,5 +372,5 @@
         return
 
-class ApplicantDisplayFormPage(KOFADisplayFormPage):
+class ApplicantDisplayFormPage(KofaDisplayFormPage):
     grok.context(IApplicant)
     grok.name('index')
@@ -484,5 +484,5 @@
 
 
-class OnlinePaymentDisplayFormPage(KOFADisplayFormPage):
+class OnlinePaymentDisplayFormPage(KofaDisplayFormPage):
     """ Page to view an online payment ticket
     """
@@ -547,5 +547,5 @@
     @property
     def title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Payment Data'), 'waeup.kofa',
             target_language=portal_language)
@@ -553,5 +553,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Online Payment Receipt'),
             'waeup.kofa', target_language=portal_language) \
@@ -582,5 +582,5 @@
     #@property
     #def label(self):
-    #    portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+    #    portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
     #    container_title = self.context.__parent__.title
     #    label = translate('Application Record',
@@ -638,5 +638,5 @@
     return True
 
-class ApplicantManageFormPage(KOFAEditFormPage):
+class ApplicantManageFormPage(KofaEditFormPage):
     """A full edit view for applicant data.
     """
@@ -883,5 +883,5 @@
         return image
 
-class ApplicantRegistrationPage(KOFAAddFormPage):
+class ApplicantRegistrationPage(KofaAddFormPage):
     """Captcha'd registration page for applicants.
     """
@@ -926,5 +926,5 @@
         self.applyData(applicant, **data)
         self.context.addApplicant(applicant)
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         password = kofa_utils.genPassword()
         IUserAccount(applicant).setPassword(password)
@@ -941,5 +941,5 @@
         return
 
-class ApplicantRegistrationEmailSent(KOFAPage):
+class ApplicantRegistrationEmailSent(KofaPage):
     """Landing page after successful registration.
     """
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/interfaces.py	(revision 7819)
@@ -29,5 +29,5 @@
 from waeup.kofa.schema import TextLineChoice
 from waeup.kofa.interfaces import (
-    IKOFAObject, year_range, validate_email, academic_sessions_vocab)
+    IKofaObject, year_range, validate_email, academic_sessions_vocab)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.payments.interfaces import IOnlinePayment
@@ -178,10 +178,10 @@
     pass
 
-class IApplicantsRoot(IKOFAObject, IContainer):
+class IApplicantsRoot(IKofaObject, IContainer):
     """A container for university applicants containers.
     """
     pass
 
-class IApplicantsContainer(IKOFAObject):
+class IApplicantsContainer(IKofaObject):
     """An applicants container contains university applicants.
 
@@ -352,5 +352,5 @@
     'provider'].order =  IApplicantsContainer['provider'].order
 
-class IApplicantBaseData(IKOFAObject):
+class IApplicantBaseData(IKofaObject):
     """The data for an applicant.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/pdf.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/pdf.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/pdf.py	(revision 7819)
@@ -34,5 +34,5 @@
 from waeup.kofa.applicants.interfaces import IApplicant
 from waeup.kofa.browser import DEFAULT_PASSPORT_IMAGE_PATH
-from waeup.kofa.interfaces import IExtFileStore, IPDF, IKOFAUtils
+from waeup.kofa.interfaces import IExtFileStore, IPDF, IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
 
@@ -54,5 +54,5 @@
     def title(self):
         container_title = self.context.__parent__.title
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         ar_translation = translate(_('Application Record'),
             'waeup.kofa', target_language=portal_language)
@@ -107,5 +107,5 @@
         if dept is None:
             return data
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         dp_translation = translate(_('Department:'),
             'waeup.kofa', target_language=portal_language)
@@ -145,5 +145,5 @@
             pdf.setAuthor('%s (%s)' % (view.request.principal.title,
                 view.request.principal.id))
-        pdf.setCreator('KOFA')
+        pdf.setCreator('Kofa')
         width, height = A4
         style = getSampleStyleSheet()
@@ -171,5 +171,5 @@
         # Render widget fields
         widgets = self._setUpWidgets()
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         for widget in widgets: # self.widgets:
             f_label = '<font size=12>%s</font>:' % translate(
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/root.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/root.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/root.py	(revision 7819)
@@ -23,5 +23,5 @@
 from hurry.query.interfaces import IQuery
 from zope.component import getUtility
-from waeup.kofa.interfaces import IKOFAPluggable
+from waeup.kofa.interfaces import IKofaPluggable
 from waeup.kofa.applicants.interfaces import IApplicantsRoot
 from waeup.kofa.utils.logger import Logger
@@ -46,5 +46,5 @@
 
 class ApplicantsPlugin(grok.GlobalUtility):
-    """A KOFAPlugin that creates an applicants root in portal.
+    """A KofaPlugin that creates an applicants root in portal.
 
     This plugin should be called by a typical
@@ -53,8 +53,8 @@
     the main site configuration.
 
-    Implements :class:`waeup.kofa.interfaces.IKOFAPluggable`
+    Implements :class:`waeup.kofa.interfaces.IKofaPluggable`
     """
     grok.name('applicants')
-    grok.implements(IKOFAPluggable)
+    grok.implements(IKofaPluggable)
     log_prefix = 'ApplicantsPlugin'
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_applicant.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_applicant.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/tests/test_applicant.py	(revision 7819)
@@ -26,5 +26,5 @@
 from zope.interface import verify, implements
 from zope.location.interfaces import ILocation
-from waeup.kofa.image.interfaces import IKOFAImageFile
+from waeup.kofa.image.interfaces import IKofaImageFile
 from waeup.kofa.imagestorage import DefaultStorage
 from waeup.kofa.interfaces import IFileStoreHandler, IFileStoreNameChooser
@@ -38,5 +38,5 @@
 class FakeImageLocation(object):
     implements(ILocation)
-    adapts(IKOFAImageFile)
+    adapts(IKofaImageFile)
     def __init__(self, context):
         pass
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/viewlets.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/viewlets.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/viewlets.py	(revision 7819)
@@ -18,5 +18,5 @@
 import grok
 from hurry.workflow.interfaces import IWorkflowState
-from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import IKofaObject
 from waeup.kofa.students.viewlets import PrimaryStudentNavTab
 from waeup.kofa.browser.viewlets import ManageActionButton, PrimaryNavTab
@@ -32,5 +32,5 @@
 from waeup.kofa.interfaces import MessageFactory as _
 
-grok.context(IKOFAObject) # Make IKOFAObject the default context
+grok.context(IKofaObject) # Make IKofaObject the default context
 grok.templatedir('browser_templates')
 
@@ -38,5 +38,5 @@
     """Applicants tab in primary navigation.
     """
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.order(3)
     grok.require('waeup.viewApplicantsTab')
Index: main/waeup.kofa/trunk/src/waeup/kofa/applicants/workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/applicants/workflow.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/applicants/workflow.py	(revision 7819)
@@ -22,7 +22,7 @@
 from hurry.workflow.interfaces import IWorkflowState, IWorkflowTransitionEvent
 from waeup.kofa.applicants.interfaces import IApplicantBaseData
-from waeup.kofa.interfaces import IObjectHistory, IKOFAWorkflowInfo, IKOFAUtils
+from waeup.kofa.interfaces import IObjectHistory, IKofaWorkflowInfo, IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.workflow import KOFAWorkflow, KOFAWorkflowInfo
+from waeup.kofa.workflow import KofaWorkflow, KofaWorkflowInfo
 
 INITIALIZED = 'initialized'
@@ -137,5 +137,5 @@
     )
 
-application_workflow = KOFAWorkflow(APPLICATION_TRANSITIONS)
+application_workflow = KofaWorkflow(APPLICATION_TRANSITIONS)
 
 class ApplicationWorkflowState(WorkflowState, grok.Adapter):
@@ -148,9 +148,9 @@
     state_id = 'wf.application.id'
 
-class ApplicationWorkflowInfo(KOFAWorkflowInfo, grok.Adapter):
+class ApplicationWorkflowInfo(KofaWorkflowInfo, grok.Adapter):
     """Adapter to adapt Applicant objects to workflow info objects.
     """
     grok.context(IApplicantBaseData)
-    grok.provides(IKOFAWorkflowInfo)
+    grok.provides(IKofaWorkflowInfo)
 
     def __init__(self, context):
Index: main/waeup.kofa/trunk/src/waeup/kofa/authentication.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/authentication.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/authentication.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""Authentication for KOFA.
+"""Authentication for Kofa.
 """
 import grok
@@ -34,5 +34,5 @@
 from waeup.kofa.interfaces import (ILocalRoleSetEvent,
     IUserAccount, IAuthPluginUtility, IPasswordValidator,
-    IKOFAPrincipal, IKOFAPrincipalInfo)
+    IKofaPrincipal, IKofaPrincipalInfo)
 
 def setup_authentication(pau):
@@ -63,5 +63,5 @@
     return principalRoleManager
 
-class KOFASessionCredentialsPlugin(grok.GlobalUtility,
+class KofaSessionCredentialsPlugin(grok.GlobalUtility,
                                     SessionCredentialsPlugin):
     grok.provides(ICredentialsPlugin)
@@ -72,11 +72,11 @@
     passwordfield = 'form.password'
 
-class KOFAPrincipalInfo(object):
-    """An implementation of IKOFAPrincipalInfo.
-
-    A KOFA principal info is created with id, login, title, description,
+class KofaPrincipalInfo(object):
+    """An implementation of IKofaPrincipalInfo.
+
+    A Kofa principal info is created with id, login, title, description,
     phone, email and user_type.
     """
-    grok.implements(IKOFAPrincipalInfo)
+    grok.implements(IKofaPrincipalInfo)
 
     def __init__(self, id, title, description, email, phone, user_type):
@@ -90,12 +90,12 @@
         self.authenticatorPlugin = None
 
-class KOFAPrincipal(Principal):
+class KofaPrincipal(Principal):
     """A portal principal.
 
-    KOFA principals provide an extra `email`, `phone` and `user_type`
+    Kofa principals provide an extra `email`, `phone` and `user_type`
     attribute extending ordinary principals.
     """
 
-    grok.implements(IKOFAPrincipal)
+    grok.implements(IKofaPrincipal)
 
     def __init__(self, id, title=u'', description=u'', email=u'',
@@ -112,15 +112,15 @@
 
     def __repr__(self):
-        return 'KOFAPrincipal(%r)' % self.id
-
-class AuthenticatedKOFAPrincipalFactory(grok.MultiAdapter):
-    """Creates 'authenticated' KOFA principals.
-
-    Adapts (principal info, request) to a KOFAPrincipal instance.
+        return 'KofaPrincipal(%r)' % self.id
+
+class AuthenticatedKofaPrincipalFactory(grok.MultiAdapter):
+    """Creates 'authenticated' Kofa principals.
+
+    Adapts (principal info, request) to a KofaPrincipal instance.
 
     This adapter is used by the standard PAU to transform
-    KOFAPrincipalInfos into KOFAPrincipal instances.
-    """
-    grok.adapts(IKOFAPrincipalInfo, IRequest)
+    KofaPrincipalInfos into KofaPrincipal instances.
+    """
+    grok.adapts(IKofaPrincipalInfo, IRequest)
     grok.implements(IAuthenticatedPrincipalFactory)
 
@@ -130,5 +130,5 @@
 
     def __call__(self, authentication):
-        principal = KOFAPrincipal(
+        principal = KofaPrincipal(
             self.info.id,
             self.info.title,
@@ -224,5 +224,5 @@
         if not account.checkPassword(credentials['password']):
             return None
-        return KOFAPrincipalInfo(
+        return KofaPrincipalInfo(
             id=account.name,
             title=account.title,
@@ -236,5 +236,5 @@
         if account is None:
             return None
-        return KOFAPrincipalInfo(
+        return KofaPrincipalInfo(
             id=account.name,
             title=account.title,
Index: main/waeup.kofa/trunk/src/waeup/kofa/authentication.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/authentication.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/authentication.txt	(revision 7819)
@@ -1,3 +1,3 @@
-KOFA authentication
+Kofa authentication
 *******************
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/__init__.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/__init__.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/__init__.py	(revision 7819)
@@ -2,6 +2,6 @@
 
 from waeup.kofa.browser.layout import (
-    KOFAPage, KOFAForm, KOFALayout, KOFADisplayFormPage, KOFAEditFormPage,
-    KOFAAddFormPage, NullValidator)
+    KofaPage, KofaForm, KofaLayout, KofaDisplayFormPage, KofaEditFormPage,
+    KofaAddFormPage, NullValidator)
 from waeup.kofa.browser.pages import ContactAdminForm
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/breadcrumbs.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/breadcrumbs.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/breadcrumbs.py	(revision 7819)
@@ -34,5 +34,5 @@
     """
     grok.provides(IBreadcrumb)
-    grok.context(interfaces.IKOFAObject)
+    grok.context(interfaces.IKofaObject)
     grok.name('index')
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt	(revision 7819)
@@ -1,6 +1,6 @@
-Browsing KOFA
+Browsing Kofa
 *************
 
-Here we visit all parts of a KOFA portal using a browser.
+Here we visit all parts of a Kofa portal using a browser.
 
 University
@@ -35,5 +35,5 @@
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
-  ...Welcome to WAeUP.KOFA...
+  ...Welcome to WAeUP.Kofa...
   ...
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/captcha.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/captcha.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/captcha.py	(revision 7819)
@@ -28,5 +28,5 @@
 from zope.interface import Interface
 from zope.publisher.interfaces.http import IHTTPRequest
-from waeup.kofa.browser import KOFAPage
+from waeup.kofa.browser import KofaPage
 from waeup.kofa.browser.interfaces import (
     ICaptchaRequest, ICaptchaResponse, ICaptcha, ICaptchaConfig,
@@ -171,5 +171,5 @@
     """ReCaptcha - strong captchas with images, sound, etc.
 
-    This is the KOFA implementation to support captchas as provided by
+    This is the Kofa implementation to support captchas as provided by
     http://www.google.com/recaptcha.
 
@@ -266,5 +266,5 @@
             headers = {
                 "Content-type": "application/x-www-form-urlencoded",
-                "User-agent": "reCAPTCHA Python KOFA",
+                "User-agent": "reCAPTCHA Python Kofa",
                 }
             )
@@ -319,5 +319,5 @@
 
 
-class CaptchaTestPage(KOFAPage):
+class CaptchaTestPage(KofaPage):
     # A test page to see a captcha in action
     grok.name('captcha')
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/exceptions.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/exceptions.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/exceptions.py	(revision 7819)
@@ -22,5 +22,5 @@
 from zope.publisher.interfaces import INotFound
 from zope.security.interfaces import IUnauthorized
-from waeup.kofa.browser.layout import KOFAPage
+from waeup.kofa.browser.layout import KofaPage
 
 grok.templatedir('templates')
@@ -61,5 +61,5 @@
 
 
-class NotFoundPage(KOFAPage):
+class NotFoundPage(KofaPage):
     """A page rendered when an object cannot be found.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py	(revision 7819)
@@ -21,5 +21,5 @@
 from zope.interface import Interface, Attribute
 from waeup.kofa.interfaces import (
-    IKOFAObject, IUniversity, IUsersContainer, IDataCenter)
+    IKofaObject, IUniversity, IUsersContainer, IDataCenter)
 from waeup.kofa.university.interfaces import (
     IFacultiesContainer, IFaculty, IFacultyAdd, IDepartment, IDepartmentAdd,
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/layout.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/layout.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/layout.py	(revision 7819)
@@ -33,7 +33,7 @@
 from zope.interface import Interface
 from zope.site.hooks import getSite
-from waeup.kofa.interfaces import IKOFAObject, IUserAccount
+from waeup.kofa.interfaces import IKofaObject, IUserAccount
 from waeup.kofa.browser.interfaces import ITheme
-from waeup.kofa.browser.theming import get_all_themes, KOFAThemeBase
+from waeup.kofa.browser.theming import get_all_themes, KofaThemeBase
 from waeup.kofa.students.interfaces import IStudentNavigation
 from waeup.kofa.applicants.interfaces import IApplicant
@@ -56,12 +56,12 @@
 
     def __call__(self, success):
-        action = KOFAAction(self.label, success=success, **self.options)
+        action = KofaAction(self.label, success=success, **self.options)
         self.actions.append(action)
         return action
 
-class KOFAAction(Action):
+class KofaAction(Action):
 
     def __init__(self, label, style='', **options):
-        super(KOFAAction, self).__init__(label, **options)
+        super(KofaAction, self).__init__(label, **options)
         self.style = style
 
@@ -150,10 +150,10 @@
         return True
 
-class KOFALayout(UtilityView,Layout):
+class KofaLayout(UtilityView,Layout):
     """A megrok.layout.Layout with additional methods.
     """
     grok.baseclass()
 
-class KOFAForm(UtilityView,Form):
+class KofaForm(UtilityView,Form):
     """A megrok.layout.Form with additional methods.
     """
@@ -161,5 +161,5 @@
 
     def setUpWidgets(self,ignore_request=False):
-        super(KOFAForm,self).setUpWidgets(ignore_request)
+        super(KofaForm,self).setUpWidgets(ignore_request)
         # Width parameters will be overridden by Bootstrap
         # so we have to set the css class
@@ -171,10 +171,10 @@
             self.widgets['body'].cssClass = 'span9'
 
-class KOFAPage(UtilityView,Page):
+class KofaPage(UtilityView,Page):
     """A megrok.layout page with additional methods.
     """
     grok.baseclass()
 
-class KOFADisplayFormPage(UtilityView,DisplayForm):
+class KofaDisplayFormPage(UtilityView,DisplayForm):
     """A megrok.layout.DisplayForm with additional methods.
     """
@@ -182,5 +182,5 @@
     template = default_waeup_display_template
 
-class KOFAEditFormPage(UtilityView,EditForm):
+class KofaEditFormPage(UtilityView,EditForm):
     """A megrok.layout.EditForm with additional methods.
     """
@@ -189,5 +189,5 @@
 
     def setUpWidgets(self,ignore_request=False):
-        super(KOFAEditFormPage,self).setUpWidgets(ignore_request)
+        super(KofaEditFormPage,self).setUpWidgets(ignore_request)
         for widget in self.widgets:
             if widget.__class__.__name__ == 'TextWidget':
@@ -207,5 +207,5 @@
             self.widgets['perm_address'].height = 10
 
-class KOFAAddFormPage(UtilityView,AddForm):
+class KofaAddFormPage(UtilityView,AddForm):
     """A megrok.layout.AddForm with additional methods.
     """
@@ -213,11 +213,11 @@
     template = default_waeup_edit_template
 
-class SiteLayout(KOFALayout):
+class SiteLayout(KofaLayout):
     """ The general site layout.
     """
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
 
     #: An instance of the default theme to use for the site layout
-    default_theme = KOFAThemeBase()
+    default_theme = KofaThemeBase()
     stafftemp = grok.PageTemplateFile('templates/staffsitelayout.pt')
     studenttemp = grok.PageTemplateFile('templates/studentsitelayout.pt')
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-""" Viewing components for KOFA objects.
+""" Viewing components for Kofa objects.
 """
 import copy
@@ -38,6 +38,6 @@
 from zope.session.interfaces import ISession
 from waeup.kofa.browser import (
-    KOFAPage, KOFAForm, KOFAEditFormPage, KOFAAddFormPage,
-    KOFADisplayFormPage, NullValidator)
+    KofaPage, KofaForm, KofaEditFormPage, KofaAddFormPage,
+    KofaDisplayFormPage, NullValidator)
 from waeup.kofa.browser.interfaces import (
     IUniversity, IFacultiesContainer, IFaculty, IFacultyAdd,
@@ -47,9 +47,9 @@
 from waeup.kofa.browser.resources import warning, datepicker, tabs, datatable
 from waeup.kofa.interfaces import(
-    IKOFAObject, IUsersContainer, IUserAccount, IDataCenter,
-    IKOFAXMLImporter, IKOFAXMLExporter, IBatchProcessor,
+    IKofaObject, IUsersContainer, IUserAccount, IDataCenter,
+    IKofaXMLImporter, IKofaXMLExporter, IBatchProcessor,
     ILocalRolesAssignable, DuplicationError, IConfigurationContainer,
     ISessionConfiguration, ISessionConfigurationAdd,
-    IPasswordValidator, IContactForm, IKOFAUtils)
+    IPasswordValidator, IContactForm, IKofaUtils)
 from waeup.kofa.permissions import get_users_with_local_roles, get_all_roles
 from waeup.kofa.students.catalog import search as searchstudents
@@ -62,5 +62,5 @@
 from waeup.kofa.browser.layout import jsaction, action, UtilityView
 
-grok.context(IKOFAObject)
+grok.context(IKofaObject)
 grok.templatedir('templates')
 
@@ -144,9 +144,9 @@
 #
 
-class LoginPage(KOFAPage):
+class LoginPage(KofaPage):
     """A login page, available for all objects.
     """
     grok.name('login')
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.require('waeup.Public')
     label = _(u'Login')
@@ -179,8 +179,8 @@
 
 
-class LogoutPage(KOFAPage):
+class LogoutPage(KofaPage):
     """A logout page. Calling this page will log the current user out.
     """
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.require('waeup.Public')
     grok.name('logout')
@@ -190,12 +190,12 @@
             auth = getUtility(IAuthentication)
             ILogout(auth).logout(self.request)
-            self.flash(_("You have been logged out. Thanks for using WAeUP KOFA!"))
+            self.flash(_("You have been logged out. Thanks for using WAeUP Kofa!"))
         self.redirect(self.application_url())
 
 
-class LanguageChangePage(KOFAPage):
+class LanguageChangePage(KofaPage):
     """ Language switch
     """
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.name('change_language')
     grok.require('waeup.Public')
@@ -213,5 +213,5 @@
 #
 
-class ContactAdminForm(KOFAForm):
+class ContactAdminForm(KofaForm):
     grok.name('contactadmin')
     #grok.context(IUniversity)
@@ -242,5 +242,5 @@
         usertype = getattr(self.request.principal,
                            'user_type', 'system').title()
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         success = kofa_utils.sendContactForm(
                 fullname,email,
@@ -263,5 +263,5 @@
     @action(_('Send now'), style='primary')
     def send(self, *args, **data):
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         success = kofa_utils.sendContactForm(
                 data['fullname'],data['email_from'],
@@ -279,5 +279,5 @@
 #
 
-class UniversityPage(KOFADisplayFormPage):
+class UniversityPage(KofaDisplayFormPage):
     """ The main university page.
     """
@@ -290,5 +290,5 @@
     @property
     def frontpage(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         html = self.context['configuration'].frontpage_dict.get(lang,'')
@@ -297,9 +297,9 @@
                 'configuration'].frontpage_dict.get(portal_language,'')
         if html =='':
-            return _(u'<h1>Welcome to WAeUP.KOFA</h1>')
+            return _(u'<h1>Welcome to WAeUP.Kofa</h1>')
         else:
             return html
 
-class AdministrationPage(KOFAPage):
+class AdministrationPage(KofaPage):
     """ The administration overview page.
     """
@@ -378,5 +378,5 @@
 #
 
-class UsersContainerPage(KOFAPage):
+class UsersContainerPage(KofaPage):
     """Overview page for all local users.
     """
@@ -418,5 +418,5 @@
         return site_roles_string
 
-class AddUserFormPage(KOFAAddFormPage):
+class AddUserFormPage(KofaAddFormPage):
     grok.require('waeup.manageUsers')
     grok.context(IUsersContainer)
@@ -456,5 +456,5 @@
         self.redirect(self.url(self.context))
 
-class UserManageFormPage(KOFAEditFormPage):
+class UserManageFormPage(KofaEditFormPage):
     """Manage a user account.
     """
@@ -525,5 +525,5 @@
         usertype = getattr(self.request.principal,
                            'user_type', 'system').title()
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         success = kofa_utils.sendContactForm(
                 self.request.principal.title,email,
@@ -550,5 +550,5 @@
         self.widgets['title'].displayWidth = 30
 
-class MyRolesPage(KOFAPage):
+class MyRolesPage(KofaPage):
     """Display site roles and local roles assigned to officers.
     """
@@ -581,5 +581,5 @@
 #
 
-class SearchPage(KOFAPage):
+class SearchPage(KofaPage):
     """General search page for the academics section.
     """
@@ -608,5 +608,5 @@
 #
 
-class ConfigurationContainerDisplayFormPage(KOFADisplayFormPage):
+class ConfigurationContainerDisplayFormPage(KofaDisplayFormPage):
     """View page of the configuration container.
     """
@@ -619,5 +619,5 @@
     form_fields['frontpage'].custom_widget = ReSTDisplayWidget
 
-class ConfigurationContainerManageFormPage(KOFAEditFormPage):
+class ConfigurationContainerManageFormPage(KofaEditFormPage):
     """Manage page of the configuration container. We always use the
     manage page in the UI not the view page, thus we use the index name here.
@@ -684,5 +684,5 @@
         return
 
-class SessionConfigurationAddFormPage(KOFAAddFormPage):
+class SessionConfigurationAddFormPage(KofaAddFormPage):
     """Add a session configuration object to configuration container.
     """
@@ -711,5 +711,5 @@
         return
 
-class SessionConfigurationManageFormPage(KOFAEditFormPage):
+class SessionConfigurationManageFormPage(KofaEditFormPage):
     """Manage session configuration object.
     """
@@ -742,5 +742,5 @@
 #
 
-class DatacenterPage(KOFAPage):
+class DatacenterPage(KofaPage):
     grok.context(IDataCenter)
     grok.name('index')
@@ -749,5 +749,5 @@
     pnav = 0
 
-class DatacenterUploadPage(KOFAPage):
+class DatacenterUploadPage(KofaPage):
     grok.context(IDataCenter)
     grok.name('upload')
@@ -794,5 +794,5 @@
         return '%s_%s%s' % (base, filtered_username, ext.lower())
 
-class DatacenterImportStep1(KOFAPage):
+class DatacenterImportStep1(KofaPage):
     """Manual import step 1: choose file
     """
@@ -824,5 +824,5 @@
             self.redirect(self.url(self.context, '@@import2'))
 
-class DatacenterImportStep2(KOFAPage):
+class DatacenterImportStep2(KofaPage):
     """Manual import step 2: choose importer
     """
@@ -944,5 +944,5 @@
             self.flash(warnings)
 
-class DatacenterImportStep3(KOFAPage):
+class DatacenterImportStep3(KofaPage):
     """Manual import step 3: modify header
     """
@@ -1052,5 +1052,5 @@
             self.flash(warnings)
 
-class DatacenterImportStep4(KOFAPage):
+class DatacenterImportStep4(KofaPage):
     """Manual import step 4: do actual import
     """
@@ -1111,5 +1111,5 @@
             mapping = {'a':linenum - self.warn_num}))
 
-class DatacenterLogsOverview(KOFAPage):
+class DatacenterLogsOverview(KofaPage):
     grok.context(IDataCenter)
     grok.name('logs')
@@ -1133,5 +1133,5 @@
         self.files = self.context.getLogFiles()
 
-class DatacenterLogsFileview(KOFAPage):
+class DatacenterLogsFileview(KofaPage):
     grok.context(IDataCenter)
     grok.name('show')
@@ -1172,5 +1172,5 @@
         popen.close()
 
-class DatacenterSettings(KOFAPage):
+class DatacenterSettings(KofaPage):
     grok.context(IDataCenter)
     grok.name('manage')
@@ -1215,5 +1215,5 @@
 
     def render(self):
-        exporter = IKOFAXMLExporter(self.context)
+        exporter = IKofaXMLExporter(self.context)
         xml = exporter.export().read()
         self.response.setHeader(
@@ -1221,5 +1221,5 @@
         return xml
 
-class ImportXMLPage(KOFAPage):
+class ImportXMLPage(KofaPage):
     """Replace the context object by an object created from an XML
        representation.
@@ -1237,5 +1237,5 @@
         if not xmlfile:
             return
-        importer = IKOFAXMLImporter(self.context)
+        importer = IKofaXMLImporter(self.context)
         obj = importer.doImport(xmlfile)
         if type(obj) != type(self.context):
@@ -1257,5 +1257,5 @@
 #
 
-class FacultiesContainerPage(KOFAPage):
+class FacultiesContainerPage(KofaPage):
     """ Index page for faculty containers.
     """
@@ -1267,5 +1267,5 @@
     grok.template('facultypage')
 
-class FacultiesContainerManageFormPage(KOFAEditFormPage):
+class FacultiesContainerManageFormPage(KofaEditFormPage):
     """Manage the basic properties of a `Faculty` instance.
     """
@@ -1302,5 +1302,5 @@
 
 
-class FacultyAddFormPage(KOFAAddFormPage):
+class FacultyAddFormPage(KofaAddFormPage):
     """ Page form to add a new faculty to a faculty container.
     """
@@ -1330,5 +1330,5 @@
 # Faculty pages
 #
-class FacultyPage(KOFAPage):
+class FacultyPage(KofaPage):
     """Index page of faculties.
     """
@@ -1342,5 +1342,5 @@
         return _('Departments')
 
-class FacultyManageFormPage(KOFAEditFormPage):
+class FacultyManageFormPage(KofaEditFormPage):
     """Manage the basic properties of a `Faculty` instance.
     """
@@ -1416,5 +1416,5 @@
         return del_local_roles(self,3,**data)
 
-class DepartmentAddFormPage(KOFAAddFormPage):
+class DepartmentAddFormPage(KofaAddFormPage):
     """Add a department to a faculty.
     """
@@ -1446,5 +1446,5 @@
 # Department pages
 #
-class DepartmentPage(KOFAPage):
+class DepartmentPage(KofaPage):
     """Department index page.
     """
@@ -1475,5 +1475,5 @@
             yield(dict(url=url, name=key, container=val))
 
-class ShowStudentsInDepartmentPage(KOFAPage):
+class ShowStudentsInDepartmentPage(KofaPage):
     """Page that lists all students in the department.
     """
@@ -1510,5 +1510,5 @@
         return hitlist
 
-class DepartmentManageFormPage(KOFAEditFormPage):
+class DepartmentManageFormPage(KofaEditFormPage):
     """Manage the basic properties of a `Department` instance.
     """
@@ -1612,5 +1612,5 @@
         return del_local_roles(self,4,**data)
 
-class CourseAddFormPage(KOFAAddFormPage):
+class CourseAddFormPage(KofaAddFormPage):
     """Add-form to add course to a department.
     """
@@ -1649,5 +1649,5 @@
         return
 
-class CertificateAddFormPage(KOFAAddFormPage):
+class CertificateAddFormPage(KofaAddFormPage):
     """Add-form to add certificate to a department.
     """
@@ -1690,5 +1690,5 @@
 # Courses pages
 #
-class CoursePage(KOFADisplayFormPage):
+class CoursePage(KofaDisplayFormPage):
     """Course index page.
     """
@@ -1703,5 +1703,5 @@
         return '%s (%s)' % (self.context.title, self.context.code)
 
-class CourseManageFormPage(KOFAEditFormPage):
+class CourseManageFormPage(KofaEditFormPage):
     """Edit form page for courses.
     """
@@ -1734,5 +1734,5 @@
 # Certificate pages
 #
-class CertificatePage(KOFADisplayFormPage):
+class CertificatePage(KofaDisplayFormPage):
     """Index page for certificates.
     """
@@ -1752,5 +1752,5 @@
         return super(CertificatePage, self).update()
 
-class CertificateManageFormPage(KOFAEditFormPage):
+class CertificateManageFormPage(KofaEditFormPage):
     """Manage the properties of a `Certificate` instance.
     """
@@ -1830,5 +1830,5 @@
 
 
-class CertificateCourseAddFormPage(KOFAAddFormPage):
+class CertificateCourseAddFormPage(KofaAddFormPage):
     """Add-page to add a course ref to a certificate
     """
@@ -1862,5 +1862,5 @@
 # Certificate course pages...
 #
-class CertificateCoursePage(KOFAPage):
+class CertificateCoursePage(KofaPage):
     """CertificateCourse index page.
     """
@@ -1879,5 +1879,5 @@
         return course_levels.getTerm(self.context.level).title
 
-class CertificateCourseManageFormPage(KOFAEditFormPage):
+class CertificateCourseManageFormPage(KofaEditFormPage):
     """Manage the basic properties of a `CertificateCourse` instance.
     """
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/resources.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/resources.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/resources.py	(revision 7819)
@@ -262,5 +262,5 @@
     depends=[jquery])
 
-#: Register basic KOFA CSS (which is based on ``bootstrap.min-1.4.0.css`` 
+#: Register basic Kofa CSS (which is based on ``bootstrap.min-1.4.0.css`` 
 #: and ``base`` as a resource.
 waeup_base_css = ResourceInclusion(
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/theming.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/theming.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/theming.py	(revision 7819)
@@ -23,5 +23,5 @@
 from zope.interface import Interface
 from zope.schema.interfaces import IVocabularyFactory
-from waeup.kofa.interfaces import SimpleKOFAVocabulary
+from waeup.kofa.interfaces import SimpleKofaVocabulary
 from waeup.kofa.browser.interfaces import ITheme
 from waeup.kofa.browser.resources import (
@@ -29,5 +29,5 @@
     )
 
-class KOFAThemeBase(grok.GlobalUtility):
+class KofaThemeBase(grok.GlobalUtility):
     grok.implements(ITheme)
     grok.name('base waeup theme')
@@ -38,5 +38,5 @@
         return [waeup_base_css]
 
-#class KOFAThemeRed1(grok.GlobalUtility):
+#class KofaThemeRed1(grok.GlobalUtility):
 #    grok.implements(ITheme)
 #    grok.name('red waeup theme')
@@ -47,5 +47,5 @@
 #        return [waeuptheme_red1]
 
-#class KOFAThemeGray1(grok.GlobalUtility):
+#class KofaThemeGray1(grok.GlobalUtility):
 #    grok.implements(ITheme)
 #    grok.name('gray waeup theme')
@@ -56,5 +56,5 @@
 #        return [waeuptheme_gray1]
 
-class KOFAThemeEmpty(grok.GlobalUtility):
+class KofaThemeEmpty(grok.GlobalUtility):
     """A theme based on jQuery only.
 
@@ -112,4 +112,4 @@
         terms = [(theme.description, name)
                  for name, theme in get_all_themes()]
-        vocab = SimpleKOFAVocabulary(*terms)
+        vocab = SimpleKofaVocabulary(*terms)
         return vocab
Index: main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py	(revision 7819)
@@ -31,7 +31,7 @@
     ICertificateCourse, IBreadcrumbContainer, IUniversity, IUsersContainer)
 from waeup.kofa.interfaces import (
-    IKOFAUtils, IKOFAObject, IKOFAXMLExporter,
-    IKOFAXMLImporter, IDataCenter, IUserAccount)
-from waeup.kofa.browser.layout import KOFAPage, default_primary_nav_template
+    IKofaUtils, IKofaObject, IKofaXMLExporter,
+    IKofaXMLImporter, IDataCenter, IUserAccount)
+from waeup.kofa.browser.layout import KofaPage, default_primary_nav_template
 from waeup.kofa.utils.helpers import get_user_account
 
@@ -39,5 +39,5 @@
 
 grok.templatedir('templates')
-grok.context(IKOFAObject) # Make IKOFAObject the default context
+grok.context(IKofaObject) # Make IKofaObject the default context
 
 class LeftSidebar(grok.ViewletManager):
@@ -85,5 +85,5 @@
     """
     grok.baseclass()
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.viewletmanager(ActionBar)
     icon = 'actionicon_modify.png' # File must exist in static/
@@ -196,5 +196,5 @@
 
 class BreadCrumbs(grok.Viewlet):
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.viewletmanager(BreadCrumbManager)
     grok.order(1)
@@ -216,10 +216,10 @@
     """
     grok.viewletmanager(LanguageManager)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.require('waeup.Public')
     title = u'Languages'
 
     def render(self):
-        preferred_languages = getUtility(IKOFAUtils).PREFERRED_LANGUAGES_DICT
+        preferred_languages = getUtility(IKofaUtils).PREFERRED_LANGUAGES_DICT
         html = u''
         for key, value in sorted(
@@ -257,5 +257,5 @@
     grok.baseclass()
     grok.viewletmanager(LeftSidebar)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.order(5)
     grok.require('waeup.manageUniversity')
@@ -316,5 +316,5 @@
     """
     grok.viewletmanager(LeftSidebar)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.view(Interface)
     grok.order(2)
@@ -350,5 +350,5 @@
     """
     grok.viewletmanager(LeftSidebar)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.view(Interface)
     grok.order(5)
@@ -520,5 +520,5 @@
 class BrowseActionButton(ActionButton):
     grok.baseclass()
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.template('actionbutton')
     grok.viewletmanager(ActionBar)
@@ -686,5 +686,5 @@
     target_viewname = 'datacenter'
 
-# The SubobjectLister and its viewlets below are not used in KOFA.
+# The SubobjectLister and its viewlets below are not used in Kofa.
 
 class SubobjectLister(grok.ViewletManager):
Index: main/waeup.kofa/trunk/src/waeup/kofa/catalog.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/catalog.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/catalog.py	(revision 7819)
@@ -31,5 +31,5 @@
 
 # not yet used
-class KOFAQuery(Query):
+class KofaQuery(Query):
     """A hurry.query-like query that supports also ``apply``.
     """
@@ -50,5 +50,5 @@
         return results
 
-grok.global_utility(KOFAQuery)
+grok.global_utility(KofaQuery)
 
 # not yet used
Index: main/waeup.kofa/trunk/src/waeup/kofa/catalog.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/catalog.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/catalog.txt	(revision 7819)
@@ -1,3 +1,3 @@
-:mod:`waeup.kofa.catalog` -- Cataloging support KOFA
+:mod:`waeup.kofa.catalog` -- Cataloging support Kofa
 ****************************************************
 
@@ -5,8 +5,8 @@
 
 Components that support cataloging and searching objects inside a
-KOFA site.
+Kofa site.
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 .. contents::
@@ -15,8 +15,8 @@
 =======
 
-:class:`KOFAQuery`
+:class:`KofaQuery`
 ------------------
 
-.. class:: KOFAQuery()
+.. class:: KofaQuery()
 
    .. attribute:: grok.implements(hurry.query.interfaces.IQuery)
@@ -25,5 +25,5 @@
    retrival of plain ``Bree`` result sets as used inside a catalog.
 
-   Like `hurry.query.query.Query` objects, `KOFAQuery` is some kind
+   Like `hurry.query.query.Query` objects, `KofaQuery` is some kind
    of a meta query or 'compound query' that can give the cataloged
    objects (or their int ids) matching one or more 'subqueries'.
@@ -55,5 +55,5 @@
 ------------------------------
 
-We can get a KOFAQuery object by asking for an unnamed global utility
+We can get a KofaQuery object by asking for an unnamed global utility
 implementing `hurry.query.interfaces.IQuery`:
 
@@ -62,5 +62,5 @@
     >>> q = getUtility(IQuery)
     >>> q
-    <waeup.kofa.catalog.KOFAQuery object at 0x...>
+    <waeup.kofa.catalog.KofaQuery object at 0x...>
 
 This query can get 'subqueries' and delivers the objects found or
@@ -101,5 +101,5 @@
 
 We also setup a `zope.intid.interfaces.IIntIds` utility. This is not
-necessary for plain catalogs, but when we want to use KOFAQuery (or
+necessary for plain catalogs, but when we want to use KofaQuery (or
 `hurry.query.query.Query` objects), as to get a unique mapping from
 objects (stored in ZODB) to integer numbers (stored in catalogs),
@@ -204,5 +204,5 @@
 
 This can be done by using the ``searchResults`` method of
-``KOFAQuery``:
+``KofaQuery``:
 
     >>> r2 = q.searchResults(subquery1)
Index: main/waeup.kofa/trunk/src/waeup/kofa/datacenter.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/datacenter.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/datacenter.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""KOFA data center.
+"""Kofa data center.
 
 The waeup data center cares for management of upload data and provides
Index: main/waeup.kofa/trunk/src/waeup/kofa/datacenter.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/datacenter.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/datacenter.txt	(revision 7819)
@@ -1,9 +1,9 @@
-KOFA Data Center
+Kofa Data Center
 ****************
 
-The KOFA data center cares for managing CSV files and importing then.
+The Kofa data center cares for managing CSV files and importing then.
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 Creating a data center
Index: main/waeup.kofa/trunk/src/waeup/kofa/hostels/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/hostels/browser.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/hostels/browser.py	(revision 7819)
@@ -23,5 +23,5 @@
 from zope.component import getUtility
 from waeup.kofa.browser import (
-    KOFAEditFormPage, KOFAAddFormPage, KOFADisplayFormPage,
+    KofaEditFormPage, KofaAddFormPage, KofaDisplayFormPage,
     NullValidator)
 from waeup.kofa.browser.breadcrumbs import Breadcrumb
@@ -32,5 +32,5 @@
     ManageActionButton, PrimaryNavTab)
 from waeup.kofa.browser.layout import jsaction, action
-from waeup.kofa.interfaces import IKOFAObject, IKOFAUtils
+from waeup.kofa.interfaces import IKofaObject, IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.hostels.vocabularies import NOT_OCCUPIED
@@ -61,5 +61,5 @@
     """
 
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.order(5)
     grok.require('waeup.viewHostels')
@@ -96,5 +96,5 @@
             mapping = {'a':co[1], 'b':co[2], 'c':co[3]})
 
-class HostelsContainerPage(KOFADisplayFormPage):
+class HostelsContainerPage(KofaDisplayFormPage):
     """The standard view for hostels containers.
     """
@@ -113,5 +113,5 @@
     text = _('Manage accommodation section')
 
-class HostelsContainerManagePage(KOFADisplayFormPage):
+class HostelsContainerManagePage(KofaDisplayFormPage):
     """The manage page for hostel containers.
     """
@@ -148,5 +148,5 @@
         return
 
-class HostelAddFormPage(KOFAAddFormPage):
+class HostelAddFormPage(KofaAddFormPage):
     """Add-form to add a hostel.
     """
@@ -175,5 +175,5 @@
         return
 
-class HostelDisplayFormPage(KOFADisplayFormPage):
+class HostelDisplayFormPage(KofaDisplayFormPage):
     """ Page to display hostel data
     """
@@ -196,5 +196,5 @@
     target = 'manage'
 
-class HostelManageFormPage(KOFAEditFormPage):
+class HostelManageFormPage(KofaEditFormPage):
     """ View to edit hostel data
     """
@@ -261,5 +261,5 @@
         switched = [] # for log file
         switched_translated = [] # for flash message
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         preferred_language = self.request.cookies.get(
             'kofa.language', portal_language)
@@ -306,5 +306,5 @@
         return
 
-class BedManageFormPage(KOFAEditFormPage):
+class BedManageFormPage(KofaEditFormPage):
     """ View to edit bed data
     """
Index: main/waeup.kofa/trunk/src/waeup/kofa/hostels/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/hostels/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/hostels/interfaces.py	(revision 7819)
@@ -18,15 +18,15 @@
 from zope.interface import invariant, Invalid
 from zope import schema
-from waeup.kofa.interfaces import IKOFAObject
+from waeup.kofa.interfaces import IKofaObject
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.hostels.vocabularies import (
     bed_letters, blocks, special_handling, StudentSource)
 
-class IHostelsContainer(IKOFAObject):
+class IHostelsContainer(IKofaObject):
     """A container for all kind of hostel objects.
 
     """
 
-class IHostel(IKOFAObject):
+class IHostel(IKofaObject):
     """A base representation of hostels.
 
@@ -146,5 +146,5 @@
             raise Invalid(_('Bed categories overlap.'))
 
-class IBed(IKOFAObject):
+class IBed(IKofaObject):
     """A base representation of beds.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/hostels/vocabularies.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/hostels/vocabularies.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/hostels/vocabularies.py	(revision 7819)
@@ -22,5 +22,5 @@
 from zope.catalog.interfaces import ICatalog
 from zc.sourcefactory.contextual import BasicContextualSourceFactory
-from waeup.kofa.interfaces import SimpleKOFAVocabulary
+from waeup.kofa.interfaces import SimpleKofaVocabulary
 from waeup.kofa.interfaces import MessageFactory as _
 
@@ -54,5 +54,5 @@
         return "%s - %s" % (value, self.acco_students(context)[value])
 
-bed_letters = SimpleKOFAVocabulary(
+bed_letters = SimpleKofaVocabulary(
     (_('Bed A'),'A'),
     (_('Bed B'),'B'),
@@ -66,5 +66,5 @@
     )
 
-blocks = SimpleKOFAVocabulary(
+blocks = SimpleKofaVocabulary(
     (_('Block A'),'A'),
     (_('Block B'),'B'),
@@ -84,5 +84,5 @@
     )
 
-special_handling = SimpleKOFAVocabulary(
+special_handling = SimpleKofaVocabulary(
     (_('Regular Hostel'),'regular'),
     (_('Blocked Hostel'),'blocked'),
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/README.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/README.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/README.txt	(revision 7819)
@@ -2,8 +2,8 @@
 ========================================
 
-The image file widget is built on top of the :class:`KOFAImageFile` object::
-
-  >>> from waeup.kofa.image import KOFAImageFile
-  >>> file = KOFAImageFile('foo.jpg', 'mydata')
+The image file widget is built on top of the :class:`KofaImageFile` object::
+
+  >>> from waeup.kofa.image import KofaImageFile
+  >>> file = KofaImageFile('foo.jpg', 'mydata')
   >>> file.filename
   'foo.jpg'
@@ -16,5 +16,5 @@
   'mydata'
 
-We can also create KOFAImageFile objects from file-like objects::
+We can also create KofaImageFile objects from file-like objects::
 
   >>> from StringIO import StringIO
@@ -36,5 +36,5 @@
 ----------------
 
-The KOFAImageFile object normally stores the file data using ZODB
+The KofaImageFile object normally stores the file data using ZODB
 persistence. Files can however also be stored by tramline.  If
 tramline is installed in Apache, the Tramline takes care of generating
@@ -73,5 +73,5 @@
 just '1') will now be created::
 
-  >>> file = KOFAImageFile('foo.jpg', '1')
+  >>> file = KofaImageFile('foo.jpg', '1')
 
 The data is now '1', referring to the real file::
@@ -102,5 +102,5 @@
 We expect the same behavior as when tramline is not installed::
 
-  >>> file = KOFAImageFile('foo.jpg', 'data')
+  >>> file = KofaImageFile('foo.jpg', 'data')
   >>> f = file.file
   >>> f.read()
@@ -141,12 +141,12 @@
   Traceback (most recent call last):
   ...
-  WrongType: ('asd', <class 'waeup.kofa.image.image.KOFAImageFile'>, 'foo')
+  WrongType: ('asd', <class 'waeup.kofa.image.image.KofaImageFile'>, 'foo')
 
 which means: `ImageFile` fields should better contain
-:class:`KOFAImageFile` instances.
-
-We can store normal :class:`KOFAImageFile` instances:
-
-  >>> field.validate(KOFAImageFile('bar.jpg', 'data')) is None
+:class:`KofaImageFile` instances.
+
+We can store normal :class:`KofaImageFile` instances:
+
+  >>> field.validate(KofaImageFile('bar.jpg', 'data')) is None
   True
 
@@ -173,9 +173,9 @@
 
   >>> field.validate(
-  ...     KOFAImageFile('bar.jpg', '123456789012')) is None
-  True
-
-  >>> field.validate(
-  ...     KOFAImageFile('bar.jpg', '12345')) is None
+  ...     KofaImageFile('bar.jpg', '123456789012')) is None
+  True
+
+  >>> field.validate(
+  ...     KofaImageFile('bar.jpg', '12345')) is None
   True
 
@@ -183,5 +183,5 @@
 
   >>> field.validate(
-  ...     KOFAImageFile('bar.jpg', '1234567890123'))
+  ...     KofaImageFile('bar.jpg', '1234567890123'))
   Traceback (most recent call last):
   ...
@@ -189,5 +189,5 @@
 
   >>> field.validate(
-  ...     KOFAImageFile('bar.jpg', '1234'))
+  ...     KofaImageFile('bar.jpg', '1234'))
   Traceback (most recent call last):
   ...
@@ -198,10 +198,10 @@
 ----------------------------
 
-KOFAImageFile does not reproduce the broken unequal comparison from
+KofaImageFile does not reproduce the broken unequal comparison from
 its base:
 
-  >>> f1 = KOFAImageFile('bar.jpg', '123456789')
-  >>> f2 = KOFAImageFile('bar.jpg', '123456789')
-  >>> f3 = KOFAImageFile('baz.jpg', '1234')
+  >>> f1 = KofaImageFile('bar.jpg', '123456789')
+  >>> f2 = KofaImageFile('bar.jpg', '123456789')
+  >>> f3 = KofaImageFile('baz.jpg', '1234')
   >>> f1 == f2
   True
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/__init__.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/__init__.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/__init__.py	(revision 7819)
@@ -3,8 +3,8 @@
 Includings schemas, widgets and the content components.
 """
-from waeup.kofa.image.image import KOFAImageFile, createKOFAImageFile
+from waeup.kofa.image.image import KofaImageFile, createKofaImageFile
 
 __all__ = [
-    "KOFAImageFile",
-    "createKOFAImageFile",
+    "KofaImageFile",
+    "createKofaImageFile",
     ]
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/browser/tests/image.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/browser/tests/image.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/browser/tests/image.txt	(revision 7819)
@@ -12,8 +12,8 @@
 
   >>> import os
-  >>> from waeup.kofa.image import KOFAImageFile
+  >>> from waeup.kofa.image import KofaImageFile
   >>> testimage = os.path.join(os.path.dirname(__file__), 'sample.jpg')
   >>> testimage2 = os.path.join(os.path.dirname(__file__), 'sample2.jpg')
-  >>> some_file = KOFAImageFile('foo.jpg', open(testimage, 'rb').read())
+  >>> some_file = KofaImageFile('foo.jpg', open(testimage, 'rb').read())
   >>> some_file.filename
   'foo.jpg'
@@ -166,5 +166,5 @@
 prepare some new file:
 
-  >>> another_file = KOFAImageFile('bar.txt', 'bar contents')
+  >>> another_file = KofaImageFile('bar.txt', 'bar contents')
 
 We happen to know, due to the implementation of
@@ -200,5 +200,5 @@
 ---------------------------
 
-As :class:`waeup.kofa.image.KOFAImageFile` objects support storing
+As :class:`waeup.kofa.image.KofaImageFile` objects support storing
 image data by using external 'storages', also our widgets should do
 so.
@@ -220,5 +220,5 @@
   ...         contents = f.read()
   ...         id_string = hashlib.md5(contents).hexdigest()
-  ...         result = KOFAImageFile(filename, id_string)
+  ...         result = KofaImageFile(filename, id_string)
   ...         self.storage[id_string] = contents
   ...         return result
@@ -260,9 +260,9 @@
 We now want to simulate, that the field contains already data,
 identified by some `file_id`. To do so, we first store the data in our
-file retrieval and then create a KOFAImageFile object with that
+file retrieval and then create a KofaImageFile object with that
 file_id stored:
 
-  >>> from waeup.kofa.image import createKOFAImageFile
-  >>> image = createKOFAImageFile(
+  >>> from waeup.kofa.image import createKofaImageFile
+  >>> image = createKofaImageFile(
   ...     'sample.jpg', open(testimage, 'rb'))
   >>> file_id = image.data
@@ -274,5 +274,5 @@
   '9feac4265077922000aa8b88748e25be'
 
-The new file was stored by our utility, as createKOFAImageFile looks
+The new file was stored by our utility, as createKofaImageFile looks
 up IFileRetrieval utilities and uses them:
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/browser/widget.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/browser/widget.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/browser/widget.py	(revision 7819)
@@ -19,5 +19,5 @@
 """
 import os
-from waeup.kofa.image import KOFAImageFile
+from waeup.kofa.image import KofaImageFile
 from hurry.file.browser.widget import (
     EncodingFileWidget, DownloadWidget, FakeFieldStorage)
@@ -62,5 +62,5 @@
                 seek(0)
                 return retrieval.createFile(input.filename, input)
-            return KOFAImageFile(input.filename, data)
+            return KofaImageFile(input.filename, data)
         else:
             return self.context.missing_value
@@ -143,5 +143,5 @@
         data = file_id.decode('base64')
         filename, filedata = data.split('\n', 1)
-        return KOFAImageFile(filename, filedata)
+        return KofaImageFile(filename, filedata)
 
 class ThumbnailWidget(DownloadWidget):
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/image.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/image.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/image.py	(revision 7819)
@@ -23,7 +23,7 @@
 from zope.component import getUtility
 from zope.interface import implements
-from waeup.kofa.image.interfaces import IKOFAImageFile
+from waeup.kofa.image.interfaces import IKofaImageFile
 
-class KOFAImageFile(HurryFile):
+class KofaImageFile(HurryFile):
     """A file prepared for storing image files.
 
@@ -32,8 +32,8 @@
     regular hurry files.
 
-    To create a :class:`KOFAImageFile` you should use
-    :func:`createKOFAImageFile`.
+    To create a :class:`KofaImageFile` you should use
+    :func:`createKofaImageFile`.
     """
-    implements(IKOFAImageFile)
+    implements(IKofaImageFile)
 
     def __ne__(self, other):
@@ -45,5 +45,5 @@
             return True
 
-def createKOFAImageFile(filename, f):
+def createKofaImageFile(filename, f):
     retrieval = getUtility(IFileRetrieval)
     return retrieval.createFile(filename, f)
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/interfaces.py	(revision 7819)
@@ -24,5 +24,5 @@
     """
 
-class IKOFAImageFile(IHurryFile):
+class IKofaImageFile(IHurryFile):
     """Image file.
     """
Index: main/waeup.kofa/trunk/src/waeup/kofa/image/schema.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/image/schema.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/image/schema.py	(revision 7819)
@@ -23,5 +23,5 @@
 from hurry.file.schema import File
 from waeup.kofa.image.interfaces import IImageFile
-from waeup.kofa.image.image import KOFAImageFile
+from waeup.kofa.image.image import KofaImageFile
 
 class MinMaxSize(object):
@@ -82,3 +82,3 @@
     implements(IImageFile)
 
-    _type = KOFAImageFile
+    _type = KofaImageFile
Index: main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py	(revision 7819)
@@ -50,5 +50,5 @@
         encoding='utf-8', mode='rb').read()
 
-def SimpleKOFAVocabulary(*terms):
+def SimpleKofaVocabulary(*terms):
     """A well-buildt vocabulary provides terms with a value, token and
        title for each term
@@ -66,7 +66,7 @@
     return [('%s/%s' % (year,year+1), year) for year in year_range]
 
-academic_sessions_vocab = SimpleKOFAVocabulary(*academic_sessions())
-
-registration_states_vocab = SimpleKOFAVocabulary(
+academic_sessions_vocab = SimpleKofaVocabulary(*academic_sessions())
+
+registration_states_vocab = SimpleKofaVocabulary(
     (_('created'), CREATED),
     (_('admitted'), ADMITTED),
@@ -187,5 +187,5 @@
     """
 
-class IKOFAUtils(Interface):
+class IKofaUtils(Interface):
     """A collection of methods which are subject to customization.
     """
@@ -222,21 +222,21 @@
         """
 
-class IKOFAObject(Interface):
-    """A KOFA object.
+class IKofaObject(Interface):
+    """A Kofa object.
 
     This is merely a marker interface.
     """
 
-class IUniversity(IKOFAObject):
+class IUniversity(IKofaObject):
     """Representation of a university.
     """
 
 
-class IKOFAContainer(IKOFAObject):
-    """A container for KOFA objects.
-    """
-
-class IKOFAContained(IKOFAObject):
-    """An item contained in an IKOFAContainer.
+class IKofaContainer(IKofaObject):
+    """A container for Kofa objects.
+    """
+
+class IKofaContained(IKofaObject):
+    """An item contained in an IKofaContainer.
     """
 
@@ -267,5 +267,5 @@
         """
 
-class IKOFAExporter(Interface):
+class IKofaExporter(Interface):
     """An exporter for objects.
     """
@@ -279,5 +279,5 @@
         """
 
-class IKOFAXMLExporter(Interface):
+class IKofaXMLExporter(Interface):
     """An XML exporter for objects.
     """
@@ -291,5 +291,5 @@
         """
 
-class IKOFAXMLImporter(Interface):
+class IKofaXMLImporter(Interface):
     """An XML import for objects.
     """
@@ -328,5 +328,5 @@
         """
 
-class IContactForm(IKOFAObject):
+class IContactForm(IKofaObject):
     """A contact form.
     """
@@ -358,6 +358,6 @@
         required = True,)
 
-class IKOFAPrincipalInfo(IPrincipalInfo):
-    """Infos about principals that are users of KOFA KOFA.
+class IKofaPrincipalInfo(IPrincipalInfo):
+    """Infos about principals that are users of Kofa Kofa.
     """
     email = Attribute("The email address of a user")
@@ -365,6 +365,6 @@
 
 
-class IKOFAPrincipal(IPrincipal):
-    """A principle for KOFA KOFA.
+class IKofaPrincipal(IPrincipal):
+    """A principle for Kofa Kofa.
 
     This interface extends zope.security.interfaces.IPrincipal and
@@ -382,5 +382,5 @@
         required=False,)
 
-class IUserAccount(IKOFAObject):
+class IUserAccount(IKofaObject):
     """A user account.
     """
@@ -425,5 +425,5 @@
 
 
-class IUsersContainer(IKOFAObject):
+class IUsersContainer(IKofaObject):
     """A container for users (principals).
 
@@ -450,5 +450,5 @@
         """
 
-class IConfigurationContainer(IKOFAObject):
+class IConfigurationContainer(IKofaObject):
     """A container for session configuration objects.
     """
@@ -462,5 +462,5 @@
     acronym = schema.TextLine(
         title = u'Abbreviated Title of University',
-        default = u'WAeUP.KOFA',
+        default = u'WAeUP.Kofa',
         required = True,
         )
@@ -516,5 +516,5 @@
     email_subject = schema.TextLine(
         title = u'Subject of Email to Administrator',
-        default = u'KOFA Contact',
+        default = u'Kofa Contact',
         required = False,
         )
@@ -539,5 +539,5 @@
         )
 
-class ISessionConfiguration(IKOFAObject):
+class ISessionConfiguration(IKofaObject):
     """A session configuration object.
     """
@@ -606,5 +606,5 @@
     'academic_session'].order
 
-class IDataCenter(IKOFAObject):
+class IDataCenter(IKofaObject):
     """A data center.
 
@@ -669,6 +669,6 @@
         title = u'Longer description of the item found.')
 
-class IKOFAPluggable(Interface):
-    """A component that might be plugged into a KOFA KOFA app.
+class IKofaPluggable(Interface):
+    """A component that might be plugged into a Kofa Kofa app.
 
     Components implementing this interface are referred to as
@@ -807,5 +807,5 @@
         """
 
-class IKOFAWorkflowInfo(IWorkflowInfo):
+class IKofaWorkflowInfo(IWorkflowInfo):
     """A :class:`hurry.workflow.workflow.WorkflowInfo` with additional
        methods for convenience.
@@ -820,5 +820,5 @@
 class ISiteLoggers(Interface):
 
-    loggers = Attribute("A list or generator of registered KOFALoggers")
+    loggers = Attribute("A list or generator of registered KofaLoggers")
 
     def register(name, filename=None, site=None, **options):
@@ -841,5 +841,5 @@
 
     def __init__(name, filename=None, site=None, **options):
-        """Create a KOFA logger instance.
+        """Create a Kofa logger instance.
         """
 
@@ -973,5 +973,5 @@
 
         Returns a tuple ``(raw_file, path, file_like_obj)`` where the
-        ``file_like_obj`` should be a HurryFile, a KOFAImageFile or
+        ``file_like_obj`` should be a HurryFile, a KofaImageFile or
         similar. ``raw_file`` is the (maybe changed) input file and
         ``path`` the relative internal path to store the file at.
Index: main/waeup.kofa/trunk/src/waeup/kofa/language.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/language.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/language.py	(revision 7819)
@@ -22,7 +22,7 @@
 from zope.i18n.interfaces import IUserPreferredLanguages
 from waeup.kofa.configuration import ConfigurationContainer
-from waeup.kofa.interfaces import IKOFAUtils
+from waeup.kofa.interfaces import IKofaUtils
 
-class KOFALanguage(grokcore.component.Adapter):
+class KofaLanguage(grokcore.component.Adapter):
     """Set preferred languages"""
     grokcore.component.context(IBrowserRequest)
@@ -30,5 +30,5 @@
 
     def getPreferredLanguages(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
 
         # This an adapter for the request, so self.context is the request.
Index: main/waeup.kofa/trunk/src/waeup/kofa/meta.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/meta.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/meta.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""Grokkers for KOFA components.
+"""Grokkers for Kofa components.
 
 Stuff in here is mainly taken from grok.meta, with some modifications
@@ -61,5 +61,5 @@
             return False
 
-        subscriber = KOFAIndexesUpgradeSubscriber(
+        subscriber = KofaIndexesUpgradeSubscriber(
             catalog_name, indexes, context, module_info)
         subscribed = (site, IObjectUpgradeEvent)
@@ -72,5 +72,5 @@
 
 
-class KOFAIndexesUpgradeSubscriber(IndexesSetupSubscriber):
+class KofaIndexesUpgradeSubscriber(IndexesSetupSubscriber):
     """Helper that sets up indexes when their Grok site is upgraded.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/objecthistory.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/objecthistory.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/objecthistory.py	(revision 7819)
@@ -22,5 +22,5 @@
 from zope.i18n import translate
 from zope.annotation.interfaces import IAnnotations
-from waeup.kofa.interfaces import IObjectHistory, IKOFAObject, IKOFAUtils
+from waeup.kofa.interfaces import IObjectHistory, IKofaObject, IKofaUtils
 from waeup.kofa.utils.helpers import get_current_principal
 
@@ -30,9 +30,9 @@
     """A history for objects.
 
-    For any object implementing `IKOFAObject` which is annotatable,
+    For any object implementing `IKofaObject` which is annotatable,
     we provide histories. A history for such an object can be obtained
     by adapting it to `IObjectHistory`.
     """
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.implements(IObjectHistory)
 
@@ -68,5 +68,5 @@
         else:
             user = user.title
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         by = 'by'
         if portal_language != 'en':
Index: main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py	(revision 7819)
@@ -18,8 +18,8 @@
 from zope.interface import Attribute
 from zope import schema
-from waeup.kofa.interfaces import IKOFAObject, SimpleKOFAVocabulary
+from waeup.kofa.interfaces import IKofaObject, SimpleKofaVocabulary
 from waeup.kofa.interfaces import MessageFactory as _
 
-payment_states = SimpleKOFAVocabulary(
+payment_states = SimpleKofaVocabulary(
     (_('Not yet paid'),'unpaid'),
     (_('Paid'),'paid'),
@@ -27,5 +27,5 @@
     )
 
-payment_categories = SimpleKOFAVocabulary(
+payment_categories = SimpleKofaVocabulary(
     (_('School Fee'),'schoolfee'),
     (_('Clearance'),'clearance'),
@@ -37,10 +37,10 @@
     )
 
-class IPaymentsContainer(IKOFAObject):
+class IPaymentsContainer(IKofaObject):
     """A container for all kind of payment objects.
 
     """
 
-class IPayment(IKOFAObject):
+class IPayment(IKofaObject):
     """A base representation of payments.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/permissions.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/permissions.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/permissions.py	(revision 7819)
@@ -168,11 +168,11 @@
 
 def get_waeup_roles(also_local=False):
-    """Get all KOFA roles.
-
-    KOFA roles are ordinary roles whose id by convention starts with
+    """Get all Kofa roles.
+
+    Kofa roles are ordinary roles whose id by convention starts with
     a ``waeup.`` prefix.
 
     If `also_local` is ``True`` (``False`` by default), also local
-    roles are returned. Local KOFA roles are such whose id starts
+    roles are returned. Local Kofa roles are such whose id starts
     with ``waeup.local.`` prefix (this is also a convention).
 
@@ -181,5 +181,5 @@
     for name, item in get_all_roles():
         if not name.startswith('waeup.'):
-            # Ignore non-KOFA roles...
+            # Ignore non-Kofa roles...
             continue
         if not also_local and name.startswith('waeup.local.'):
@@ -189,9 +189,9 @@
 
 def get_waeup_role_names():
-    """Get the ids of all KOFA roles.
-
-    See :func:`get_waeup_roles` for what a 'KOFARole' is.
-
-    This function returns a sorted list of KOFA role names.
+    """Get the ids of all Kofa roles.
+
+    See :func:`get_waeup_roles` for what a 'KofaRole' is.
+
+    This function returns a sorted list of Kofa role names.
     """
     return sorted([x.id for x in get_waeup_roles()])
Index: main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt	(revision 7819)
@@ -1,9 +1,9 @@
-KOFA permissions and roles
+Kofa permissions and roles
 **************************
 
-Permissions and roles used in a KOFA portal.
+Permissions and roles used in a Kofa portal.
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 Convenience functions
@@ -16,5 +16,5 @@
 ---------------------
 
-Gives us all roles defined in KOFA. We get tuples of
+Gives us all roles defined in Kofa. We get tuples of
 kind
 
@@ -34,5 +34,5 @@
 -----------------------
 
-Gives us all roles, except the KOFA specific roles. We can get a list
+Gives us all roles, except the Kofa specific roles. We can get a list
 with or without local roles:
 
@@ -48,5 +48,5 @@
 ----------------------------
 
-We can get all role names defined in KOFA (except 'local'
+We can get all role names defined in Kofa (except 'local'
 roles that are meant not to be assigned globally):
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/schoolgrades.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/schoolgrades.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/schoolgrades.py	(revision 7819)
@@ -25,5 +25,5 @@
 from waeup.kofa.interfaces import IResultEntry, IResultEntryField
 from waeup.kofa.widgets.objectwidget import (
-    KOFAObjectWidget, KOFAObjectDisplayWidget
+    KofaObjectWidget, KofaObjectDisplayWidget
     )
 
@@ -52,9 +52,9 @@
         return
 
-# register KOFAObjectWidgets as default widgets for IResultEntryFields
+# register KofaObjectWidgets as default widgets for IResultEntryFields
 @grok.adapter(IResultEntryField, IBrowserRequest)
 @grok.implementer(IInputWidget)
 def result_entry_input_widget(obj, req):
-    return KOFAObjectWidget(obj, req, ResultEntry)
+    return KofaObjectWidget(obj, req, ResultEntry)
 
 # register a display widget for IResultEntryFields
@@ -62,3 +62,3 @@
 @grok.implementer(IDisplayWidget)
 def result_entry_display_widget(obj, req):
-    return KOFAObjectDisplayWidget(obj, req, ResultEntry)
+    return KofaObjectDisplayWidget(obj, req, ResultEntry)
Index: main/waeup.kofa/trunk/src/waeup/kofa/smtp.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/smtp.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/smtp.py	(revision 7819)
@@ -17,5 +17,5 @@
 ##
 """
-Email (SMTP) services for KOFA.
+Email (SMTP) services for Kofa.
 
 Note About Encodings
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/authentication.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/authentication.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/authentication.py	(revision 7819)
@@ -29,5 +29,5 @@
 from zope.session.interfaces import ISession
 from waeup.kofa.authentication import (
-    KOFAPrincipalInfo, get_principal_role_manager)
+    KofaPrincipalInfo, get_principal_role_manager)
 from waeup.kofa.interfaces import (
     IAuthPluginUtility, IUserAccount, IPasswordValidator)
@@ -135,5 +135,5 @@
         if not account.checkPassword(credentials['password']):
             return None
-        return KOFAPrincipalInfo(id=account.name,
+        return KofaPrincipalInfo(id=account.name,
                              title=account.title,
                              description=account.description,
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 7819)
@@ -33,6 +33,6 @@
 from waeup.kofa.accesscodes.workflow import USED
 from waeup.kofa.browser import (
-    KOFAPage, KOFAEditFormPage, KOFAAddFormPage, KOFADisplayFormPage,
-    ContactAdminForm, KOFAForm)
+    KofaPage, KofaEditFormPage, KofaAddFormPage, KofaDisplayFormPage,
+    ContactAdminForm, KofaForm)
 from waeup.kofa.browser.interfaces import ICaptchaManager
 from waeup.kofa.browser.breadcrumbs import Breadcrumb
@@ -40,6 +40,6 @@
 from waeup.kofa.browser.layout import jsaction, action, UtilityView
 from waeup.kofa.interfaces import (
-    IKOFAObject, IUserAccount, IExtFileStore, IPasswordValidator, IContactForm,
-    IKOFAUtils, IUniversity)
+    IKofaObject, IUserAccount, IExtFileStore, IPasswordValidator, IContactForm,
+    IKofaUtils, IUniversity)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.widgets.datewidget import (
@@ -155,5 +155,5 @@
     @property
     def title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         # There is no request attribute, thus we can only translate
         # to the default (portal) language
@@ -161,5 +161,5 @@
             target_language=portal_language)
 
-class StudentsContainerPage(KOFAPage):
+class StudentsContainerPage(KofaPage):
     """The standard view for student containers.
     """
@@ -194,5 +194,5 @@
         return
 
-class StudentsContainerManagePage(KOFAPage):
+class StudentsContainerManagePage(KofaPage):
     """The manage page for student containers.
     """
@@ -245,5 +245,5 @@
         return
 
-class StudentAddFormPage(KOFAAddFormPage):
+class StudentAddFormPage(KofaAddFormPage):
     """Add-form to add a student.
     """
@@ -265,5 +265,5 @@
         return
 
-class StudentBaseDisplayFormPage(KOFADisplayFormPage):
+class StudentBaseDisplayFormPage(KofaDisplayFormPage):
     """ Page to display student base data
     """
@@ -310,5 +310,5 @@
         usertype = getattr(self.request.principal,
                            'user_type', 'system').title()
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         success = kofa_utils.sendContactForm(
                 self.request.principal.title,email,
@@ -323,5 +323,5 @@
         return
 
-class StudentBaseManageFormPage(KOFAEditFormPage):
+class StudentBaseManageFormPage(KofaEditFormPage):
     """ View to manage student base data
     """
@@ -388,5 +388,5 @@
         return
 
-class StudentClearanceDisplayFormPage(KOFADisplayFormPage):
+class StudentClearanceDisplayFormPage(KofaDisplayFormPage):
     """ Page to display student clearance data
     """
@@ -415,5 +415,5 @@
     @property
     def title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Clearance Data'), 'waeup.kofa',
             target_language=portal_language)
@@ -421,5 +421,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Clearance Slip of '),
             'waeup.kofa', target_language=portal_language) \
@@ -434,5 +434,5 @@
             self.context.getStudent(), studentview)
 
-class StudentClearanceManageFormPage(KOFAEditFormPage):
+class StudentClearanceManageFormPage(KofaEditFormPage):
     """ Page to edit student clearance data
     """
@@ -508,5 +508,5 @@
         return
 
-class StudentPersonalDisplayFormPage(KOFADisplayFormPage):
+class StudentPersonalDisplayFormPage(KofaDisplayFormPage):
     """ Page to display student personal data
     """
@@ -523,5 +523,5 @@
             mapping = {'a':self.context.display_fullname})
 
-class StudentPersonalManageFormPage(KOFAEditFormPage):
+class StudentPersonalManageFormPage(KofaEditFormPage):
     """ Page to edit student clearance data
     """
@@ -538,5 +538,5 @@
         return
 
-class StudyCourseDisplayFormPage(KOFADisplayFormPage):
+class StudyCourseDisplayFormPage(KofaDisplayFormPage):
     """ Page to display the student study course data
     """
@@ -556,5 +556,5 @@
     def current_mode(self):
         if self.context.certificate is not None:
-            studymodes_dict = getUtility(IKOFAUtils).getStudyModesDict()
+            studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
             return studymodes_dict[self.context.certificate.study_mode]
         return
@@ -572,5 +572,5 @@
         return
 
-class StudyCourseManageFormPage(KOFAEditFormPage):
+class StudyCourseManageFormPage(KofaEditFormPage):
     """ Page to edit the student study course data
     """
@@ -645,5 +645,5 @@
         return
 
-class StudyLevelDisplayFormPage(KOFADisplayFormPage):
+class StudyLevelDisplayFormPage(KofaDisplayFormPage):
     """ Page to display student study levels
     """
@@ -662,5 +662,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         level_title = translate(self.context.level_title, 'waeup.kofa',
@@ -688,5 +688,5 @@
     @property
     def title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Level Data'), 'waeup.kofa',
             target_language=portal_language)
@@ -694,5 +694,5 @@
     @property
     def content_title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Course List'), 'waeup.kofa',
             target_language=portal_language)
@@ -700,5 +700,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         level_title = translate(self.context.level_title, 'waeup.kofa',
@@ -709,5 +709,5 @@
 
     def render(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         Sem = translate(_('Sem.'), 'waeup.kofa', target_language=portal_language)
         Code = translate(_('Code'), 'waeup.kofa', target_language=portal_language)
@@ -735,5 +735,5 @@
             tabledata=tabledata)
 
-class StudyLevelManageFormPage(KOFAEditFormPage):
+class StudyLevelManageFormPage(KofaEditFormPage):
     """ Page to edit the student study level data
     """
@@ -762,5 +762,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         level_title = translate(self.context.level_title, 'waeup.kofa',
@@ -853,5 +853,5 @@
         return
 
-class CourseTicketAddFormPage(KOFAAddFormPage):
+class CourseTicketAddFormPage(KofaAddFormPage):
     """Add a course ticket.
     """
@@ -890,5 +890,5 @@
         self.redirect(self.url(self.context))
 
-class CourseTicketDisplayFormPage(KOFADisplayFormPage):
+class CourseTicketDisplayFormPage(KofaDisplayFormPage):
     """ Page to display course tickets
     """
@@ -906,5 +906,5 @@
             'b':self.context.code})
 
-class CourseTicketManageFormPage(KOFAEditFormPage):
+class CourseTicketManageFormPage(KofaEditFormPage):
     """ Page to manage course tickets
     """
@@ -925,5 +925,5 @@
         return
 
-class PaymentsManageFormPage(KOFAEditFormPage):
+class PaymentsManageFormPage(KofaEditFormPage):
     """ Page to manage the student payments
 
@@ -982,5 +982,5 @@
         self.redirect(self.url(self.context, '@@addop'))
 
-class OnlinePaymentAddFormPage(KOFAAddFormPage):
+class OnlinePaymentAddFormPage(KofaAddFormPage):
     """ Page to add an online payment ticket
     """
@@ -1039,5 +1039,5 @@
         return
 
-class OnlinePaymentDisplayFormPage(KOFADisplayFormPage):
+class OnlinePaymentDisplayFormPage(KofaDisplayFormPage):
     """ Page to view an online payment ticket
     """
@@ -1138,5 +1138,5 @@
 
 
-class AccommodationManageFormPage(KOFAEditFormPage):
+class AccommodationManageFormPage(KofaEditFormPage):
     """ Page to manage bed tickets.
 
@@ -1195,5 +1195,5 @@
         return self.actions
 
-class BedTicketAddPage(KOFAPage):
+class BedTicketAddPage(KofaPage):
     """ Page to add an online payment ticket
     """
@@ -1287,5 +1287,5 @@
             'c':room_nr, 'd':bed_nr,
             'e':bed.bed_type})
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         bedticket.bed_coordinates = translate(
             bc, 'waeup.kofa',target_language=portal_language)
@@ -1297,5 +1297,5 @@
         return
 
-class BedTicketDisplayFormPage(KOFADisplayFormPage):
+class BedTicketDisplayFormPage(KofaDisplayFormPage):
     """ Page to display bed tickets
     """
@@ -1325,5 +1325,5 @@
     @property
     def title(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Bed Allocation Data'), 'waeup.kofa',
             target_language=portal_language)
@@ -1331,5 +1331,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         return translate(_('Bed Allocation: '),
             'waeup.kofa', target_language=portal_language) \
@@ -1405,5 +1405,5 @@
             'c':room_nr, 'd':bed_nr,
             'e':new_bed.bed_type})
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         self.context.bed_coordinates = translate(
             bc, 'waeup.kofa',target_language=portal_language)
@@ -1416,5 +1416,5 @@
         return
 
-class StudentHistoryPage(KOFAPage):
+class StudentHistoryPage(KofaPage):
     """ Page to display student clearance data
     """
@@ -1431,5 +1431,5 @@
 # Pages for students only
 
-class StudentBaseEditFormPage(KOFAEditFormPage):
+class StudentBaseEditFormPage(KofaEditFormPage):
     """ View to edit student base data
     """
@@ -1447,5 +1447,5 @@
         return
 
-class StudentChangePasswordPage(KOFAEditFormPage):
+class StudentChangePasswordPage(KofaEditFormPage):
     """ View to manage student base data
     """
@@ -1473,5 +1473,5 @@
         return
 
-class StudentFilesUploadPage(KOFAPage):
+class StudentFilesUploadPage(KofaPage):
     """ View to upload files by student
     """
@@ -1490,5 +1490,5 @@
         return
 
-class StartClearancePage(KOFAPage):
+class StartClearancePage(KofaPage):
     grok.context(IStudent)
     grok.name('start_clearance')
@@ -1593,5 +1593,5 @@
         return
 
-class RequestClearancePage(KOFAPage):
+class RequestClearancePage(KofaPage):
     grok.context(IStudent)
     grok.name('request_clearance')
@@ -1624,5 +1624,5 @@
         return
 
-class StartCourseRegistrationPage(KOFAPage):
+class StartCourseRegistrationPage(KofaPage):
     grok.context(IStudentStudyCourse)
     grok.name('start_course_registration')
@@ -1673,5 +1673,5 @@
         return
 
-class AddStudyLevelFormPage(KOFAEditFormPage):
+class AddStudyLevelFormPage(KofaEditFormPage):
     """ Page for students to add current study levels
     """
@@ -1710,5 +1710,5 @@
         return
 
-class StudyLevelEditFormPage(KOFAEditFormPage):
+class StudyLevelEditFormPage(KofaEditFormPage):
     """ Page to edit the student study level data by students
     """
@@ -1732,5 +1732,5 @@
     @property
     def label(self):
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         level_title = translate(self.context.level_title, 'waeup.kofa',
@@ -1816,5 +1816,5 @@
         return
 
-class ChangePasswordRequestPage(KOFAForm):
+class ChangePasswordRequestPage(KofaForm):
     """Captcha'd page for students to request a password change.
     """
@@ -1851,5 +1851,5 @@
         student = list(results)[0]
         # Change password
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         pwd = kofa_utils.genPassword()
         IUserAccount(student).setPassword(pwd)
@@ -1866,6 +1866,6 @@
         return
 
-class SetPasswordPage(KOFAPage):
-    grok.context(IKOFAObject)
+class SetPasswordPage(KofaPage):
+    grok.context(IKofaObject)
     grok.name('setpassword')
     grok.require('waeup.Anonymous')
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py	(revision 7819)
@@ -22,5 +22,5 @@
 from zc.sourcefactory.contextual import BasicContextualSourceFactory
 from waeup.kofa.interfaces import (
-    IKOFAObject, academic_sessions_vocab, validate_email, IKOFAUtils)
+    IKofaObject, academic_sessions_vocab, validate_email, IKofaUtils)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.schema import TextLineChoice
@@ -78,5 +78,5 @@
         """
 
-class IStudentsContainer(IKOFAObject):
+class IStudentsContainer(IKofaObject):
     """A students container contains university students.
 
@@ -117,5 +117,5 @@
         """
 
-class IStudentNavigation(IKOFAObject):
+class IStudentNavigation(IKofaObject):
     """Interface needed for student navigation.
 
@@ -126,5 +126,5 @@
         """
 
-class IStudentBase(IKOFAObject):
+class IStudentBase(IKofaObject):
     """Representation of student base data.
 
@@ -206,5 +206,5 @@
         )
 
-class IStudentClearance(IKOFAObject):
+class IStudentClearance(IKofaObject):
     """Representation of student clearance data.
 
@@ -234,5 +234,5 @@
         )
 
-class IStudentPersonal(IKOFAObject):
+class IStudentPersonal(IKofaObject):
     """Representation of student personal data.
 
@@ -268,5 +268,5 @@
         )
 
-class IStudentStudyCourse(IKOFAObject):
+class IStudentStudyCourse(IKofaObject):
     """A container for student study levels.
 
@@ -326,5 +326,5 @@
         )
 
-class IStudentStudyLevel(IKOFAObject):
+class IStudentStudyLevel(IKofaObject):
     """A container for course tickets.
 
@@ -348,5 +348,5 @@
         )
 
-class ICourseTicket(IKOFAObject):
+class ICourseTicket(IKofaObject):
     """A course ticket.
 
@@ -406,10 +406,10 @@
         )
 
-class IStudentAccommodation(IKOFAObject):
+class IStudentAccommodation(IKofaObject):
     """A container for student accommodation objects.
 
     """
 
-class IBedTicket(IKOFAObject):
+class IBedTicket(IKofaObject):
     """A ticket for accommodation booking.
 
@@ -475,5 +475,5 @@
     'p_item'].order
 
-class IStudentChangePassword(IKOFAObject):
+class IStudentChangePassword(IKofaObject):
     """Interface needed for change pasword page.
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/student.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/student.py	(revision 7819)
@@ -28,6 +28,6 @@
 from waeup.kofa.interfaces import (
     IObjectHistory, IUserAccount, IFileStoreNameChooser, IFileStoreHandler,
-    IKOFAUtils, CLEARANCE, registration_states_vocab)
-from waeup.kofa.image import KOFAImageFile
+    IKofaUtils, CLEARANCE, registration_states_vocab)
+from waeup.kofa.image import KofaImageFile
 from waeup.kofa.imagestorage import DefaultFileStoreHandler
 from waeup.kofa.students.interfaces import IStudent, IStudentNavigation
@@ -63,5 +63,5 @@
     def display_fullname(self):
         middlename = getattr(self, 'middlename', None)
-        kofa_utils = getUtility(IKOFAUtils)
+        kofa_utils = getUtility(IKofaUtils)
         return kofa_utils.fullname(self.firstname, self.lastname, middlename)
 
@@ -284,4 +284,4 @@
             StudentFileStoreHandler, self).createFile(
             store, root,  filename, file_id, file)
-        return file, path, KOFAImageFile(
+        return file, path, KofaImageFile(
             file_obj.filename, file_obj.data)
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 7819)
@@ -35,5 +35,5 @@
 from zope.component import getUtility
 from zope.formlib.form import setUpEditWidgets
-from waeup.kofa.interfaces import IExtFileStore, IKOFAUtils
+from waeup.kofa.interfaces import IExtFileStore, IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.students.interfaces import IStudentsUtils
@@ -113,5 +113,5 @@
     data_left.append([doc_img])
     #data.append([Spacer(1, 12)])
-    portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+    portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
     for widget in studentview.widgets:
         if widget.name == 'form.adm_code':
@@ -164,5 +164,5 @@
       story = []
       frame_footer = Frame(1*cm,0,width-(2*cm),1*cm)
-      portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+      portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
       right_text = translate(_('<font size=10>${a} Page ${b} of ${c}</font>',
           mapping = {'a':text, 'b':pdf.getPageNumber(), 'c':number_of_pages}),
@@ -256,5 +256,5 @@
         pdf.setAuthor('%s (%s)' % (view.request.principal.title,
             view.request.principal.id))
-        pdf.setCreator('WAeUP KOFA')
+        pdf.setCreator('WAeUP Kofa')
         width, height = A4
         footer_text = view.label
@@ -275,5 +275,5 @@
         frame_body = Frame(1*cm,1*cm,width-(2*cm),height-(3.5*cm))
         story.append(Paragraph(view.label, style["Heading2"]))
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         if student is not None:
             #story.append(Spacer(1, 12))
@@ -288,5 +288,5 @@
         set_up_widgets(view)
         data = []
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         for widget in view.widgets:
             f_label = '<font size=12>%s</font>:' % translate(
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 7819)
@@ -22,5 +22,5 @@
 from zope.i18n import translate
 from waeup.kofa.interfaces import (
-    IKOFAObject, IExtFileStore, IFileStoreNameChooser, IKOFAUtils)
+    IKofaObject, IExtFileStore, IFileStoreNameChooser, IKofaUtils)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.utils.helpers import string_from_bytes, file_size
@@ -48,5 +48,5 @@
 from waeup.kofa.interfaces import MessageFactory as _
 
-grok.context(IKOFAObject) # Make IKOFAObject the default context
+grok.context(IKofaObject) # Make IKofaObject the default context
 grok.templatedir('browser_templates')
 
@@ -63,5 +63,5 @@
     grok.baseclass()
     grok.viewletmanager(StudentManageSidebar)
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.view(Interface)
     grok.order(5)
@@ -73,5 +73,5 @@
     def render(self):
         url = self.view.url(self.context.getStudent(), self.link)
-        portal_language = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
         lang = self.request.cookies.get('kofa.language', portal_language)
         text = translate(self.text, 'waeup.kofa',
@@ -465,5 +465,5 @@
     """
 
-    grok.context(IKOFAObject)
+    grok.context(IKofaObject)
     grok.order(4)
     grok.require('waeup.viewStudentsTab')
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/vocabularies.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/vocabularies.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/vocabularies.py	(revision 7819)
@@ -25,5 +25,5 @@
 from zc.sourcefactory.basic import BasicSourceFactory
 from zc.sourcefactory.contextual import BasicContextualSourceFactory
-from waeup.kofa.interfaces import SimpleKOFAVocabulary
+from waeup.kofa.interfaces import SimpleKofaVocabulary
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.students.lgas import LGAS
@@ -31,8 +31,8 @@
 from waeup.kofa.university.vocabularies import course_levels
 
-lgas_vocab = SimpleKOFAVocabulary(
+lgas_vocab = SimpleKofaVocabulary(
     *sorted([(x[1],x[0]) for x in LGAS]))
 
-nats_vocab = SimpleKOFAVocabulary(
+nats_vocab = SimpleKofaVocabulary(
     *sorted([(x[1],x[0]) for x in NATS]))
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/workflow.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/workflow.py	(revision 7819)
@@ -6,9 +6,9 @@
 from hurry.workflow.interfaces import IWorkflowState, IWorkflowTransitionEvent
 from waeup.kofa.interfaces import (
-    IObjectHistory, IKOFAWorkflowInfo, IKOFAUtils,
+    IObjectHistory, IKofaWorkflowInfo, IKofaUtils,
     CREATED, ADMITTED, CLEARANCE, REQUESTED, CLEARED, PAID, RETURNING,
     REGISTERED, VALIDATED)
 from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.workflow import KOFAWorkflow, KOFAWorkflowInfo
+from waeup.kofa.workflow import KofaWorkflow, KofaWorkflowInfo
 from waeup.kofa.students.interfaces import IStudent, IStudentsUtils
 
@@ -156,5 +156,5 @@
 UNLOCK_CLEARANCE_TRANS = ('reset3', 'reset4', 'start_clearance')
 
-registration_workflow = KOFAWorkflow(REGISTRATION_TRANSITIONS)
+registration_workflow = KofaWorkflow(REGISTRATION_TRANSITIONS)
 
 class RegistrationWorkflowState(WorkflowState, grok.Adapter):
@@ -167,9 +167,9 @@
     state_id = 'wf.registration.id'
 
-class RegistrationWorkflowInfo(KOFAWorkflowInfo, grok.Adapter):
+class RegistrationWorkflowInfo(KofaWorkflowInfo, grok.Adapter):
     """Adapter to adapt Student objects to workflow info objects.
     """
     grok.context(IStudent)
-    grok.provides(IKOFAWorkflowInfo)
+    grok.provides(IKofaWorkflowInfo)
 
     def __init__(self, context):
Index: main/waeup.kofa/trunk/src/waeup/kofa/testing.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/testing.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/testing.py	(revision 7819)
@@ -163,5 +163,5 @@
          If you use the Zope testrunner (from :mod:`zope.testing`)
          then you have to use appropriate layers like the
-         :class:`waeup.kofa.testing.KOFAUnitTestLayer`.
+         :class:`waeup.kofa.testing.KofaUnitTestLayer`.
 
     Usage with :mod:`zope.testing` testrunners
@@ -172,5 +172,5 @@
     like the one defined in this module.
 
-    .. seealso:: :class:`waeup.kofa.testing.KOFAUnitTestLayer`
+    .. seealso:: :class:`waeup.kofa.testing.KofaUnitTestLayer`
 
     """
@@ -214,5 +214,5 @@
     return
 
-class KOFAUnitTestLayer(object):
+class KofaUnitTestLayer(object):
     """A layer for tests that groks `waeup.kofa`.
 
@@ -237,9 +237,9 @@
 
       import unittest
-      from waeup.kofa.testing import KOFAUnitTestLayer
+      from waeup.kofa.testing import KofaUnitTestLayer
 
       class MyTestCase(unittest.TestCase):
 
-          layer = KOFAUnitTestLayer
+          layer = KofaUnitTestLayer
 
           # per-test setups and real tests go here...
Index: main/waeup.kofa/trunk/src/waeup/kofa/tests/test_authentication.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/tests/test_authentication.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/tests/test_authentication.py	(revision 7819)
@@ -24,5 +24,5 @@
 from waeup.kofa.testing import FunctionalTestCase, FunctionalLayer
 from waeup.kofa.authentication import (
-    UserAuthenticatorPlugin, Account, KOFAPrincipalInfo,
+    UserAuthenticatorPlugin, Account, KofaPrincipalInfo,
     get_principal_role_manager)
 
@@ -64,5 +64,5 @@
         result2 = plugin.authenticateCredentials(
             dict(login='bob', password='nonsense'))
-        self.assertTrue(isinstance(result1, KOFAPrincipalInfo))
+        self.assertTrue(isinstance(result1, KofaPrincipalInfo))
         self.assertTrue(result2 is None)
         return
@@ -73,5 +73,5 @@
         result1 = plugin.principalInfo('bob')
         result2 = plugin.principalInfo('manfred')
-        self.assertTrue(isinstance(result1, KOFAPrincipalInfo))
+        self.assertTrue(isinstance(result1, KofaPrincipalInfo))
         self.assertTrue(result2 is None)
         return
Index: main/waeup.kofa/trunk/src/waeup/kofa/tests/test_interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/tests/test_interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/tests/test_interfaces.py	(revision 7819)
@@ -48,10 +48,10 @@
         # Register a role not visible to waeup portal as its name does
         # not start with 'waeup.'
-        class NonKOFARole(grok.Role):
+        class NonKofaRole(grok.Role):
             grok.name('nonwaeup.testrole')
             grok.title('Role not suitable for waeup')
             grok.permissions('waeup.Public')
         grok.testing.grok_component('SomeRole', SomeRole)
-        grok.testing.grok_component('NonKOFARole', NonKOFARole)
+        grok.testing.grok_component('NonKofaRole', NonKofaRole)
         return
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/tests/test_objecthistory.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/tests/test_objecthistory.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/tests/test_objecthistory.py	(revision 7819)
@@ -26,10 +26,10 @@
 from zope.security.testing import Principal, Participation
 from waeup.kofa.app import University
-from waeup.kofa.interfaces import IObjectHistory, IKOFAObject
+from waeup.kofa.interfaces import IObjectHistory, IKofaObject
 from waeup.kofa.testing import FunctionalTestCase, FunctionalLayer
 from waeup.kofa.objecthistory import ObjectHistory
 
 class SampleObject(grok.Model):
-    grok.implements(IKOFAObject)
+    grok.implements(IKofaObject)
     pass
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/tests/test_smtp.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/tests/test_smtp.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/tests/test_smtp.py	(revision 7819)
@@ -328,5 +328,5 @@
             'test program', 'no-reply@waeup.org',
             'test mail receiver', EXTERNAL_MAIL_RECEIVER,
-            'Test Mail from WAeUP KOFA',
+            'Test Mail from WAeUP Kofa',
             'Hi from test mailer!\n\nRegards,\nTest Programme\n'
             )
@@ -345,5 +345,5 @@
             'test program', 'no-reply@waeup.org',
             'test mail receiver', EXTERNAL_MAIL_RECEIVER,
-            'Test Mail from WAeUP KOFA',
+            'Test Mail from WAeUP Kofa',
             'Hi from test mailer!\n\nRegards,\nTest Programme\n'
             )
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""KOFA certificates
+"""Kofa certificates
 """
 import grok
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certificate.txt	(revision 7819)
@@ -1,3 +1,3 @@
-:mod:`waeup.kofa.university.certificate` -- Certificates for KOFA
+:mod:`waeup.kofa.university.certificate` -- Certificates for Kofa
 ******************************************************************
 
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/certificatescontainer.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/certificatescontainer.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/certificatescontainer.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/course.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/course.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/course.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 Content Classes (models and containers)
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/coursescontainer.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/coursescontainer.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/coursescontainer.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/department.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/department.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/department.py	(revision 7819)
@@ -24,5 +24,5 @@
 from waeup.kofa.university.coursescontainer import CoursesContainer
 from waeup.kofa.university.certificatescontainer import CertificatesContainer
-from waeup.kofa.interfaces import IKOFAUtils
+from waeup.kofa.interfaces import IKofaUtils
 from waeup.kofa.university.interfaces import IDepartment, IDepartmentAdd
 
@@ -73,5 +73,5 @@
 
     def longtitle(self):
-        insttypes_dict = getUtility(IKOFAUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
         return "%s %s (%s)" % (
             insttypes_dict[self.title_prefix],
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/department.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/department.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/department.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 Content Classes (models and containers)
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.py	(revision 7819)
@@ -19,5 +19,5 @@
 from zope.component.interfaces import IFactory
 from zope.interface import implementedBy
-from waeup.kofa.interfaces import IKOFAPluggable
+from waeup.kofa.interfaces import IKofaPluggable
 from waeup.kofa.university.interfaces import IFacultiesContainer, IFaculty
 
@@ -52,10 +52,10 @@
     """A plugin that creates container for faculties inside a university.
     """
-    grok.implements(IKOFAPluggable)
+    grok.implements(IKofaPluggable)
     grok.name('faculties')
 
     def setup(self, site, name, logger):
         if 'faculties' in site.keys():
-            logger.warn('Could not create container for faculties in KOFA.')
+            logger.warn('Could not create container for faculties in Kofa.')
             return
         site['faculties'] = FacultiesContainer()
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/facultiescontainer.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 
@@ -77,10 +77,10 @@
 .. class:: AcademicsPlugin()
 
-   .. attribute:: grok.implements(IKOFAPluggable)
+   .. attribute:: grok.implements(IKofaPluggable)
 
    This plugin component tells under which name (``faculties``) an
-   instance of academics stuff should be created in plain KOFA
+   instance of academics stuff should be created in plain Kofa
    instances. It also tells the factory name for FacultiesContainer
-   instances, which serve as root object for academics stuff in KOFA apps.
+   instances, which serve as root object for academics stuff in Kofa apps.
 
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 7819)
@@ -23,5 +23,5 @@
 from zope.interface import implementedBy
 from zope.component import getUtility
-from waeup.kofa.interfaces import IKOFAUtils
+from waeup.kofa.interfaces import IKofaUtils
 from waeup.kofa.university.interfaces import (
     IFaculty, IFacultyAdd, IDepartment)
@@ -61,5 +61,5 @@
 
     def longtitle(self):
-        insttypes_dict = getUtility(IKOFAUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
         result = "%s %s (%s)" % (
             insttypes_dict[self.title_prefix],
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.txt	(revision 7819)
@@ -7,5 +7,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/interfaces.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/interfaces.py	(revision 7819)
@@ -21,5 +21,5 @@
 from zope import schema
 from zope.interface import Attribute
-from waeup.kofa.interfaces import (IKOFAObject, IKOFAContainer)
+from waeup.kofa.interfaces import (IKofaObject, IKofaContainer)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.university.vocabularies import (
@@ -32,5 +32,5 @@
     )
 
-class IFaculty(IKOFAContainer):
+class IFaculty(IKofaContainer):
     """Representation of a university faculty.
     """
@@ -73,5 +73,5 @@
 IFacultyAdd['code'].order =  IFaculty['code'].order
 
-class IFacultiesContainer(IKOFAContainer):
+class IFacultiesContainer(IKofaContainer):
     """A container for faculties.
     """
@@ -80,5 +80,5 @@
 
         """
-class IDepartment(IKOFAObject):
+class IDepartment(IKofaObject):
     """Representation of a department.
     """
@@ -124,5 +124,5 @@
 IDepartmentAdd['code'].order =  IDepartment['code'].order
 
-class ICoursesContainer(IKOFAContainer):
+class ICoursesContainer(IKofaContainer):
     """A container for faculties.
     """
@@ -133,5 +133,5 @@
         """
 
-class ICourse(IKOFAObject):
+class ICourse(IKofaObject):
     """Representation of a course.
     """
@@ -186,5 +186,5 @@
 ICourseAdd['code'].order =  ICourse['code'].order
 
-class ICertificate(IKOFAObject):
+class ICertificate(IKofaObject):
     """Representation of a certificate.
     """
@@ -248,5 +248,5 @@
 ICertificateAdd['code'].order =  ICertificate['code'].order
 
-class ICertificatesContainer(IKOFAContainer):
+class ICertificatesContainer(IKofaContainer):
     """A container for certificates.
     """
@@ -257,5 +257,5 @@
         """
 
-class ICertificateCourse(IKOFAObject):
+class ICertificateCourse(IKofaObject):
     """A certificatecourse is referring a course and provides some own
        attributes.
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_export.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_export.py	(revision 7819)
@@ -23,5 +23,5 @@
 from zope.interface.verify import verifyObject, verifyClass
 from waeup.kofa.interfaces import ICSVExporter
-from waeup.kofa.testing import KOFAUnitTestLayer
+from waeup.kofa.testing import KofaUnitTestLayer
 from waeup.kofa.university import (
     FacultiesContainer, Faculty, Department, Course, Certificate,
@@ -34,5 +34,5 @@
 class FacultyExporterTest(unittest.TestCase):
 
-    layer = KOFAUnitTestLayer
+    layer = KofaUnitTestLayer
 
     def setUp(self):
@@ -123,5 +123,5 @@
     # Tests for DepartmentExporter
 
-    layer = KOFAUnitTestLayer
+    layer = KofaUnitTestLayer
 
     def setUp(self):
@@ -214,5 +214,5 @@
     # Tests for CourseExporter
 
-    layer = KOFAUnitTestLayer
+    layer = KofaUnitTestLayer
 
     def setUp(self):
@@ -307,5 +307,5 @@
     # Tests for CertificateExporter
 
-    layer = KOFAUnitTestLayer
+    layer = KofaUnitTestLayer
 
     def setUp(self):
@@ -412,5 +412,5 @@
     # Tests for CertificateCourseExporter
 
-    layer = KOFAUnitTestLayer
+    layer = KofaUnitTestLayer
 
     def setUp(self):
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_facultiescontainer.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_facultiescontainer.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/tests/test_facultiescontainer.py	(revision 7819)
@@ -90,5 +90,5 @@
         self.assertEqual(
             self._logger_factory.get_messages(),
-            'Could not create container for faculties in KOFA.\n'
+            'Could not create container for faculties in Kofa.\n'
             )
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py	(revision 7819)
@@ -22,8 +22,8 @@
 from zope.catalog.interfaces import ICatalog
 from zope.component import getUtility
-from waeup.kofa.interfaces import SimpleKOFAVocabulary, IKOFAUtils
+from waeup.kofa.interfaces import SimpleKofaVocabulary, IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
 
-course_levels = SimpleKOFAVocabulary(
+course_levels = SimpleKofaVocabulary(
     (_('Pre-Studies'),10),
     (_('100 (Year 1)'),100),
@@ -41,5 +41,5 @@
     """
     def getValues(self, context):
-        semesters_dict = getUtility(IKOFAUtils).getSemesterDict()
+        semesters_dict = getUtility(IKofaUtils).getSemesterDict()
         return semesters_dict.keys()
 
@@ -48,5 +48,5 @@
 
     def getTitle(self, context, value):
-        semesters_dict = getUtility(IKOFAUtils).getSemesterDict()
+        semesters_dict = getUtility(IKofaUtils).getSemesterDict()
         return semesters_dict[value]
 
@@ -56,5 +56,5 @@
     """
     def getValues(self, context):
-        insttypes_dict = getUtility(IKOFAUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
         return sorted(insttypes_dict.keys())
 
@@ -63,5 +63,5 @@
 
     def getTitle(self, context, value):
-        insttypes_dict = getUtility(IKOFAUtils).getInstTypeDict()
+        insttypes_dict = getUtility(IKofaUtils).getInstTypeDict()
         return insttypes_dict[value]
 
@@ -71,5 +71,5 @@
     """
     def getValues(self, context):
-        appcats_dict = getUtility(IKOFAUtils).getAppCatDict()
+        appcats_dict = getUtility(IKofaUtils).getAppCatDict()
         return sorted(appcats_dict.keys())
 
@@ -78,5 +78,5 @@
 
     def getTitle(self, context, value):
-        appcats_dict = getUtility(IKOFAUtils).getAppCatDict()
+        appcats_dict = getUtility(IKofaUtils).getAppCatDict()
         return appcats_dict[value]
 
@@ -86,5 +86,5 @@
     """
     def getValues(self, context):
-        studymodes_dict = getUtility(IKOFAUtils).getStudyModesDict()
+        studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
         return sorted(studymodes_dict.keys())
 
@@ -93,5 +93,5 @@
 
     def getTitle(self, context, value):
-        studymodes_dict = getUtility(IKOFAUtils).getStudyModesDict()
+        studymodes_dict = getUtility(IKofaUtils).getStudyModesDict()
         return studymodes_dict[value]
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""Users container for the KOFA portal.
+"""Users container for the Kofa portal.
 """
 import grok
Index: main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/userscontainer.txt	(revision 7819)
@@ -1,7 +1,7 @@
-User container for the KOFA
+User container for the Kofa
 ***************************
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 Before we can start, we need some password managers available:
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/batching.py	(revision 7819)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-"""KOFA components for batch processing.
+"""Kofa components for batch processing.
 
 Batch processors eat CSV files to add, update or remove large numbers
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/converters.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/converters.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/converters.txt	(revision 7819)
@@ -10,5 +10,5 @@
 
 .. :NOdoctest:
-.. :NOlayer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :NOlayer: waeup.kofa.testing.KofaUnitTestLayer
 
 
@@ -672,9 +672,9 @@
     '1'
 
-    >>> from waeup.kofa.interfaces import SimpleKOFAVocabulary
+    >>> from waeup.kofa.interfaces import SimpleKofaVocabulary
     >>> field = Choice(
     ...   title = u'Favourite Dish',
     ...   default = 0,
-    ...   vocabulary = SimpleKOFAVocabulary(
+    ...   vocabulary = SimpleKofaVocabulary(
     ...        ('N/A', 0), ('Pizza', 1),
     ...        ('Cake', 2), ('Muffins', 3)),
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.py	(revision 7819)
@@ -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 Kofa.
 """
 import os
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/helpers.txt	(revision 7819)
@@ -1,8 +1,8 @@
-:mod:`waeup.kofa.utils.helpers` -- Helpers for KOFA
+:mod:`waeup.kofa.utils.helpers` -- Helpers for Kofa
 ***************************************************
 
 .. module:: waeup.kofa.utils.helpers
 
-Helper functions for KOFA.
+Helper functions for Kofa.
 
 .. :doctest:
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.py	(revision 7819)
@@ -22,6 +22,6 @@
 from cStringIO import StringIO
 from zope.interface import Interface
-from waeup.kofa.interfaces import (IKOFAObject, IKOFAExporter,
-                                   IKOFAXMLExporter, IKOFAXMLImporter)
+from waeup.kofa.interfaces import (IKofaObject, IKofaExporter,
+                                   IKofaXMLExporter, IKofaXMLImporter)
 
 def readFile(f):
@@ -40,11 +40,11 @@
 
 class Exporter(grok.Adapter):
-    """Export a KOFA object as pickle.
+    """Export a Kofa 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(IKofaObject)
+    grok.provides(IKofaExporter)
 
     def __init__(self, context):
@@ -61,5 +61,5 @@
 
 class XMLExporter(grok.Adapter):
-    """Export a KOFA object as XML.
+    """Export a Kofa object as XML.
 
     This all-purpose exporter exports XML representations of pickable
@@ -67,5 +67,5 @@
     """
     grok.context(Interface)
-    grok.provides(IKOFAXMLExporter)
+    grok.provides(IKofaXMLExporter)
 
     def __init__(self, context):
@@ -84,8 +84,8 @@
 
 class XMLImporter(grok.Adapter):
-    """Import a KOFA object from XML.
+    """Import a Kofa object from XML.
     """
     grok.context(Interface)
-    grok.provides(IKOFAXMLImporter)
+    grok.provides(IKofaXMLImporter)
 
     def __init__(self, context):
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.txt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.txt	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/importexport.txt	(revision 7819)
@@ -6,5 +6,5 @@
 
 .. :doctest:
-.. :layer: waeup.kofa.testing.KOFAUnitTestLayer
+.. :layer: waeup.kofa.testing.KofaUnitTestLayer
 
 As imports and exports of data are a cruical point when doing updates
@@ -60,6 +60,6 @@
 an exporter::
 
-    >>> from waeup.kofa.interfaces import IKOFAXMLExporter
-    >>> exporter = IKOFAXMLExporter(mycave)
+    >>> from waeup.kofa.interfaces import IKofaXMLExporter
+    >>> exporter = IKofaXMLExporter(mycave)
     >>> exporter
     <waeup.kofa.utils.importexport.XMLExporter object at 0x...>
@@ -101,6 +101,6 @@
 Now we create an importer for that object:
 
-    >>> from waeup.kofa.interfaces import IKOFAXMLImporter
-    >>> importer = IKOFAXMLImporter(mycave)
+    >>> from waeup.kofa.interfaces import IKofaXMLImporter
+    >>> importer = IKofaXMLImporter(mycave)
 
 Importing from filenames
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/tests/test_converters.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/tests/test_converters.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/tests/test_converters.py	(revision 7819)
@@ -36,12 +36,12 @@
 from waeup.kofa.utils.converters import IObjectConverter
 from waeup.kofa.utils.helpers import attrs_to_fields
-from waeup.kofa.interfaces import SimpleKOFAVocabulary
-
-colors = SimpleKOFAVocabulary(
+from waeup.kofa.interfaces import SimpleKofaVocabulary
+
+colors = SimpleKofaVocabulary(
     ('Red', u'red'),
     ('Green', u'green'),
     ('Blue', u'blue'),
     )
-car_nums = SimpleKOFAVocabulary(
+car_nums = SimpleKofaVocabulary(
     ('None', 0),
     ('One', 1),
Index: main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/utils/utils.py	(revision 7819)
@@ -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 Kofa.
 """
 import os
@@ -23,5 +23,5 @@
 from zope.i18n import translate
 from random import SystemRandom as r
-from waeup.kofa.interfaces import IKOFAUtils
+from waeup.kofa.interfaces import IKofaUtils
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.smtp import send_mail as send_mail_internally
@@ -37,8 +37,8 @@
     return True
 
-class KOFAUtils(grok.GlobalUtility):
+class KofaUtils(grok.GlobalUtility):
     """A collection of parameters and methods subject to customization.
     """
-    grok.implements(IKOFAUtils)
+    grok.implements(IKofaUtils)
     # This the only place where we define the portal language
     # which is used for the translation of system messages
@@ -161,5 +161,5 @@
         Returns True or False to indicate successful operation.
         """
-        subject = 'Your KOFA credentials'
+        subject = 'Your Kofa credentials'
         text = _(u"""Dear ${a},
 
Index: main/waeup.kofa/trunk/src/waeup/kofa/widgets/objectwidget.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/widgets/objectwidget.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/widgets/objectwidget.py	(revision 7819)
@@ -25,8 +25,8 @@
 from zope.schema import getFieldNamesInOrder
 
-class KOFAObjectWidgetView(ObjectWidgetView):
+class KofaObjectWidgetView(ObjectWidgetView):
     template = ViewPageTemplateFile('objectwidget.pt')
 
-class KOFAObjectWidget(ObjectWidget):
+class KofaObjectWidget(ObjectWidget):
 
     def __init__(self, context, request, factory, **kw):
@@ -58,8 +58,8 @@
 
     def _getView(self, request):
-        return KOFAObjectWidgetView(self, request)
+        return KofaObjectWidgetView(self, request)
 
 
-class KOFAObjectDisplayWidget(KOFAObjectWidget):
+class KofaObjectDisplayWidget(KofaObjectWidget):
 
     implementsOnly(IDisplayWidget)
Index: main/waeup.kofa/trunk/src/waeup/kofa/widgets/restwidget.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/widgets/restwidget.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/widgets/restwidget.py	(revision 7819)
@@ -21,5 +21,5 @@
 from zope.formlib.widget import renderElement, DisplayWidget
 from waeup.kofa.utils.helpers import ReST2HTML
-from waeup.kofa.interfaces import IKOFAUtils
+from waeup.kofa.interfaces import IKofaUtils
 
 
@@ -36,5 +36,5 @@
         language separator - usually the first part has no language
         descriptor - are interpreted as texts in the portal's language.
-        The latter can be configured in waeup.srp.utils.utils.KOFAUtils.
+        The latter can be configured in waeup.srp.utils.utils.KofaUtils.
         """
         if self._renderedValueSet():
@@ -46,5 +46,5 @@
         parts = value.split('>>')
         elements = {}
-        lang = getUtility(IKOFAUtils).PORTAL_LANGUAGE
+        lang = getUtility(IKofaUtils).PORTAL_LANGUAGE
         for part in parts:
             if part[2:4] == u'<<':
Index: main/waeup.kofa/trunk/src/waeup/kofa/widgets/sequencewidget.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/widgets/sequencewidget.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/widgets/sequencewidget.py	(revision 7819)
@@ -29,5 +29,5 @@
 from zope.schema.interfaces import IField, IList
 
-class KOFASequenceWidget(ListSequenceWidget):
+class KofaSequenceWidget(ListSequenceWidget):
     """A sequence widget for lists.
 
@@ -51,5 +51,5 @@
 @grok.implementer(IInputWidget)
 def seq_input_widget(obj, field, req, *args, **kw):
-    return KOFASequenceWidget(obj, field, req, *args, **kw)
+    return KofaSequenceWidget(obj, field, req, *args, **kw)
 
 @grok.adapter(IList, IField, IBrowserRequest)
Index: main/waeup.kofa/trunk/src/waeup/kofa/widgets/tests/test_objectwidget.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/widgets/tests/test_objectwidget.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/widgets/tests/test_objectwidget.py	(revision 7819)
@@ -37,7 +37,7 @@
 from zope.formlib.interfaces import IWidgetInputErrorView
 
-from waeup.kofa.widgets.objectwidget import KOFAObjectWidget as ObjectWidget
+from waeup.kofa.widgets.objectwidget import KofaObjectWidget as ObjectWidget
 from waeup.kofa.widgets.objectwidget import (
-    KOFAObjectDisplayWidget as ObjectDisplayWidget)
+    KofaObjectDisplayWidget as ObjectDisplayWidget)
 
 class ITestContact(Interface):
Index: main/waeup.kofa/trunk/src/waeup/kofa/workflow.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/workflow.py	(revision 7818)
+++ main/waeup.kofa/trunk/src/waeup/kofa/workflow.py	(revision 7819)
@@ -25,7 +25,7 @@
 from zope.security.interfaces import NoInteraction
 from zope.security.management import getInteraction
-from waeup.kofa.interfaces import IKOFAWorkflowInfo
+from waeup.kofa.interfaces import IKofaWorkflowInfo
 
-class KOFAWorkflow(Workflow):
+class KofaWorkflow(Workflow):
     """A :mod:`hurry.workflow` workflow with more appropriate error
        messages.
@@ -71,9 +71,9 @@
         return False
 
-class KOFAWorkflowInfo(WorkflowInfo):
+class KofaWorkflowInfo(WorkflowInfo):
     """A workflow info that provides a convenience transition getter.
     """
 
-    grok.provides(IKOFAWorkflowInfo)
+    grok.provides(IKofaWorkflowInfo)
 
     def getManualTransitions(self):
