diff --git a/app/services/learning_object_publisher.rb b/app/services/learning_object_publisher.rb
index 442e92efd14f956ff8082083d863750f5ef38e01..c5f3e002d1d3b2d0d09783f8365d07d4435b005c 100644
--- a/app/services/learning_object_publisher.rb
+++ b/app/services/learning_object_publisher.rb
@@ -9,9 +9,12 @@ class LearningObjectPublisher
   #create a learning object with draft status
   #if draft#type is 'external link', then the draft is published.
   def create_draft(draft)
-    item = @dspace.collections.create_item(build_dspace_item(draft), id: DspaceService::TEST_COLLECTION)
+    item = create_dspace_item draft
+
+    # save on postgres
     draft.id_dspace = item.id
     draft.save!
+
     publish! draft if draft.has_url_reference?
     draft
   end
@@ -25,19 +28,23 @@ class LearningObjectPublisher
   #this method will create thumbnails, change state to published and will save it.
   def publish!(learning_object)
     if learning_object.is_draft?
-      create_thumbnail! learning_object
+      #create_thumbnail! learning_object
       learning_object.publish
     end
 
     learning_object.save
   end
 
-  def create_thumbnail!(learning_object)
-    #call thumbnail worker
-  end
+  private
+
+  def create_dspace_item(draft)
+    item = @dspace.collections.create_item(build_dspace_item(draft), id: DspaceService::TEST_COLLECTION)
+
+    # update dspace metadata
+    metadata = [::Dspace::Metadata.new({'key' => 'dc.title', 'value' => draft.name, 'language' => draft.language.name}]
+    @dspace.items.add_metadata(metadata, id: item.id)
 
-  def create_thumbnail!(learning_object)
-    #call thumbnail worker
+    item
   end
 
   def build_dspace_item(draft)