Index: waeup_product/trunk/Extensions/install.py
===================================================================
--- waeup_product/trunk/Extensions/install.py	(revision 170)
+++ waeup_product/trunk/Extensions/install.py	(revision 173)
@@ -210,5 +210,5 @@
                         'visible'   : 1,
                       },
-##                      { 'tool'      : 'portal_actions',
+##                      { 'tool'      : 'portal_actions', ###(
 ##                        'id'        : 'add_jamb',
 ##                        'name'      : 'Add Student JAMB',
@@ -264,5 +264,8 @@
 ##                        'visible'   : 1,
 ##                      },
+###)
+
                     )
+        self.deleteActions({'portal_actions': [action['id'] for action in actions]})
         self.verifyActions(actions)
         ##########################################
@@ -403,6 +406,5 @@
                 returned.append(portlet_id)
         return returned
-
-###)
+    ###)
 
     def installCustomWorkflows(self): ###(
@@ -448,6 +450,74 @@
                                        se_chains,
                                        destructive=1)
-
-###)
+    ###)
+
+    def verifyFaculties(self, academics): ###(
+        """install Universityspecific Faculies with Departments"""
+        faculties = [
+##                     {'id': 'agri', ###(
+##                      'Title': 'Agriculture',
+##                      'departments': [
+##                                     { 'id': 'dep1', ###(
+##                                       'Title': 'One',
+##                                     },
+##                                     ],
+##                      },###)
+                      { 'id': 'science',
+                      'Title': 'Science',
+                      'departments': [
+                                     { 'id': 'bio', ###(
+                                       'Title': 'Biochemistry',
+                                     },
+                                     { 'id': 'bot',
+                                       'Title': 'Botany',
+                                     },
+                                     { 'id': 'che',
+                                       'Title': 'Chemistry',
+                                     },
+                                     { 'id': 'com',
+                                       'Title': 'Computer Science',
+                                     },
+                                     { 'id': 'geo',
+                                       'Title': 'Geologie',
+                                     },
+                                     { 'id': 'mat',
+                                       'Title': 'Mathematics',
+                                     },
+                                     { 'id': 'mic',
+                                       'Title': 'Microbiology',
+                                     },
+                                     { 'id': 'opt',
+                                       'Title': 'Optometry',
+                                     },
+                                     { 'id': 'phy',
+                                       'Title': 'Physics',
+                                     },
+                                     { 'id': 'zoo',
+                                       'Title': 'Zoology',
+                                     },
+                                     ],
+                      },###)
+                     ]###)
+        self.log('Verifying Faculties in %s' % academics.absolute_url(relative=1))
+        for faculty in faculties:
+            fid = faculty['id']
+            f = getattr(academics,fid,None)
+            self.log('Checking Faculty %(id)s = %(Title)s' % faculty)
+            if f is None:
+                self.log('Creating Faculty %(id)s = %(Title)s' % faculty)
+                academics.invokeFactory('Faculty', fid)
+                f = getattr(academics,fid)
+                f.getContent().edit(mapping=faculty)
+            for department in faculty['departments']:
+                self.log('Checking Department %(id)s = %(Title)s' % department)
+                did = department['id']
+                d = getattr(f,did,None)
+                if d is None:
+                    self.log('Creating Department %(id)s = %(Title)s' % department)
+                    f.invokeFactory('Department', did)
+                    d = getattr(f,did)
+                    d.getContent().edit(mapping=department)
+    ###)
+
 
 
@@ -492,8 +562,10 @@
         accommodation = getattr(waeup,'accommodation').getContent()
         accommodation.edit(mapping={'Title':'Accommodation'})
-    if not hasattr(waeup,'academics'):
+    academics = getattr(waeup,'academics',None)
+    if academics is None:
         waeup.invokeFactory('AcademicsFolder','academics')
-        academics = getattr(waeup,'academics').getContent()
-        academics.edit(mapping={'Title':'Academics'})
+        academics = getattr(waeup,'academics')
+        academics.getContent().edit(mapping={'Title':'Academics'})
+    installer.verifyFaculties(academics)
     if not hasattr(waeup,'accommodation'):
         waeup.invokeFactory('AccoFolder','accommodation')
