Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/layout.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/layout.py	(revision 6686)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/layout.py	(revision 6687)
@@ -11,8 +11,9 @@
 from zope.interface import Interface
 from zope.site.hooks import getSite
-from waeup.sirp.interfaces import IWAeUPObject
+from waeup.sirp.interfaces import IWAeUPObject, IUserAccount
 from waeup.sirp.browser.interfaces import ITheme
 from waeup.sirp.browser.theming import get_all_themes, WAeUPThemeGray1
 from waeup.sirp.students.interfaces import IStudentNavigation
+from waeup.sirp.authentication import get_principal_role_manager
 
 grok.templatedir('templates')
@@ -160,4 +161,14 @@
         return
 
+    def isStudent(self):
+        prm = get_principal_role_manager()
+        roles = [x[0] for x in prm.getRolesForPrincipal(self.request.principal.id)]
+        return 'waeup.Student' in roles
+
+    def tableClass(self):
+        if self.isStudent():
+            return 'yui-t7'
+        return 'yui-t1'
+
     def update(self):
         """Include the resources required by the chosen skin/theme.
Index: /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/sitelayout.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/sitelayout.pt	(revision 6686)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/sitelayout.pt	(revision 6687)
@@ -15,5 +15,5 @@
   </head>
   <body class="rounded yui-skin-sam">
-    <div id="doc3" class="yui-t1">
+    <div id="doc3" tal:attributes= "class layout/tableClass">
       <div id="hd" role="banner">
         <div id="hd">
@@ -25,6 +25,9 @@
             </span> </h1>
           <div id="navigation" class="yui-navset" style="text-align:right;">
-            <ul id="primary-navigation">
+            <ul id="primary-navigation" tal:condition="not: layout/isStudent">
               <tal:primary_nav content="structure provider:primary_nav" />
+            </ul>
+            <ul id="primary-navigation" tal:condition="layout/isStudent">
+              <tal:primary_nav content="structure provider:primary_nav_student" />
             </ul>
             <ul id="user-navigation" tal:condition="layout/isAuthenticated">
@@ -44,11 +47,39 @@
       </div>
       <div id="bd" role="main">
-        <span tal:condition="layout/isAuthenticated"
+        <span tal:condition="python: layout.isAuthenticated() and not layout.isStudent()"
               tal:content="structure provider:breadcrumbs" />
+
+        <div class="yui-b" tal:condition="not: layout/isStudent">
+          <div class="block" tal:condition="layout/getStudentName">
+            <div class="hd">
+              <h2 tal:content="layout/getStudentName">Student name</h2>
+            </div>
+            <div class="bd">
+              <tal:left content="structure provider:left_studentmanage" />
+            </div>
+          </div>
+          <div class="block">
+            <div class="hd">
+              <h2 tal:content="layout/getUserTitle">Username</h2>
+            </div>
+            <div class="bd">
+              <tal:left content="structure provider:left" />
+            </div>
+          </div>
+        </div>
+
+        <div class="yui-b" tal:condition="layout/isStudent">
+          <div class="block" tal:condition="layout/getStudentName">
+            <div>
+              <tal:left content="structure provider:top_student" />
+            </div>
+          </div>
+        </div>
+
         <div id="yui-main">
           <div class="yui-b">
             <div class="yui-g">
               <div class="block">
-                <div class="hd">
+                <div class="hd" tal:condition="not: layout/isStudent">
                   <span tal:content="view/title"> THE CONTENT TITLE </span>
                   <span tal:condition="layout/getStudentName" class="wfstatus">
@@ -77,22 +108,5 @@
           </div>
         </div>
-        <div class="yui-b">
-          <div class="block" tal:condition="layout/getStudentName">
-            <div class="hd">
-              <h2 tal:content="layout/getStudentName">Student name</h2>
-            </div>
-            <div class="bd">
-              <tal:left content="structure provider:left_student" />
-            </div>
-          </div>
-          <div class="block">
-            <div class="hd">
-              <h2 tal:content="layout/getUserTitle">Username</h2>
-            </div>
-            <div class="bd">
-              <tal:left content="structure provider:left" />
-            </div>
-          </div>
-        </div>
+
       </div>
       <div id="ft" role="contentinfo">
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt	(revision 6687)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/plainactionbutton.pt	(revision 6687)
@@ -0,0 +1,7 @@
+<span class="yui-button">
+  <span class="first-child">
+    <a href=""
+       tal:attributes="href viewlet/target_url">
+    <span tal:content="viewlet/text">TEXT</span></a>
+  </span>
+</span>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py	(revision 6686)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py	(revision 6687)
@@ -39,5 +39,5 @@
 class StudentRole(grok.Role):
     grok.name('waeup.Student')
-    grok.permissions('waeup.Public')
+    grok.permissions('waeup.Public', 'waeup.View')
 
 class StudentsOfficer(grok.Role):
Index: /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 6686)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py	(revision 6687)
@@ -4,9 +4,10 @@
 
 grok.context(IWAeUPObject) # Make IWAeUPObject the default context
+grok.templatedir('browser_templates')
 
-class StudentSidebar(grok.ViewletManager):
-    grok.name('left_student')
+class StudentManageSidebar(grok.ViewletManager):
+    grok.name('left_studentmanage')
 
-class StudentLink(grok.Viewlet):
+class StudentManageLink(grok.Viewlet):
     """A link displayed in the student box which shows up for StudentNavigation
     objects.
@@ -14,5 +15,5 @@
     """
     grok.baseclass()
-    grok.viewletmanager(StudentSidebar)
+    grok.viewletmanager(StudentManageSidebar)
     grok.context(IWAeUPObject)
     grok.view(Interface)
@@ -27,4 +28,71 @@
         return u'<div class="portlet"><a href="%s">%s</a></div>' % (
                 url, self.text)
+
+class StudentManageBaseLink(StudentManageLink):
+    grok.order(1)
+    link = 'index'
+    text = u'Base Data'
+
+class StudentManageClearanceLink(StudentManageLink):
+    grok.order(2)
+    link = 'view_clearance'
+    text = u'Clearance Data'
+
+class StudentManagePersonalLink(StudentManageLink):
+    grok.order(2)
+    link = 'view_personal'
+    text = u'Personal Data'
+
+class StudentManageStudyCourseLink(StudentManageLink):
+    grok.order(3)
+    link = 'studycourse'
+    text = u'Study Course'
+
+class StudentManagePaymentsLink(StudentManageLink):
+    grok.order(4)
+    link = 'payments'
+    text = u'Payments'
+
+class StudentManageAccommodationLink(StudentManageLink):
+    grok.order(5)
+    link = 'accommodation'
+    text = u'Accommodation Data'
+
+class StudentManageHistoryLink(StudentManageLink):
+    grok.order(6)
+    link = 'history'
+    text = u'History'
+
+
+class StudentMenu(grok.ViewletManager):
+    grok.name('top_student')
+
+class StudentLink(grok.Viewlet):
+    """A link displayed in the student box which shows up for StudentNavigation
+    objects.
+
+    """
+    grok.baseclass()
+    grok.viewletmanager(StudentMenu)
+    grok.context(IWAeUPObject)
+    grok.view(Interface)
+    grok.order(5)
+    grok.require('waeup.viewStudent')
+    template = grok.PageTemplateFile('browser_templates/plainactionbutton.pt')
+
+    link = 'index'
+    text = u'Base Data'
+
+    @property
+    def alt(self):
+        """Alternative text for icon.
+        """
+        return self.text
+
+    @property
+    def target_url(self):
+        """Get a URL to the target...
+        """
+        return self.view.url(self.context.getStudent(), self.link)
 
 class StudentBaseLink(StudentLink):
@@ -56,5 +124,5 @@
     grok.order(5)
     link = 'accommodation'
-    text = u'Accommodation Data'
+    text = u'Accommodation'
 
 class StudentHistoryLink(StudentLink):
@@ -62,2 +130,62 @@
     link = 'history'
     text = u'History'
+
+class PrimaryStudentNavManager(grok.ViewletManager):
+    """Viewlet manager for the primary navigation tab.
+    """
+    grok.name('primary_nav_student')
+
+class PrimaryStudentNavTab(grok.Viewlet):
+    """Base for primary student nav tabs.
+    """
+    grok.baseclass()
+    grok.viewletmanager(PrimaryStudentNavManager)
+    grok.template('primarynavtab')
+    grok.order(1)
+    grok.require('waeup.View')
+    pnav = 0 
+    tab_title = u'Some Text'
+
+    @property
+    def link_target(self):
+        return self.view.application_url()
+
+    @property
+    def active(self):
+        view_pnav = getattr(self.view, 'pnav', 0)
+        if view_pnav == self.pnav:
+            return 'active'
+        return ''
+
+class HomeTab(PrimaryStudentNavTab):
+    """Home-tab in primary navigation.
+    """
+    grok.order(1)
+    grok.require('waeup.Public')
+    pnav = 0
+    tab_title = u'Home'
+
+class ProspectusTab(PrimaryStudentNavTab):
+    """Faculties-tab in primary navigation.
+    """
+    grok.order(2)
+    grok.require('waeup.View')
+    pnav = 1
+    tab_title = u'Prospectus'
+
+    @property
+    def link_target(self):
+        return self.view.application_url('faculties')
+
+class MyDataTab(PrimaryStudentNavTab):
+    """MyData-tab in primary navigation.
+    """
+    grok.order(3)
+    grok.require('waeup.Public')
+    pnav = 4
+    tab_title = u'My Data'
+
+    @property
+    def link_target(self):
+        rel_link = '/students/%s' % self.request.principal.id
+        return self.view.application_url() + rel_link
