Index: main/waeup.kofa/trunk/src/waeup/kofa/students/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 15964)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/export.py	(revision 15966)
@@ -345,4 +345,44 @@
             value, name, context=context)
 
+class TrimmedDataExporter(grok.GlobalUtility, StudentExporterBase):
+    """The Student Trimmed Data Exporter first filters the set of students 
+    by searching the students catalog. Then it exports a trimmed data set
+    of this set of students. 
+    """
+    grok.name('trimmed')
+
+    fields = (
+        'student_id',
+        'matric_number',
+        'reg_number',
+        'firstname',
+        'middlename',
+        'lastname',
+        'sex',
+        'email',
+        'phone',
+        'nationality',
+        'date_of_birth',
+        'state',
+        'current_mode',
+        'certcode',
+        'faccode',
+        'depcode',
+        'current_level',
+        'current_session',
+        'current_verdict')
+    title = _(u'Students (Trimmed Data)')
+
+    def mangle_value(self, value, name, context=None):
+        """The mangler prepares the history messages and adds a hash symbol at
+        the end of the phone number to avoid annoying automatic number
+        transformation by Excel or Calc."""
+        if 'phone' in name and value is not None:
+            # Append hash '#' to phone numbers to circumvent
+            # unwanted excel automatic
+            value = str('%s#' % value)
+        return super(
+            TrimmedDataExporter, self).mangle_value(
+            value, name, context=context)
 
 class StudentStudyCourseExporter(grok.GlobalUtility, StudentExporterBase):
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 15964)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_export.py	(revision 15966)
@@ -38,4 +38,5 @@
     AccommodationPaymentsExporter,
     TranscriptDataExporter,
+    TrimmedDataExporter,
     get_students,)
 from waeup.kofa.students.accommodation import BedTicket
@@ -172,4 +173,51 @@
             '"Studentroad 21\nLagos 123456\n",,+234-123-12345#,123,f,'
             'A111111,0,,,created'
+            in result
+            )
+        return
+
+
+class StudentTrimmedDataExporterTest(StudentImportExportSetup):
+
+    layer = FunctionalLayer
+
+    std_csv_entry = (
+        'my adm code,my clr code,1981-02-04#,anna@sample.com,,'
+        'Anna,,Tester,234,M.,NG,,,"Studentroad 21\nLagos 123456\n",,'
+        '+234-123-12345#,123,f,A111111,0,,,created'
+        )
+
+    def setUp(self):
+        super(StudentTrimmedDataExporterTest, self).setUp()
+        self.setup_for_export()
+        return
+
+    def test_ifaces(self):
+        # make sure we fullfill interface contracts
+        obj = TrimmedDataExporter()
+        verifyObject(ICSVStudentExporter, obj)
+        verifyClass(ICSVStudentExporter, TrimmedDataExporter)
+        return
+
+    def test_get_as_utility(self):
+        # we can get an student exporter as utility
+        result = queryUtility(ICSVExporter, name="trimmed")
+        self.assertTrue(result is not None)
+        return
+
+    def test_export(self):
+        # we can really export students
+        # set values we can expect in export file
+        self.setup_student(self.student)
+        exporter = TrimmedDataExporter()
+        exporter.export([self.student], self.outfile)
+        result = open(self.outfile, 'rb').read()
+        self.assertTrue(
+            'student_id,matric_number,reg_number,firstname,middlename,'
+            'lastname,sex,email,phone,nationality,date_of_birth,state,'
+            'current_mode,certcode,faccode,depcode,current_level,'
+            'current_session,current_verdict\r\n'
+            'A111111,234,123,Anna,M.,Tester,f,anna@sample.com,+234-123-12345#,'
+            'NG,1981-02-04#,created,ug_ft,CERT1,NA,NA,200,2012,0'
             in result
             )
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 15964)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/utils.py	(revision 15966)
@@ -1157,4 +1157,5 @@
             'studentpayments',
             'bedtickets',
+            'trimmed',
             'outstandingcourses',
             'unpaidpayments',
