Index: main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py	(revision 8210)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/batching.py	(revision 8214)
@@ -34,5 +34,5 @@
 from waeup.kofa.interfaces import (
     IBatchProcessor, FatalCSVError, IObjectConverter, IUserAccount,
-    IObjectHistory, VALIDATED, DELETIONMARKER)
+    IObjectHistory, VALIDATED, DELETION_MARKER, IGNORE_MARKER)
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.students.interfaces import (
@@ -169,12 +169,15 @@
             elif hasattr(obj, key):
                 # Set attribute to None if value is marked for deletion
-                if value == DELETIONMARKER:
-                    setattr(obj, key, None)
-                elif value is not None:
+                #if value == DELETION_MARKER:
+                #    setattr(obj, key, None)
+                #elif value is not None:
+                #    setattr(obj, key, value)
+                #else:
+                #    # No change, no change log
+                #    continue
+                if value != '<IGNORE>':
                     setattr(obj, key, value)
-                else:
-                    # No change, no change log
-                    continue
-            items_changed += '%s=%s, ' % (key,value)
+                
+                    items_changed += '%s=%s, ' % (key,value)
         parent = self.getParent(row, site)
         if hasattr(obj,'student_id'):
@@ -215,5 +218,5 @@
         converter = IObjectConverter(iface)
         errs, inv_errs, conv_dict =  converter.fromStringDict(
-            row, self.factory_name)
+            row, self.factory_name, mode=mode)
         if row.has_key('reg_state') and \
             not row['reg_state'] in IMPORTABLE_STATES:
@@ -304,11 +307,15 @@
             if hasattr(obj, key):
                 # Set attribute to None if value is marked for deletion
-                if value == DELETIONMARKER:
-                    setattr(obj, key, None)
-                elif value is not None:
-                    setattr(obj, key, value)
-                    if key == 'certificate':
-                        value = value.code
-            items_changed += '%s=%s, ' % (key,value)
+                setattr(obj, key, value)
+                if key == 'certificate':
+                    value = value.code
+
+                #if value == DELETIONMARKER:
+                #    setattr(obj, key, None)
+                #elif value is not None:
+                #    setattr(obj, key, value)
+                #    if key == 'certificate':
+                #        value = value.code
+                items_changed += '%s=%s, ' % (key,value)
         parent = self.getParent(row, site)
         parent.__parent__.logger.info(
@@ -698,10 +705,11 @@
             if hasattr(obj, key) and not key in [
                 'current_session','current_level']:
+                setattr(obj, key, value)
                 # Set attribute to None if value is marked for deletion
-                if value == DELETIONMARKER:
-                    setattr(obj, key, None)
-                elif value is not None:
-                    setattr(obj, key, value)
-            items_changed += '%s=%s, ' % (key,value)
+                #if value == DELETIONMARKER:
+                #    setattr(obj, key, None)
+                #elif value is not None:
+                #    setattr(obj, key, value)
+                items_changed += '%s=%s, ' % (key,value)
         parent = self.getParent(row, site)
         parent.__parent__.logger.info(
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv	(revision 8210)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/sample_student_data_update2.csv	(revision 8214)
@@ -1,4 +1,4 @@
 date_of_birth,matric_number,phone
-1970-01-02,100000,
+1970-01-02,100000,<IGNORE>
 1970-01-03,100001,XXX
-1970-01-04,100002,
+1970-01-04,100002,<IGNORE>
