Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/__init__.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/__init__.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/__init__.py	(revision 11949)
@@ -1,8 +1,8 @@
 import os
 
-#from waeup.kofa.browser.layout import (
-#    KofaPage, KofaForm, KofaLayout, KofaDisplayFormPage, KofaEditFormPage,
-#    KofaAddFormPage, NullValidator)
-#from waeup.kofa.browser.pages import ContactAdminForm
+#from waeup.ikoba.browser.layout import (
+#    IkobaPage, IkobaForm, IkobaLayout, IkobaDisplayFormPage, IkobaEditFormPage,
+#    IkobaAddFormPage, NullValidator)
+#from waeup.ikoba.browser.pages import ContactAdminForm
 
 IMAGE_PATH = os.path.join(
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/async.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/async.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/async.py	(revision 11949)
@@ -2,11 +2,11 @@
 from zc.async.interfaces import COMPLETED, NEW
 from zope.interface import Interface
-from waeup.kofa.async import IJob, IJobManager
-from waeup.kofa.browser.layout import KofaPage
-from waeup.kofa.interfaces import IKofaObject, IDataCenter
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.async import IJob, IJobManager
+from waeup.ikoba.browser.layout import IkobaPage
+from waeup.ikoba.interfaces import IIkobaObject, IDataCenter
+from waeup.ikoba.interfaces import MessageFactory as _
 
 grok.templatedir('templates')
-grok.context(IKofaObject)
+grok.context(IIkobaObject)
 
 loadingbar_template = '''
@@ -97,5 +97,5 @@
 
 
-class JobManagerView(KofaPage):
+class JobManagerView(IkobaPage):
     """The main view for the job container.
     """
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/batchprocessing.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/batchprocessing.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/batchprocessing.txt	(revision 11949)
@@ -21,5 +21,5 @@
 Create a site:
 
-    >>> from waeup.kofa.app import University
+    >>> from waeup.ikoba.app import University
     >>> getRootFolder()['app'] = University()
     >>> from zope.component.hooks import setSite
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/breadcrumbs.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.py	(revision 11949)
@@ -23,12 +23,12 @@
 from zope.publisher.browser import TestRequest
 
-from waeup.kofa.interfaces import (
+from waeup.ikoba.interfaces import (
     IConfigurationContainer, ISessionConfiguration, IExportJobContainer)
-from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.browser.interfaces import (
-    IBreadcrumb, IBreadcrumbIgnorable, IBreadcrumbContainer, IKofaObject,
+from waeup.ikoba.interfaces import MessageFactory as _
+from waeup.ikoba.browser.interfaces import (
+    IBreadcrumb, IBreadcrumbIgnorable, IBreadcrumbContainer, IIkobaObject,
     IUniversity, IUsersContainer, IDataCenter,
     )
-from waeup.kofa.reports import IReportsContainer
+from waeup.ikoba.reports import IReportsContainer
 
 class Breadcrumb(grok.Adapter):
@@ -36,5 +36,5 @@
     """
     grok.provides(IBreadcrumb)
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.name('index')
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/breadcrumbs.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/breadcrumbs.txt	(revision 11949)
@@ -11,5 +11,5 @@
 We create a university to check the breadcrumb functionality.
 
-    >>> from waeup.kofa.app import University
+    >>> from waeup.ikoba.app import University
     >>> root = getRootFolder()
     >>> root['app'] = University()
@@ -22,8 +22,8 @@
 viewname:
 
-    >>> from waeup.kofa.browser.breadcrumbs import getBreadcrumbList
+    >>> from waeup.ikoba.browser.breadcrumbs import getBreadcrumbList
     >>> blist1 = getBreadcrumbList(app, 'index')
     >>> blist1
-    [<waeup.kofa.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>]
+    [<waeup.ikoba.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>]
 
 A slightly more extensive list for the datacenter:
@@ -32,7 +32,7 @@
     >>> from pprint import pprint
     >>> pprint(blist2)
-    [<waeup.kofa.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>,
-     <waeup.kofa.browser.breadcrumbs.AdministrationBreadcrumb object at 0x...>,
-     <waeup.kofa.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>]
+    [<waeup.ikoba.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>,
+     <waeup.ikoba.browser.breadcrumbs.AdministrationBreadcrumb object at 0x...>,
+     <waeup.ikoba.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>]
 
 We get a breadcrumb for university, administration area and data
@@ -47,7 +47,7 @@
 
      >>> pprint([(x.context, x.viewname) for x in blist2])
-     [(<waeup.kofa.app.University object at 0x...>, 'index'),
-      (<waeup.kofa.app.University object at 0x...>, 'administration'),
-      (<waeup.kofa.datacenter.DataCenter object at 0x...>, 'index')]
+     [(<waeup.ikoba.app.University object at 0x...>, 'index'),
+      (<waeup.ikoba.app.University object at 0x...>, 'administration'),
+      (<waeup.ikoba.datacenter.DataCenter object at 0x...>, 'index')]
 
 The administration area breadcrumb might be a surprise, as there is no
@@ -89,5 +89,5 @@
 Now we can get the breadcrumbs for this view:
 
-    >>> from waeup.kofa.browser.breadcrumbs import getBreadcrumbListForView
+    >>> from waeup.ikoba.browser.breadcrumbs import getBreadcrumbListForView
     >>> blist3 = getBreadcrumbListForView(page)
     >>> [x.title for x in blist3]
@@ -109,5 +109,5 @@
 The returned breadcrumb container supports iteration:
 
-    >>> from waeup.kofa.browser.interfaces import IBreadcrumbContainer
+    >>> from waeup.ikoba.browser.interfaces import IBreadcrumbContainer
     >>> mybccontainer = IBreadcrumbContainer(page)
     >>> [x.title for x in mybccontainer]
@@ -131,8 +131,8 @@
 
     >>> from zope.component import getAdapter
-    >>> from waeup.kofa.browser.interfaces import IBreadcrumb
+    >>> from waeup.ikoba.browser.interfaces import IBreadcrumb
     >>> b1 = getAdapter(app, IBreadcrumb, 'index')
     >>> b1
-    <waeup.kofa.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>
+    <waeup.ikoba.browser.breadcrumbs.UniversityBreadcrumb object at 0x...>
 
 Breadcrumb objects provide a title:
@@ -156,5 +156,5 @@
     >>> b2 = getAdapter(app['datacenter'], IBreadcrumb, 'index')
     >>> b2
-    <waeup.kofa.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>
+    <waeup.ikoba.browser.breadcrumbs.DataCenterBreadcrumb object at 0x...>
 
     >>> b2.title
@@ -168,5 +168,5 @@
 
     >>> b2.parent
-    (<waeup.kofa.app.University object at 0x...>, 'administration')
+    (<waeup.ikoba.app.University object at 0x...>, 'administration')
 
 This result denotes a new context object (the University instance we
@@ -184,5 +184,5 @@
     >>> b3 = getAdapter(context, IBreadcrumb, viewname)
     >>> b3
-    <waeup.kofa...breadcrumbs.AdministrationBreadcrumb object at 0x...>
+    <waeup.ikoba...breadcrumbs.AdministrationBreadcrumb object at 0x...>
 
 As you can see, we get an AdministrationBreadcrumb, although the
@@ -197,5 +197,5 @@
     >>> context, viewname = b3.parent
     >>> context, viewname
-    (<waeup.kofa.app.University object at 0x...>, 'index')
+    (<waeup.ikoba.app.University object at 0x...>, 'index')
 
 We create last breadcrumb:
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/browser.txt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/browser.txt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/browser.txt	(revision 11949)
@@ -1,6 +1,6 @@
-Browsing Kofa
+Browsing Ikoba
 *************
 
-Here we visit all parts of a Kofa portal using a browser.
+Here we visit all parts of a Ikoba portal using a browser.
 
 University
@@ -15,5 +15,5 @@
   []
 
-  >>> from waeup.kofa.app import University
+  >>> from waeup.ikoba.app import University
   >>> u = University()
   >>> root['myuniversity'] = u
@@ -35,5 +35,5 @@
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
-  ...Welcome to WAeUP.Kofa...
+  ...Welcome to WAeUP.Ikoba...
   ...
 
@@ -123,5 +123,5 @@
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
-  ...<h1>Welcome to WAeUP.Kofa...</h1>
+  ...<h1>Welcome to WAeUP.Ikoba...</h1>
   ...
 
@@ -137,5 +137,5 @@
   >>> print browser.contents
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...
-  ...<h1>Willkommen auf WAeUP.Kofa...</h1>
+  ...<h1>Willkommen auf WAeUP.Ikoba...</h1>
   ...
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/captcha.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/captcha.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/captcha.py	(revision 11949)
@@ -28,9 +28,9 @@
 from zope.interface import Interface
 from zope.publisher.interfaces.http import IHTTPRequest
-from waeup.kofa.browser.layout import KofaPage
-from waeup.kofa.browser.interfaces import (
+from waeup.ikoba.browser.layout import IkobaPage
+from waeup.ikoba.browser.interfaces import (
     ICaptchaRequest, ICaptchaResponse, ICaptcha, ICaptchaConfig,
     ICaptchaManager)
-from waeup.kofa.interfaces import IUniversity
+from waeup.ikoba.interfaces import IUniversity
 
 #
@@ -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 Ikoba 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 Ikoba",
                 }
             )
@@ -319,5 +319,5 @@
 
 
-class CaptchaTestPage(KofaPage):
+class CaptchaTestPage(IkobaPage):
     # A test page to see a captcha in action
     grok.name('captcha')
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/exceptions.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/exceptions.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/exceptions.py	(revision 11949)
@@ -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.ikoba.browser.layout import IkobaPage
 
 grok.templatedir('templates')
@@ -61,5 +61,5 @@
 
 
-class NotFoundPage(KofaPage):
+class NotFoundPage(IkobaPage):
     """A page rendered when an object cannot be found.
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/interfaces.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/interfaces.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/interfaces.py	(revision 11949)
@@ -20,7 +20,7 @@
 from zope import schema
 from zope.interface import Interface, Attribute
-from waeup.kofa.interfaces import (
-    IKofaObject, IUniversity, IUsersContainer, IDataCenter, validate_email)
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.interfaces import (
+    IIkobaObject, IUniversity, IUsersContainer, IDataCenter, validate_email)
+from waeup.ikoba.interfaces import MessageFactory as _
 
 class IBreadcrumb(Interface):
@@ -166,5 +166,5 @@
         """
 
-class IChangePassword(IKofaObject):
+class IChangePassword(IIkobaObject):
     """Interface needed for change pasword page.
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/layout.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/layout.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/layout.py	(revision 11949)
@@ -32,8 +32,8 @@
 from zope.interface import Interface
 from zope.site.hooks import getSite
-from waeup.kofa.interfaces import IKofaObject, IUserAccount, IKofaUtils
-from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.utils.helpers import to_timezone
-from waeup.kofa.authentication import get_principal_role_manager
+from waeup.ikoba.interfaces import IIkobaObject, IUserAccount, IIkobaUtils
+from waeup.ikoba.interfaces import MessageFactory as _
+from waeup.ikoba.utils.helpers import to_timezone
+from waeup.ikoba.authentication import get_principal_role_manager
 
 grok.templatedir('templates')
@@ -61,12 +61,12 @@
 
     def __call__(self, success):
-        action = KofaAction(self.label, success=success, **self.options)
+        action = IkobaAction(self.label, success=success, **self.options)
         self.actions.append(action)
         return action
 
-class KofaAction(Action):
+class IkobaAction(Action):
 
     def __init__(self, label, style='', tooltip='', warning='', **options):
-        super(KofaAction, self).__init__(label, **options)
+        super(IkobaAction, self).__init__(label, **options)
         self.style = style
         self.tooltip = tooltip
@@ -102,5 +102,5 @@
 
     def __call__(self, success):
-        action = KofaAction(self.label,
+        action = IkobaAction(self.label,
                             success=success, warning=self.msg,
                             **self.options)
@@ -160,10 +160,10 @@
         return True
 
-class KofaLayout(UtilityView,Layout):
+class IkobaLayout(UtilityView,Layout):
     """A megrok.layout.Layout with additional methods.
     """
     grok.baseclass()
 
-class KofaForm(UtilityView,Form):
+class IkobaForm(UtilityView,Form):
     """A megrok.layout.Form with additional methods.
     """
@@ -171,5 +171,5 @@
 
     def setUpWidgets(self,ignore_request=False):
-        super(KofaForm,self).setUpWidgets(ignore_request)
+        super(IkobaForm,self).setUpWidgets(ignore_request)
         # Width parameters will be overridden by Bootstrap
         # so we have to set the css class
@@ -177,10 +177,10 @@
             self.widgets['body'].height = 10
 
-class KofaPage(UtilityView,Page):
+class IkobaPage(UtilityView,Page):
     """A megrok.layout page with additional methods.
     """
     grok.baseclass()
 
-class KofaDisplayFormPage(UtilityView,DisplayForm):
+class IkobaDisplayFormPage(UtilityView,DisplayForm):
     """A megrok.layout.DisplayForm with additional methods.
     """
@@ -189,5 +189,5 @@
     hide_hint = True
 
-class KofaEditFormPage(UtilityView,EditForm):
+class IkobaEditFormPage(UtilityView,EditForm):
     """A megrok.layout.EditForm with additional methods.
     """
@@ -196,5 +196,5 @@
 
     def setUpWidgets(self,ignore_request=False):
-        super(KofaEditFormPage,self).setUpWidgets(ignore_request)
+        super(IkobaEditFormPage,self).setUpWidgets(ignore_request)
         for widget in self.widgets:
             if 'address' in widget.name or \
@@ -207,5 +207,5 @@
             self.widgets['jamb_subjects'].height = 6
 
-class KofaAddFormPage(UtilityView,AddForm):
+class IkobaAddFormPage(UtilityView,AddForm):
     """A megrok.layout.AddForm with additional methods.
     """
@@ -213,8 +213,8 @@
     template = default_waeup_edit_template
 
-class SiteLayout(KofaLayout):
+class SiteLayout(IkobaLayout):
     """ The general site layout.
     """
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
 
     #: An instance of the default theme to use for the site layout
@@ -260,5 +260,5 @@
     def formatDatetime(self,datetimeobj):
         if isinstance(datetimeobj, datetime):
-            tz = getUtility(IKofaUtils).tzinfo
+            tz = getUtility(IIkobaUtils).tzinfo
             try:
                 timestamp = to_timezone(
@@ -278,5 +278,5 @@
     def formatTZDate(self,datetimeobj):
         if isinstance(datetimeobj, datetime):
-            tz = getUtility(IKofaUtils).tzinfo
+            tz = getUtility(IIkobaUtils).tzinfo
             date = to_timezone(
                 datetimeobj, tz).strftime("%d/%m/%Y")
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pages.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/pages.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pages.py	(revision 11949)
@@ -16,5 +16,5 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
-""" Viewing components for Kofa objects.
+""" Viewing components for Ikoba objects.
 """
 # XXX: All csv ops should move to a dedicated module soon
@@ -42,31 +42,31 @@
 from zope.session.interfaces import ISession
 from zope.password.interfaces import IPasswordManager
-from waeup.kofa.browser.layout import (
-    KofaPage, KofaForm, KofaEditFormPage, KofaAddFormPage,
-    KofaDisplayFormPage, NullValidator)
-from waeup.kofa.browser.interfaces import (
+from waeup.ikoba.browser.layout import (
+    IkobaPage, IkobaForm, IkobaEditFormPage, IkobaAddFormPage,
+    IkobaDisplayFormPage, NullValidator)
+from waeup.ikoba.browser.interfaces import (
     IUniversity, ICaptchaManager, IChangePassword)
-from waeup.kofa.browser.layout import jsaction, action, UtilityView
-from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.interfaces import(
-    IKofaObject, IUsersContainer, IUserAccount, IDataCenter,
-    IKofaXMLImporter, IKofaXMLExporter, IBatchProcessor,
+from waeup.ikoba.browser.layout import jsaction, action, UtilityView
+from waeup.ikoba.interfaces import MessageFactory as _
+from waeup.ikoba.interfaces import(
+    IIkobaObject, IUsersContainer, IUserAccount, IDataCenter,
+    IIkobaXMLImporter, IIkobaXMLExporter, IBatchProcessor,
     ILocalRolesAssignable, DuplicationError, IConfigurationContainer,
     ISessionConfiguration, ISessionConfigurationAdd, IJobManager,
-    IPasswordValidator, IContactForm, IKofaUtils, ICSVExporter,
+    IPasswordValidator, IContactForm, IIkobaUtils, ICSVExporter,
     application_sessions_vocab)
-from waeup.kofa.permissions import (
+from waeup.ikoba.permissions import (
     get_users_with_local_roles, get_all_roles, get_all_users,
     get_users_with_role)
 
-from waeup.kofa.authentication import LocalRoleSetEvent
-from waeup.kofa.widgets.htmlwidget import HTMLDisplayWidget
-from waeup.kofa.utils.helpers import get_user_account, check_csv_charset
-from waeup.kofa.mandates.mandate import PasswordMandate
-from waeup.kofa.datacenter import DataCenterFile
+from waeup.ikoba.authentication import LocalRoleSetEvent
+from waeup.ikoba.widgets.htmlwidget import HTMLDisplayWidget
+from waeup.ikoba.utils.helpers import get_user_account, check_csv_charset
+from waeup.ikoba.mandates.mandate import PasswordMandate
+from waeup.ikoba.datacenter import DataCenterFile
 
 FORBIDDEN_CHARACTERS = (160,)
 
-grok.context(IKofaObject)
+grok.context(IIkobaObject)
 grok.templatedir('templates')
 
@@ -81,5 +81,5 @@
     role_manager.assignRoleToPrincipal(localrole, user)
     notify(LocalRoleSetEvent(view.context, localrole, user, granted=True))
-    ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
+    ob_class = view.__implemented__.__name__.replace('waeup.ikoba.','')
     grok.getSite().logger.info(
         '%s - added: %s|%s' % (ob_class, user, localrole))
@@ -113,5 +113,5 @@
             _('Local role successfully removed: ${a}',
             mapping = {'a':', '.join(deleted)}))
-        ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
+        ob_class = view.__implemented__.__name__.replace('waeup.ikoba.','')
         grok.getSite().logger.info(
             '%s - removed: %s' % (ob_class, ', '.join(deleted)))
@@ -147,5 +147,5 @@
         view.flash(_('Successfully removed: ${a}',
             mapping = {'a': ', '.join(deleted)}))
-        ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
+        ob_class = view.__implemented__.__name__.replace('waeup.ikoba.','')
         grok.getSite().logger.info(
             '%s - removed: %s' % (ob_class, ', '.join(deleted)))
@@ -188,5 +188,5 @@
     fields_string = ' + '.join(changed_fields)
     view.flash(_('Form has been saved.'))
-    ob_class = view.__implemented__.__name__.replace('waeup.kofa.','')
+    ob_class = view.__implemented__.__name__.replace('waeup.ikoba.','')
     if fields_string:
         grok.getSite().logger.info('%s - %s - saved: %s' % (ob_class, view.context.__name__, fields_string))
@@ -210,5 +210,5 @@
         time_delta = None
         if start_time:
-            tz = getUtility(IKofaUtils).tzinfo
+            tz = getUtility(IIkobaUtils).tzinfo
             time_delta = datetime.now(tz) - start_time
             start_time = start_time.astimezone(tz).strftime(
@@ -252,9 +252,9 @@
 #
 
-class LoginPage(KofaPage):
+class LoginPage(IkobaPage):
     """A login page, available for all objects.
     """
     grok.name('login')
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.require('waeup.Public')
     label = _(u'Login')
@@ -288,8 +288,8 @@
 
 
-class LogoutPage(KofaPage):
+class LogoutPage(IkobaPage):
     """A logout page. Calling this page will log the current user out.
     """
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.require('waeup.Public')
     grok.name('logout')
@@ -299,18 +299,18 @@
             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 Ikoba!"))
         self.redirect(self.application_url() + '/index')
         return
 
 
-class LanguageChangePage(KofaPage):
+class LanguageChangePage(IkobaPage):
     """ Language switch
     """
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.name('change_language')
     grok.require('waeup.Public')
 
     def update(self, lang='en', view_name='@@index'):
-        self.response.setCookie('kofa.language', lang, path='/')
+        self.response.setCookie('ikoba.language', lang, path='/')
         self.redirect(self.url(self.context, view_name))
         return
@@ -323,5 +323,5 @@
 #
 
-class ContactAdminForm(KofaForm):
+class ContactAdminForm(IkobaForm):
     grok.name('contactadmin')
     #grok.context(IUniversity)
@@ -357,6 +357,6 @@
         usertype = getattr(self.request.principal,
                            'user_type', 'system').title()
-        kofa_utils = getUtility(IKofaUtils)
-        success = kofa_utils.sendContactForm(
+        ikoba_utils = getUtility(IIkobaUtils)
+        success = ikoba_utils.sendContactForm(
                 fullname,email,
                 self.config.name_admin,self.config.email_admin,
@@ -392,6 +392,6 @@
             # No need to flash something.
             return
-        kofa_utils = getUtility(IKofaUtils)
-        success = kofa_utils.sendContactForm(
+        ikoba_utils = getUtility(IIkobaUtils)
+        success = ikoba_utils.sendContactForm(
                 data['fullname'],data['email_from'],
                 self.config.name_admin,self.config.email_admin,
@@ -408,5 +408,5 @@
 #
 
-class UniversityPage(KofaDisplayFormPage):
+class UniversityPage(IkobaDisplayFormPage):
     """ The main university page.
     """
@@ -419,16 +419,16 @@
     @property
     def frontpage(self):
-        lang = self.request.cookies.get('kofa.language')
+        lang = self.request.cookies.get('ikoba.language')
         html = self.context['configuration'].frontpage_dict.get(lang,'')
         if html =='':
-            portal_language = getUtility(IKofaUtils).PORTAL_LANGUAGE
+            portal_language = getUtility(IIkobaUtils).PORTAL_LANGUAGE
             html = self.context[
                 'configuration'].frontpage_dict.get(portal_language,'')
         if html =='':
-            return _(u'<h1>Welcome to WAeUP.Kofa</h1>')
+            return _(u'<h1>Welcome to WAeUP.Ikoba</h1>')
         else:
             return html
 
-class AdministrationPage(KofaPage):
+class AdministrationPage(IkobaPage):
     """ The administration overview page.
     """
@@ -448,5 +448,5 @@
 
     name = 'General news feed'
-    description = 'waeup.kofa now supports RSS 2.0 feeds :-)'
+    description = 'waeup.ikoba now supports RSS 2.0 feeds :-)'
     language = None
     date = None
@@ -477,5 +477,5 @@
 #
 
-class UsersContainerPage(KofaPage):
+class UsersContainerPage(IkobaPage):
     """Overview page for all local users.
     """
@@ -494,5 +494,5 @@
             self.flash(_('User account ${a} successfully deleted.',
                 mapping = {'a':  userid}))
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.__parent__.logger.info(
                 '%s - removed: %s' % (ob_class, userid))
@@ -521,5 +521,5 @@
         return site_roles_string
 
-class AddUserFormPage(KofaAddFormPage):
+class AddUserFormPage(IkobaAddFormPage):
     """Add a user account.
     """
@@ -555,5 +555,5 @@
             self.flash(_('User account ${a} successfully added.',
                 mapping = {'a': name}))
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.__parent__.logger.info(
                 '%s - added: %s' % (ob_class, name))
@@ -564,5 +564,5 @@
         self.redirect(self.url(self.context))
 
-class UserManageFormPage(KofaEditFormPage):
+class UserManageFormPage(IkobaEditFormPage):
     """Manage a user account.
     """
@@ -604,5 +604,5 @@
         fields_string = ' + '.join(changed_fields)
         if fields_string:
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.__parent__.logger.info(
                 '%s - %s edited: %s' % (
@@ -635,6 +635,6 @@
         usertype = getattr(self.request.principal,
                            'user_type', 'system').title()
-        kofa_utils = getUtility(IKofaUtils)
-        success = kofa_utils.sendContactForm(
+        ikoba_utils = getUtility(IIkobaUtils)
+        success = ikoba_utils.sendContactForm(
                 self.request.principal.title,email,
                 self.context.title,self.context.email,
@@ -660,5 +660,5 @@
         self.widgets['title'].displayWidth = 30
 
-class MyRolesPage(KofaPage):
+class MyRolesPage(IkobaPage):
     """Display site roles and local roles assigned to officers.
     """
@@ -691,5 +691,5 @@
 #
 
-class ConfigurationContainerDisplayFormPage(KofaDisplayFormPage):
+class ConfigurationContainerDisplayFormPage(IkobaDisplayFormPage):
     """View page of the configuration container.
     """
@@ -703,5 +703,5 @@
 
 
-class ConfigurationContainerManageFormPage(KofaEditFormPage):
+class ConfigurationContainerManageFormPage(IkobaEditFormPage):
     """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.
@@ -763,5 +763,5 @@
         return
 
-class SessionConfigurationAddFormPage(KofaAddFormPage):
+class SessionConfigurationAddFormPage(IkobaAddFormPage):
     """Add a session configuration object to configuration container.
     """
@@ -779,5 +779,5 @@
         try:
             self.context.addSessionConfiguration(sessionconfiguration)
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.__parent__.logger.info(
                 '%s - added: %s' % (
@@ -794,5 +794,5 @@
         return
 
-class SessionConfigurationManageFormPage(KofaEditFormPage):
+class SessionConfigurationManageFormPage(IkobaEditFormPage):
     """Manage session configuration object.
     """
@@ -824,5 +824,5 @@
 #
 
-class DatacenterPage(KofaEditFormPage):
+class DatacenterPage(IkobaEditFormPage):
     grok.context(IDataCenter)
     grok.name('index')
@@ -854,10 +854,10 @@
             self.flash(_('Successfully deleted: ${a}',
                 mapping = {'a': ', '.join(deleted)}))
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.logger.info(
                 '%s - deleted: %s' % (ob_class, ', '.join(deleted)))
         return
 
-class DatacenterFinishedPage(KofaEditFormPage):
+class DatacenterFinishedPage(IkobaEditFormPage):
     grok.context(IDataCenter)
     grok.name('processed')
@@ -873,5 +873,5 @@
         return super(DatacenterFinishedPage, self).update()
 
-class DatacenterUploadPage(KofaPage):
+class DatacenterUploadPage(IkobaPage):
     grok.context(IDataCenter)
     grok.name('upload')
@@ -904,5 +904,5 @@
             mail_table += '%s: %s ...\n' % (line[0], data)
         # Collect all recipient addresses
-        kofa_utils = getUtility(IKofaUtils)
+        ikoba_utils = getUtility(IIkobaUtils)
         import_managers = get_users_with_role(
             'waeup.ImportManager', grok.getSite())
@@ -924,6 +924,6 @@
                       _('${a}: ${b} uploaded',
                       mapping = {'a':config.acronym, 'b':filename}),
-                      'waeup.kofa',
-                      target_language=kofa_utils.PORTAL_LANGUAGE)
+                      'waeup.ikoba',
+                      target_language=ikoba_utils.PORTAL_LANGUAGE)
             text = _("""File: ${a}
 Importer: ${b}
@@ -938,5 +938,5 @@
                 'd':uploadfile.lines - 1,
                 'e':mail_table})
-            success = kofa_utils.sendContactForm(
+            success = ikoba_utils.sendContactForm(
                     fullname,email,
                     rcpt_name,rcpt_addrs,
@@ -983,5 +983,5 @@
             target = os.path.join(self.context.storage, normalized_filename)
             filecontent = uploadfile.read()
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             logger = self.context.logger
 
@@ -1060,5 +1060,5 @@
 
     def render(self):
-        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
         self.context.logger.info(
             '%s - downloaded: %s' % (ob_class, self.filename))
@@ -1083,5 +1083,5 @@
 
     def render(self):
-        #ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+        #ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
         #self.context.logger.info(
         #    '%s - skeleton downloaded: %s' % (ob_class, self.filename))
@@ -1094,5 +1094,5 @@
         return csv_data
 
-class DatacenterImportStep1(KofaPage):
+class DatacenterImportStep1(IkobaPage):
     """Manual import step 1: choose file
     """
@@ -1119,9 +1119,9 @@
         if select is not None:
             # A filename was selected
-            session = ISession(self.request)['waeup.kofa']
+            session = ISession(self.request)['waeup.ikoba']
             session['import_filename'] = select
             self.redirect(self.url(self.context, '@@import2'))
 
-class DatacenterImportStep2(KofaPage):
+class DatacenterImportStep2(IkobaPage):
     """Manual import step 2: choose processor
     """
@@ -1191,5 +1191,5 @@
     def update(self, mode=None, importer=None,
                back1=None, cancel=None, proceed=None):
-        session = ISession(self.request)['waeup.kofa']
+        session = ISession(self.request)['waeup.ikoba']
         self.filename = session.get('import_filename', None)
 
@@ -1226,5 +1226,5 @@
             self.flash(warnings, type='warning')
 
-class DatacenterImportStep3(KofaPage):
+class DatacenterImportStep3(IkobaPage):
     """Manual import step 3: modify header
     """
@@ -1309,5 +1309,5 @@
 
     def update(self, headerfield=None, back2=None, cancel=None, proceed=None):
-        session = ISession(self.request)['waeup.kofa']
+        session = ISession(self.request)['waeup.ikoba']
         self.filename = session.get('import_filename', None)
         self.mode = session.get('import_mode', None)
@@ -1338,5 +1338,5 @@
             self.flash(warnings, type='warning')
 
-class DatacenterImportStep4(KofaPage):
+class DatacenterImportStep4(IkobaPage):
     """Manual import step 4: do actual import
     """
@@ -1359,5 +1359,5 @@
             self.redirect(self.url(self.context, '@@import1'))
             return
-        session = ISession(self.request)['waeup.kofa']
+        session = ISession(self.request)['waeup.ikoba']
         self.filename = session.get('import_filename', None)
         self.mode = session.get('import_mode', None)
@@ -1402,5 +1402,5 @@
             mapping = {'a':linenum - self.warn_num}))
 
-class DatacenterLogsOverview(KofaPage):
+class DatacenterLogsOverview(IkobaPage):
     grok.context(IDataCenter)
     grok.name('logs')
@@ -1418,5 +1418,5 @@
         self.files = self.context.getLogFiles()
 
-class DatacenterLogsFileview(KofaPage):
+class DatacenterLogsFileview(IkobaPage):
     grok.context(IDataCenter)
     grok.name('show')
@@ -1456,5 +1456,5 @@
         return
 
-class DatacenterSettings(KofaPage):
+class DatacenterSettings(IkobaPage):
     grok.context(IDataCenter)
     grok.name('manage')
@@ -1489,5 +1489,5 @@
         if newpath:
             self.flash(_('New storage path succefully set.'))
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.logger.info(
                 '%s - storage path set: %s' % (ob_class, newpath))
@@ -1495,5 +1495,5 @@
         return
 
-class ExportCSVPage(KofaPage):
+class ExportCSVPage(IkobaPage):
     grok.context(IDataCenter)
     grok.name('export')
@@ -1519,5 +1519,5 @@
             job_id = self.context.start_export_job(
                 exporter, self.request.principal.id)
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.logger.info(
                 '%s - exported: %s, job_id=%s' % (ob_class, exporter, job_id))
@@ -1525,5 +1525,5 @@
             entry = self.context.entry_from_job_id(job_id)
             self.context.delete_export_entry(entry)
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             self.context.logger.info(
                 '%s - discarded: job_id=%s' % (ob_class, job_id))
@@ -1560,10 +1560,10 @@
         #self.context.delete_export_entry(
         #    self.context.entry_from_job_id(job_id))
-        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
         self.context.logger.info(
             '%s - downloaded: %s, job_id=%s' % (ob_class, filename, job_id))
         return result
 
-class ChangePasswordRequestPage(KofaForm):
+class ChangePasswordRequestPage(IkobaForm):
     """Captcha'd page for all kind of users to request a password change.
     """
@@ -1613,6 +1613,6 @@
             return
         # Change password
-        kofa_utils = getUtility(IKofaUtils)
-        password = kofa_utils.genPassword()
+        ikoba_utils = getUtility(IIkobaUtils)
+        password = ikoba_utils.genPassword()
         mandate = PasswordMandate()
         mandate.params['password'] = password
@@ -1625,5 +1625,5 @@
         url_info = u'Confirmation link: %s' % mandate_url
         msg = _('You have successfully requested a password for the')
-        success = kofa_utils.sendCredentials(
+        success = ikoba_utils.sendCredentials(
             IUserAccount(user),password,url_info,msg)
         if success:
@@ -1632,5 +1632,5 @@
         else:
             self.flash(_('An smtp server error occurred.'), type='danger')
-        ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+        ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
         self.context.logger.info(
             '%s - %s - %s' % (ob_class, data['identifier'], data['email']))
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pdf.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/pdf.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/pdf.py	(revision 11949)
@@ -37,8 +37,8 @@
 from zope.publisher.browser import TestRequest
 from zope.component import getUtility, queryUtility
-from waeup.kofa.browser.interfaces import IPDFCreator
-from waeup.kofa.utils.helpers import now
-from waeup.kofa.interfaces import IKofaUtils
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.browser.interfaces import IPDFCreator
+from waeup.ikoba.utils.helpers import now
+from waeup.ikoba.interfaces import IIkobaUtils
+from waeup.ikoba.interfaces import MessageFactory as _
 
 
@@ -523,8 +523,8 @@
 
         Location of the string is determined by canvas attributes
-        `kofa_footer_x_pos` and `kofa_footer_y_pos` that have to be
+        `ikoba_footer_x_pos` and `ikoba_footer_y_pos` that have to be
         set manually.
 
-        If this canvas also provides an attribute `kofa_footer_text`,
+        If this canvas also provides an attribute `ikoba_footer_text`,
         the contained text is rendered left of the ``page x of y``
         string.
@@ -533,8 +533,8 @@
         right_footer_text = _(
             '${footer_text} Page ${num1} of ${num2}',
-            mapping = {'footer_text': self.kofa_footer_text,
+            mapping = {'footer_text': self.ikoba_footer_text,
                        'num1':self._pageNumber, 'num2':page_count})
         self.drawRightString(
-            self.kofa_footer_x_pos, self.kofa_footer_y_pos,
+            self.ikoba_footer_x_pos, self.ikoba_footer_y_pos,
              translate(right_footer_text))
         return
@@ -627,5 +627,5 @@
 
     def getWidgetsTable(self, form_fields, context, view, lang='en',
-                        domain='waeup.kofa', separators=None,
+                        domain='waeup.ikoba', separators=None,
                         colWidths=None, twoDataCols=False):
         """Return a reportlab `Table` instance, created from widgets
@@ -684,6 +684,6 @@
         or similar object.
 
-        Text of headerline is extracted from doc.kofa_headtitle, the
-        document title (under the head) from doc.kofa_title.
+        Text of headerline is extracted from doc.ikoba_headtitle, the
+        document title (under the head) from doc.ikoba_title.
 
         This is a callback method that will be called from reportlab
@@ -708,5 +708,5 @@
             site_config = site.get('configuration', None)
         head_title = getattr(
-            doc, 'kofa_headtitle', getattr(
+            doc, 'ikoba_headtitle', getattr(
                 site_config, 'name',
                 u'Sample University'))
@@ -730,5 +730,5 @@
         canvas.saveState()
         canvas.setFont("Helvetica-Bold", 14)
-        title = getattr(doc, 'kofa_title', '')
+        title = getattr(doc, 'ikoba_title', '')
         if '\n' in title:
             title_lines = title.split('\n')
@@ -747,21 +747,21 @@
         canvas.line(2.2*cm, 0.62*inch, width-2.2*cm, 0.62*inch)
         canvas.setFont("Helvetica", 9)
-        if not getattr(doc, 'kofa_nodate', False):
-            tz = getattr(queryUtility(IKofaUtils), 'tzinfo', pytz.utc)
-            #tz = getUtility(IKofaUtils).tzinfo
+        if not getattr(doc, 'ikoba_nodate', False):
+            tz = getattr(queryUtility(IIkobaUtils), 'tzinfo', pytz.utc)
+            #tz = getUtility(IIkobaUtils).tzinfo
             today = now(tz).strftime('%d/%m/%Y %H:%M:%S %Z')
             canvas.drawString(2.2*cm, 0.5 * inch,
                 translate(_(u'Date: ${a}', mapping = {'a': today})))
         # set canves attributes needed to render `page x of y`
-        canvas.kofa_footer_x_pos = width-2.2*cm
-        canvas.kofa_footer_y_pos = 0.5 * inch
-        canvas.kofa_footer_text =  doc.kofa_footer
+        canvas.ikoba_footer_x_pos = width-2.2*cm
+        canvas.ikoba_footer_y_pos = 0.5 * inch
+        canvas.ikoba_footer_text =  doc.ikoba_footer
         canvas.restoreState()
         canvas.restoreState()
 
         # Metadata
-        canvas.setAuthor(getattr(doc, 'kofa_author', 'Unknown'))
+        canvas.setAuthor(getattr(doc, 'ikoba_author', 'Unknown'))
         canvas.setSubject(title)
-        canvas.setCreator(u'WAeUP Kofa')
+        canvas.setCreator(u'WAeUP Ikoba')
         return
 
@@ -782,8 +782,8 @@
         # Set some attributes that are needed when rendering the background.
         if headerline is not None:
-            doc.kofa_headtitle = headerline
-        doc.kofa_title = title
-        doc.kofa_author = author
-        doc.kofa_footer = footer
+            doc.ikoba_headtitle = headerline
+        doc.ikoba_title = title
+        doc.ikoba_author = author
+        doc.ikoba_footer = footer
         doc.sigs_in_footer = sigs_in_footer
         if note is not None:
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/reports.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/reports.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/reports.py	(revision 11949)
@@ -21,13 +21,13 @@
 from zope.component import getUtility, queryUtility
 from zope.location.location import located
-from waeup.kofa.interfaces import IJobManager, IKofaUtils
-from waeup.kofa.interfaces import MessageFactory as _
-from waeup.kofa.browser.layout import KofaPage
-from waeup.kofa.reports import IReportsContainer, IReportGenerator
-from waeup.kofa.reports import get_generators
+from waeup.ikoba.interfaces import IJobManager, IIkobaUtils
+from waeup.ikoba.interfaces import MessageFactory as _
+from waeup.ikoba.browser.layout import IkobaPage
+from waeup.ikoba.reports import IReportsContainer, IReportGenerator
+from waeup.ikoba.reports import get_generators
 
 grok.templatedir('templates')
 
-class ReportsContainerPage(KofaPage):
+class ReportsContainerPage(IkobaPage):
     """A view on a reports container.
     """
@@ -48,5 +48,5 @@
             self.context.delete_report_entry(entry)
             self.flash('Report discarded: %s' % job_id)
-            ob_class = self.__implemented__.__name__.replace('waeup.kofa.','')
+            ob_class = self.__implemented__.__name__.replace('waeup.ikoba.','')
             grok.getSite().logger.info(
                 '%s - report %s discarded' % (ob_class, job_id))
@@ -72,5 +72,5 @@
                 starttime = starttime.astimezone(
                     getUtility(
-                        IKofaUtils).tzinfo).strftime("%Y-%m-%d %H:%M:%S %Z")
+                        IIkobaUtils).tzinfo).strftime("%Y-%m-%d %H:%M:%S %Z")
             new_entry = (job_id, descr, status, job.finished, job.finished \
                 and not job.failed, not job.finished, starttime, user)
@@ -104,5 +104,5 @@
         return None
 
-class ReportsContainerCreate(KofaPage):
+class ReportsContainerCreate(IkobaPage):
     """Create a new report.
     """
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/changepw.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/changepw.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/changepw.pt	(revision 11949)
@@ -1,4 +1,4 @@
 <form action="." tal:attributes="action request/URL" method="post"
-      i18n:domain="waeup.kofa" enctype="multipart/form-data">
+      i18n:domain="waeup.ikoba" enctype="multipart/form-data">
 
   <table class="form-table">
@@ -18,8 +18,8 @@
 
   <p i18n:translate="email_address_problem">
-    Enter the email address stored in Kofa.
+    Enter the email address stored in Ikoba.
     You can't change your email address here.
     If you've forgotten your email address or the email
-    address stored in Kofa is wrong or no longer valid,
+    address stored in Ikoba is wrong or no longer valid,
     use the enquiries form to request a change
     of address.
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/configurationmanagepage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/configurationmanagepage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/configurationmanagepage.pt	(revision 11949)
@@ -1,4 +1,4 @@
 <form action="." tal:attributes="action request/URL" method="POST"
-      enctype="multipart/form-data" i18n:domain="waeup.kofa">
+      enctype="multipart/form-data" i18n:domain="waeup.ikoba">
   <ul class="tabs nav nav-tabs" data-tabs="tabs">
     <li class="active">
@@ -27,5 +27,5 @@
     <div id="tab2" class="tab-pane">
       <br />
-      <table class="kofa-data-table dataTableManage">
+      <table class="ikoba-data-table dataTableManage">
         <thead>
           <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterexportpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterexportpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterexportpage.pt	(revision 11949)
@@ -37,5 +37,5 @@
 <br /><br />
 
-<table i18n:domain="waeup.kofa" class="table table-condensed table-hover">
+<table i18n:domain="waeup.ikoba" class="table table-condensed table-hover">
   <thead>
     <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterfinishedpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterfinishedpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterfinishedpage.pt	(revision 11949)
@@ -4,5 +4,5 @@
   imports. The files contain the imported datasets.
 </p>
-<table i18n:domain="waeup.kofa" class="kofa-data-table dataTableFiles">
+<table i18n:domain="waeup.ikoba" class="ikoba-data-table dataTableFiles">
   <thead>
     <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport1page.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterimport1page.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport1page.pt	(revision 11949)
@@ -1,11 +1,11 @@
-<h3 i18n:domain="waeup.kofa" i18n:translate="">Step 1</h3>
-<p i18n:domain="waeup.kofa" i18n:translate="">
+<h3 i18n:domain="waeup.ikoba" i18n:translate="">Step 1</h3>
+<p i18n:domain="waeup.ikoba" i18n:translate="">
   Using batch processing you can mass-create, mass-update, or
   mass-remove datasets from the database using CSV files.
 </p>
-<p i18n:domain="waeup.kofa" i18n:translate="">
+<p i18n:domain="waeup.ikoba" i18n:translate="">
   Please select a file for processing from the list below.
 </p>
-<form i18n:domain="waeup.kofa" method="POST">
+<form i18n:domain="waeup.ikoba" method="POST">
   <table class="table">
     <thead>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport2page.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterimport2page.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport2page.pt	(revision 11949)
@@ -1,4 +1,4 @@
-<h3 i18n:domain="waeup.kofa" i18n:translate="">Step 2</h3>
-<form i18n:domain="waeup.kofa" method="POST">
+<h3 i18n:domain="waeup.ikoba" i18n:translate="">Step 2</h3>
+<form i18n:domain="waeup.ikoba" method="POST">
   <p>
     <b i18n:translate="">File:</b>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport3page.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterimport3page.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport3page.pt	(revision 11949)
@@ -1,9 +1,9 @@
-<div i18n:domain="waeup.kofa" i18n:translate=""
+<div i18n:domain="waeup.ikoba" i18n:translate=""
   class="alert alert-success" tal:condition="not: view/getWarnings">
   Header fields OK
 </div>
 
-<h3 i18n:domain="waeup.kofa" i18n:translate="">Step 3</h3>
-<form i18n:domain="waeup.kofa">
+<h3 i18n:domain="waeup.ikoba" i18n:translate="">Step 3</h3>
+<form i18n:domain="waeup.ikoba">
   <p i18n:translate="">
     Eventually modify headerfields of import file below.
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport4page.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterimport4page.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterimport4page.pt	(revision 11949)
@@ -1,18 +1,18 @@
-<h3 i18n:domain="waeup.kofa" i18n:translate="">Step 4</h3>
-<p i18n:domain="waeup.kofa" i18n:translate="">
+<h3 i18n:domain="waeup.ikoba" i18n:translate="">Step 4</h3>
+<p i18n:domain="waeup.ikoba" i18n:translate="">
   Batch processing finished.
 </p>
-<p i18n:domain="waeup.kofa">
+<p i18n:domain="waeup.ikoba">
   <b i18n:translate="">File:</b> <span tal:content="view/filename">Filename.csv</span>
 </p>
-<p i18n:domain="waeup.kofa">
+<p i18n:domain="waeup.ikoba">
   <b i18n:translate="">Processor:</b>
   <span tal:content="view/importer/name">Importer Name</span>
 </p>
-<p i18n:domain="waeup.kofa">
+<p i18n:domain="waeup.ikoba">
   <b i18n:translate="">Processing mode: </b>
   <span tal:content="view/mode">mode</span>
 </p>
-<form method="POST" i18n:domain="waeup.kofa">
+<form method="POST" i18n:domain="waeup.ikoba">
   <input class="btn btn-primary" type="submit" name="finish"
     tal:attributes="value view/back_button" />
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterlogspage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterlogspage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterlogspage.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<div i18n:domain="waeup.kofa" tal:define="files view/files">
+<div i18n:domain="waeup.ikoba" tal:define="files view/files">
   <p i18n:translate="" tal:condition="not: files">
   Currently no log files are available.
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacentermanagepage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacentermanagepage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacentermanagepage.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<form  i18n:domain="waeup.kofa" method="POST">
+<form  i18n:domain="waeup.ikoba" method="POST">
 
   <br />
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenterpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenterpage.pt	(revision 11949)
@@ -1,8 +1,8 @@
-<p  i18n:domain="waeup.kofa" i18n:translate="">
+<p  i18n:domain="waeup.ikoba" i18n:translate="">
 The data center helps you to manage portal data. You can upload CSV
 files here, which will be available for import afterwards.
 </p>
 
-<p i18n:domain="waeup.kofa">
+<p i18n:domain="waeup.ikoba">
   <b i18n:translate="">Storage path:</b>
   <span tal:content="context/storage">/foo/bar</span>
@@ -10,6 +10,6 @@
 
 <form action="." tal:attributes="action request/URL" method="post"
-      i18n:domain="waeup.kofa" enctype="multipart/form-data">
-    <table i18n:domain="waeup.kofa" class="kofa-data-table dataTableManageFiles">
+      i18n:domain="waeup.ikoba" enctype="multipart/form-data">
+    <table i18n:domain="waeup.ikoba" class="ikoba-data-table dataTableManageFiles">
       <thead>
         <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenteruploadpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/datacenteruploadpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/datacenteruploadpage.pt	(revision 11949)
@@ -70,5 +70,5 @@
 <h2 i18n:translate="">Available Processors (Importers)</h2>
 
-<table i18n:domain="waeup.kofa" class="table table-condensed">
+<table i18n:domain="waeup.ikoba" class="table table-condensed">
   <thead>
     <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/default_waeup_display_form.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/default_waeup_display_form.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/default_waeup_display_form.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<table class="form-table" i18n:domain="waeup.kofa"
+<table class="form-table" i18n:domain="waeup.ikoba"
   tal:define="files provider:files">
   <tbody>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/fileupload.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/fileupload.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/fileupload.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<tr i18n:domain="waeup.kofa" tal:condition = "viewlet/show_viewlet">
+<tr i18n:domain="waeup.ikoba" tal:condition = "viewlet/show_viewlet">
   <td class="fieldname">
     <span tal:replace="viewlet/label">FILENAME</span>:
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/loginpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/loginpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/loginpage.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<form i18n:domain="waeup.kofa" method="post" class="form-horizontal">
+<form i18n:domain="waeup.ikoba" method="post" class="form-horizontal">
   <br />
   <div class="form-group">
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/myrolespage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/myrolespage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/myrolespage.pt	(revision 11949)
@@ -1,5 +1,5 @@
-<h3 i18n:domain="waeup.kofa"
+<h3 i18n:domain="waeup.ikoba"
     i18n:translate="">My Portal Roles:</h3>
-<table i18n:domain="waeup.kofa" class="form-table">
+<table i18n:domain="waeup.ikoba" class="form-table">
 <tr tal:repeat="role view/getSiteRoles">
     <td>
@@ -9,5 +9,5 @@
 </table>
 
-<h3 i18n:domain="waeup.kofa"
+<h3 i18n:domain="waeup.ikoba"
     i18n:translate="">My Local Roles:</h3>
 <table class="form-table">
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/notfound.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/notfound.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/notfound.pt	(revision 11949)
@@ -1,9 +1,9 @@
-<h2 i18n:domain="waeup.kofa" i18n:translate="">
+<h2 i18n:domain="waeup.ikoba" i18n:translate="">
   The page you are trying to access is not available.
 </h2>
 
-<div i18n:domain="waeup.kofa">
+<div i18n:domain="waeup.ikoba">
   <b i18n:translate="">Please note the following:</b></div>
-<div i18n:domain="waeup.kofa">
+<div i18n:domain="waeup.ikoba">
   <ol class="list">
     <li i18n:translate="">
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/reportscontainercreate.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/reportscontainercreate.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/reportscontainercreate.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<form  i18n:domain="waeup.kofa"  method="POST">
+<form  i18n:domain="waeup.ikoba"  method="POST">
   <p i18n:translate="">
     Here you can create reports representing portal data.  Please pick
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/reportscontainerpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/reportscontainerpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/reportscontainerpage.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<table i18n:domain="waeup.kofa" class="table">
+<table i18n:domain="waeup.ikoba" class="table">
   <thead>
     <tr>
@@ -47,5 +47,5 @@
   </tbody>
 </table>
-<form method="POST" i18n:domain="waeup.kofa">
+<form method="POST" i18n:domain="waeup.ikoba">
   <a tal:attributes="href python:view.url(context, 'create')"
      class="btn btn-primary" i18n:translate="">
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/staffsitelayout.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/staffsitelayout.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/staffsitelayout.pt	(revision 11949)
@@ -1,9 +1,9 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" i18n:domain="waeup.kofa">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" i18n:domain="waeup.ikoba">
   <head>
 
     <!-- Diazo element-->
     <title i18n:translate="">
-      WAeUP.Kofa - Student Management System
+      WAeUP.Ikoba - Student Management System
     </title>  
     <!-- /Diazo element-->
@@ -20,8 +20,8 @@
 
   <!-- Diazo element-->
-  <body class="kofa-body">
+  <body class="ikoba-body">
 
     <!-- Diazo element-->
-    <a class="kofa-brand-link" href="#"
+    <a class="ikoba-brand-link" href="#"
         tal:attributes="href python: view.url(layout.site)"
         tal:content="layout/getAppAcronym">ACRONYM
@@ -30,5 +30,5 @@
 
     <!-- Diazo element-->
-    <ul class="nav kofa-navbar-left"> 
+    <ul class="nav ikoba-navbar-left"> 
       <tal:primary_nav content="structure provider:primary_nav" />
     </ul>
@@ -36,5 +36,5 @@
 
     <!-- Diazo element-->
-    <ul class="nav secondary-nav kofa-navbar-right">
+    <ul class="nav secondary-nav ikoba-navbar-right">
       <li tal:condition="not: layout/isAuthenticated">
       <a href="#" i18n:translate=""
@@ -75,5 +75,5 @@
     <div class="sidebar well">
         <div tal:condition="layout/isAuthenticated">
-          <div class="kofa-sidebar-title" tal:content="layout/getUserTitle">USERNAME</div>
+          <div class="ikoba-sidebar-title" tal:content="layout/getUserTitle">USERNAME</div>
           <ul class="nav">
             <tal:left content="structure provider:left_manage" />
@@ -84,5 +84,5 @@
 
     <!-- Diazo element-->
-    <div class="kofa-content">
+    <div class="ikoba-content">
       <div class="actionbar" tal:condition="provider:actionbar">
         <tal:actionbar content="structure provider:actionbar" />&nbsp;
@@ -106,5 +106,5 @@
         </ul>
       </div>
-      <h1 class="kofa-content-label"
+      <h1 class="ikoba-content-label"
           tal:condition="view/label|nothing"
           tal:content="structure view/label">LABEL</h1>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/studentsitelayout.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/studentsitelayout.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/studentsitelayout.pt	(revision 11949)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" i18n:domain="waeup.kofa">
+<html xmlns="http://www.w3.org/1999/xhtml" i18n:domain="waeup.ikoba">
   <head>
     <title i18n:translate="">
-      WAeUP.Kofa - Student Management System
+      WAeUP.Ikoba - Student Management System
     </title>
     <!--base href="http://localhost:8080/app/@@page"
@@ -10,5 +10,5 @@
     <meta name="robots" content="index, follow" />
     <link rel="stylesheet" media="only screen and (max-device-width: 480px)"
-        tal:attributes="href python: view.url(layout.site, '@@/waeup.kofa.browser/mobile.css')"
+        tal:attributes="href python: view.url(layout.site, '@@/waeup.ikoba.browser/mobile.css')"
         type="text/css" />
     <link rel="alternate" type="application/rss+xml" title="RSS"
@@ -19,8 +19,8 @@
 
   <!-- Diazo element-->
-  <body class="kofa-body">
+  <body class="ikoba-body">
 
     <!-- Diazo element-->
-    <a class="kofa-brand-link" href="#"
+    <a class="ikoba-brand-link" href="#"
         tal:attributes="href python: view.url(layout.site)"
         tal:content="layout/getAppAcronym">ACRONYM</a>
@@ -28,5 +28,5 @@
 
     <!-- Diazo element-->
-    <ul class="nav kofa-navbar-left">
+    <ul class="nav ikoba-navbar-left">
         <tal:primary_nav content="structure provider:primary_nav" />
     </ul>
@@ -34,5 +34,5 @@
 
     <!-- Diazo element-->
-    <ul class="nav secondary-nav kofa-navbar-right">
+    <ul class="nav secondary-nav ikoba-navbar-right">
       <li tal:condition="not: layout/isAuthenticated">
       <a href="#" i18n:translate=""
@@ -71,5 +71,5 @@
 
     <!-- Diazo element-->
-    <div class="kofa-content">
+    <div class="ikoba-content">
       <div class="actionbar" tal:condition="provider:actionbar">
         <tal:actionbar content="structure provider:actionbar" />&nbsp;
@@ -92,5 +92,5 @@
         </ul>
       </div>
-      <h1 class="kofa-content-label"
+      <h1 class="ikoba-content-label"
           tal:condition="view/label|nothing"
           tal:content="structure view/label">Label</h1>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/usereditformpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/usereditformpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/usereditformpage.pt	(revision 11949)
@@ -1,4 +1,4 @@
 <form action="." tal:attributes="action request/URL" method="post"
-      i18n:domain="waeup.kofa" enctype="multipart/form-data"
+      i18n:domain="waeup.ikoba" enctype="multipart/form-data"
       autocomplete="off">
 
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/userscontainerpage.pt
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/templates/userscontainerpage.pt	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/templates/userscontainerpage.pt	(revision 11949)
@@ -1,3 +1,3 @@
-<table i18n:domain="waeup.kofa" class="kofa-data-table dataTable">
+<table i18n:domain="waeup.ikoba" class="ikoba-data-table dataTable">
   <thead>
     <tr>
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_async.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/tests/test_async.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_async.py	(revision 11949)
@@ -8,9 +8,9 @@
 from zope.security.interfaces import Unauthorized
 from zope.testbrowser.testing import Browser
-from waeup.kofa.app import University
-from waeup.kofa.async import AsyncJob, get_job_id
-from waeup.kofa.interfaces import IJobManager
-from waeup.kofa.testing import FunctionalTestCase, FunctionalLayer
-from waeup.kofa.tests.test_async import FunctionalAsyncTestCase
+from waeup.ikoba.app import University
+from waeup.ikoba.async import AsyncJob, get_job_id
+from waeup.ikoba.interfaces import IJobManager
+from waeup.ikoba.testing import FunctionalTestCase, FunctionalLayer
+from waeup.ikoba.tests.test_async import FunctionalAsyncTestCase
 
 def fake_get_export_jobs_status(user_id=None):
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_captcha.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/tests/test_captcha.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_captcha.py	(revision 11949)
@@ -21,9 +21,9 @@
 from zope.interface import verify
 from zope.publisher.browser import TestRequest
-from waeup.kofa.testing import FunctionalLayer, FunctionalTestCase
-from waeup.kofa.browser.captcha import (
+from waeup.ikoba.testing import FunctionalLayer, FunctionalTestCase
+from waeup.ikoba.browser.captcha import (
     CaptchaResponse, CaptchaRequest, NullCaptcha, StaticCaptcha, ReCaptcha,
     CaptchaManager)
-from waeup.kofa.browser.interfaces import (
+from waeup.ikoba.browser.interfaces import (
     ICaptchaRequest, ICaptchaResponse, ICaptcha, ICaptchaConfig,
     ICaptchaManager)
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_doctests.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/tests/test_doctests.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_doctests.py	(revision 11949)
@@ -18,5 +18,5 @@
 """Setup doctests for browser module.
 """
-from waeup.kofa.testing import get_doctest_suite
+from waeup.ikoba.testing import get_doctest_suite
 
 def test_suite():
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_pdf.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/tests/test_pdf.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_pdf.py	(revision 11949)
@@ -4,5 +4,5 @@
 from reportlab.lib import colors
 from reportlab.platypus.flowables import PageBreak
-from waeup.kofa.browser.pdf import (
+from waeup.ikoba.browser.pdf import (
     format_html, normalize_signature, format_signatures,
     vert_signature_cell, horiz_signature_cell, signature_row, get_sig_tables,
@@ -311,5 +311,5 @@
     # and return its path.
     tmp_dir = os.path.join(
-        tempfile.gettempdir(), 'waeup.kofa.pdf-samples')
+        tempfile.gettempdir(), 'waeup.ikoba.pdf-samples')
     if not os.path.exists(tmp_dir):
         os.mkdir(tmp_dir)
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_permissions.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/tests/test_permissions.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/tests/test_permissions.py	(revision 11949)
@@ -31,6 +31,6 @@
 from zope.security.interfaces import Unauthorized
 from zope.testbrowser.testing import Browser
-from waeup.kofa.app import University
-from waeup.kofa.testing import (
+from waeup.ikoba.app import University
+from waeup.ikoba.testing import (
     FunctionalLayer, FunctionalTestCase, get_all_loggers, remove_new_loggers,
     remove_logger)
Index: main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/viewlets.py
===================================================================
--- main/waeup.kofa/branches/henrik-regista/src/waeup/kofa/browser/viewlets.py	(revision 11947)
+++ main/waeup.kofa/branches/henrik-regista/src/waeup/ikoba/browser/viewlets.py	(revision 11949)
@@ -23,19 +23,19 @@
 from zope.location.interfaces import ISite
 from zope.traversing.browser import absoluteURL
-from waeup.kofa.browser.pages import (
+from waeup.ikoba.browser.pages import (
     UniversityPage, DatacenterPage,
     UsersContainerPage, UserManageFormPage)
-from waeup.kofa.browser.interfaces import (
+from waeup.ikoba.browser.interfaces import (
     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
-from waeup.kofa.utils.helpers import get_user_account
-
-from waeup.kofa.interfaces import MessageFactory as _
+from waeup.ikoba.interfaces import (
+    IIkobaUtils, IIkobaObject, IIkobaXMLExporter,
+    IIkobaXMLImporter, IDataCenter, IUserAccount)
+from waeup.ikoba.browser.layout import IkobaPage, default_primary_nav_template
+from waeup.ikoba.utils.helpers import get_user_account
+
+from waeup.ikoba.interfaces import MessageFactory as _
 
 grok.templatedir('templates')
-grok.context(IKofaObject) # Make IKofaObject the default context
+grok.context(IIkobaObject) # Make IIkobaObject the default context
 
 class ManageSidebar(grok.ViewletManager):
@@ -87,5 +87,5 @@
     """
     grok.baseclass()
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.viewletmanager(ActionBar)
     icon = 'actionicon_modify.png' # File must exist in static/
@@ -191,5 +191,5 @@
 
 class BreadCrumbs(grok.Viewlet):
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.viewletmanager(BreadCrumbManager)
     grok.order(1)
@@ -216,10 +216,10 @@
     """
     grok.viewletmanager(LanguageManager)
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.require('waeup.Public')
     title = u'Languages'
 
     def render(self):
-        preferred_languages = getUtility(IKofaUtils).PREFERRED_LANGUAGES_DICT
+        preferred_languages = getUtility(IIkobaUtils).PREFERRED_LANGUAGES_DICT
         html = u''
         for key, value in sorted(
@@ -260,5 +260,5 @@
     """
     grok.viewletmanager(ManageSidebar)
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.view(Interface)
     grok.order(2)
@@ -295,5 +295,5 @@
     grok.baseclass()
     grok.viewletmanager(ManageSidebar)
-    grok.context(IKofaObject)
+    grok.context(IIkobaObject)
     grok.view(Interface)
     grok.order(1)
@@ -573,5 +573,5 @@
     target_viewname = 'reports'
 
-# The SubobjectLister and its viewlets below are not used in Kofa.
+# The SubobjectLister and its viewlets below are not used in Ikoba.
 
 class SubobjectLister(grok.ViewletManager):
