diff --git a/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py b/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py
new file mode 100755
index 0000000000000000000000000000000000000000..e5c889d0633e7992b5d0926436f0edbf2c633976
--- /dev/null
+++ b/src/python/dm/ds_web_service/service/impl/mongoDbFileCatalogPlugin.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+
+import os
+import time
+from dm.common.utility.loggingManager import LoggingManager
+from dm.common.utility.timeUtility import TimeUtility
+from dm.common.processing.plugins.fileProcessor import FileProcessor
+from dm.common.mongodb.api.fileMongoDbApi import FileMongoDbApi
+
+class MongoDbFileCatalogPlugin(FileProcessor):
+
+    def __init__(self):
+        FileProcessor.__init__(self)
+        self.fileMongoDbApi = FileMongoDbApi()
+        self.logger = LoggingManager.getInstance().getLogger(self.__class__.__name__)
+
+    def processFile(self, fileInfo):
+        experimentFilePath = fileInfo.get('experimentFilePath')
+        experiment = fileInfo.get('experiment')
+        experimentName = experiment.get('name')
+        self.logger.debug('Processing file %s for experiment %s' % (fileInfo, experimentName))
+
+        experimentStorageDirectory = experiment.get('storageDirectory')
+        storageHost = experiment.get('storageHost')
+        storageFilePath = os.path.join(experimentStorageDirectory, experimentFilePath)
+        fileProcessingTime = time.time()
+        fileProcessingTimeStamp = TimeUtility.formatLocalTimeStamp(fileProcessingTime)
+
+        # Prepare catalogging entry
+        fileInfo2 = {}
+        fileInfo2['name'] = os.path.basename(experimentFilePath)
+        fileInfo2['experimentStorageDirectory'] = experimentStorageDirectory
+        fileInfo2['storageHost'] = storageHost
+        fileInfo2['storageFilePath'] = storageFilePath
+        fileInfo2['experimentFilePath'] = experimentFilePath
+        fileInfo2['experimentName'] = experimentName
+        fileInfo2['fileProcessingTime'] = fileProcessingTime
+        fileInfo2['fileProcessingTimeStamp'] = fileProcessingTimeStamp
+        fileInfo2.update(fileInfo.get('daqInfo', {}))
+        self.fileMongoDbApi.updateOrAddExperimentFile(fileInfo2)
+
+
+#######################################################################
+# Testing.
+if __name__ == '__main__':
+    pass