Index: XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_reader_filter.hpp
===================================================================
--- XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_reader_filter.hpp	(revision 2491)
+++ XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_reader_filter.hpp	(revision 2492)
@@ -1,4 +1,4 @@
-#ifndef __XIOS_ONLINE_READER_FILTER__
-#define __XIOS_ONLINE_READER_FILTER__
+#ifndef __XIOS_CLIENT_ONLINE_READER_FILTER__
+#define __XIOS_CLIENT_ONLINE_READER_FILTER__
 
 #include <map>
@@ -62,3 +62,3 @@
 } // namespace xios
 
-#endif // __XIOS_ONLINE_READER_FILTER__
+#endif // __XIOS_CLIENT_ONLINE_READER_FILTER__
Index: XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.cpp
===================================================================
--- XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.cpp	(revision 2492)
+++ XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.cpp	(revision 2492)
@@ -0,0 +1,32 @@
+#include "context.hpp"
+
+#include "grid_redistribute_filter.hpp"
+#include "client_online_writer_filter.hpp"
+#include "field.hpp"
+#include "file.hpp"
+
+
+namespace xios
+{
+
+
+CClientOnlineWriterFilter::CClientOnlineWriterFilter(CGarbageCollector& gc, CField* field)
+    : CFilter(gc, 1, this)
+  {
+    CField* fieldOut ;
+    redistributeFilter_ = std::shared_ptr<CGridRedistributeFilter>(new CGridRedistributeFilter(gc, field, fieldOut));
+    fieldOut->setFileOut(field->getFileOut());
+    field->getFileOut()->replaceEnabledFields(field, fieldOut) ;
+    fieldOut->solveServerOperation() ; // might not be called, create a new time functor.... find a better solution later
+    
+    fileWriterStoreFilter_ = std::shared_ptr<CFileWriterStoreFilter>(new CFileWriterStoreFilter(gc, fieldOut));
+    redistributeFilter_->connectOutput(fileWriterStoreFilter_, 0);
+    connectOutput(redistributeFilter_,1) ;
+  }
+  
+  CDataPacketPtr CClientOnlineWriterFilter::apply(std::vector<CDataPacketPtr> data)
+  {
+    return data[0];
+  }
+
+}
Index: XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.hpp
===================================================================
--- XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.hpp	(revision 2492)
+++ XIOS3/dev/XIOS_ATTACHED/src/filter/client_online_writer_filter.hpp	(revision 2492)
@@ -0,0 +1,40 @@
+#ifndef __XIOS_CLIENT_ONLINE_WRITER_FILTER__
+#define __XIOS_CLIENT_ONLINE_WRITER_FILTER__
+
+#include <map>
+
+#include "output_pin.hpp"
+#include "event_server.hpp"
+#include "context_client.hpp"
+#include "calendar_util.hpp"
+
+
+namespace xios
+{
+  class CGrid;
+  class CField;
+  class CGridRedistributeFilter ;
+  class CFileWriterStoreFilter ;
+
+  /*!
+   * A source filter is the entry point of the data in the graph of filters.
+   */
+  class CClientOnlineWriterFilter : public CFilter, public IFilterEngine
+  {
+    public:
+      /*!
+       * Constructs a source filter accepting data attached to the specified grid.
+       *
+       * \param gc the garbage collector associated with this filter
+       * \param field associated to the filter
+       */
+      CClientOnlineWriterFilter(CGarbageCollector& gc, CField* field);
+      CDataPacketPtr apply(std::vector<CDataPacketPtr> data) ;
+     private:
+
+      std::shared_ptr<CGridRedistributeFilter> redistributeFilter_ ;
+      std::shared_ptr<CFileWriterStoreFilter> fileWriterStoreFilter_ ; 
+  }; // class CClientFromServerSourceFilter
+} // namespace xios
+
+#endif // __XIOS_ONLINE_WRITER_FILTER__
Index: XIOS3/dev/XIOS_ATTACHED/src/node/field.cpp
===================================================================
--- XIOS3/dev/XIOS_ATTACHED/src/node/field.cpp	(revision 2491)
+++ XIOS3/dev/XIOS_ATTACHED/src/node/field.cpp	(revision 2492)
@@ -803,4 +803,5 @@
   } 
 
+/*
   void CField::connectToOnlineWriter(CGarbageCollector& gc)
   {
@@ -826,4 +827,18 @@
     }
   } 
+*/
+  void CField::connectToOnlineWriter(CGarbageCollector& gc)
+  {
+    // insert temporal filter before sending to files
+    clientOnlineWriterFilter_ = std::shared_ptr<CClientOnlineWriterFilter>(new CClientOnlineWriterFilter(gc,this)) ;
+    getTemporalDataFilter(gc, fileOut_->output_freq)->connectOutput(clientOnlineReaderFilter_, 0);
+   
+    const bool buildGraph_ = !build_workflow_graph.isEmpty() && build_workflow_graph == true ;
+  
+    if(buildGraph_) 
+    {
+      // to do
+    }
+  } 
 
   void CField::connectToOnlineReader(CGarbageCollector& gc)
Index: XIOS3/dev/XIOS_ATTACHED/src/node/field.hpp
===================================================================
--- XIOS3/dev/XIOS_ATTACHED/src/node/field.hpp	(revision 2491)
+++ XIOS3/dev/XIOS_ATTACHED/src/node/field.hpp	(revision 2492)
@@ -29,4 +29,5 @@
 #include "file_reader_source_filter.hpp"
 #include "client_online_reader_filter.hpp"
+#include "client_online_writer_filter.hpp"
 
 
@@ -403,5 +404,5 @@
          std::shared_ptr<CServerToClientStoreFilter> serverToClientStoreFilter_;
 
-         //! the filter to redistribute data before to call the fileWriterStoreFilter
+         //! the filter to redistribute data before to call the fileWriterStoreFilter ==> to remove
          std::shared_ptr<CGridRedistributeFilter>  redistributeFilter_ ;
 
@@ -409,4 +410,8 @@
          std::shared_ptr<CClientOnlineReaderFilter>  clientOnlineReaderFilter_ ;
 
+          //! the filter to connect to online writer
+         std::shared_ptr<CClientOnlineWriterFilter>  clientOnlineWriterFilter_ ;
+
+
    }; // class CField
 
