diff --git a/dependency/html/public/js/bootstrap-tree/bootstrap-tree.js b/dependency/html/public/js/bootstrap-tree/bootstrap-tree.js
index d6bf8d4973bff62a138a7d2a013b5d8680d86e25..abcfccd569977bb8b09ba1abd6d266a2fc7f9856 100644
--- a/dependency/html/public/js/bootstrap-tree/bootstrap-tree.js
+++ b/dependency/html/public/js/bootstrap-tree/bootstrap-tree.js
@@ -66,8 +66,13 @@ var BootstrapTree = {
 
         element.appendTo(ul);
 
-        if (openNode || openNode == undefined) {
-            this.openNode(parent);
+        if (parent.is("li")) {
+            console.log(openNode);
+            if (openNode || openNode == undefined) {
+                this.openNode(parent);
+            } else {
+                element.hide();
+            }
         }
     },
 
@@ -146,7 +151,6 @@ var BootstrapTree = {
 
         if (elementUl.find('li').length == 0) {
             var icon = elementUl.closest('li').find('.fa:first');
-            console.log(elementUl);
             elementUl.remove();
 
             icon.removeClass(icon.data('opened-icon') + ' ' + icon.data('closed-icon'))
diff --git a/src/bundle/recordsManagement/Controller/archiveFilePlanPosition.php b/src/bundle/recordsManagement/Controller/archiveFilePlanPosition.php
index 965537e4f697f913aa11a5ea2add279f6420c849..e42825a812a85a2aa17d4d9b00a2136c7c625f59 100644
--- a/src/bundle/recordsManagement/Controller/archiveFilePlanPosition.php
+++ b/src/bundle/recordsManagement/Controller/archiveFilePlanPosition.php
@@ -90,4 +90,32 @@ class archiveFilePlanPosition
 
         return $this->sdoFactory->update($archive, "recordsManagement/archiveFilePlanPosition");
     }
+
+    /**
+     * List an archive resources and children archives
+     * @param mixed $archive the archive identifier or the archive
+     * 
+     * @return object The archiveContent
+     */
+    public function listArchiveContents($archive) {
+
+        if (is_string($archive)) {
+            $archiveId = $archive;
+
+            $archive = new \stdClass();
+            $archive->archiveId = $archiveId;
+        }
+
+        // Resources
+        $digitalResourceController = \laabs::newController("digitalResource/digitalResource");
+        $archive->digitalResources = $digitalResourceController->getResourcesByArchiveId($archive->archiveId);
+
+        // ChildrenArchives
+        $childrenArchives = $this->sdoFactory->find("recordsManagement/archiveFilePlanPosition", "parentArchiveId='".(string) $archive->archiveId."'");
+        foreach ($childrenArchives as $childArchive) {
+            $archive->childrenArchives[] = $this->listArchiveContents($childArchive);
+        }
+
+        return $archive;
+    }
 }
diff --git a/src/bundle/recordsManagement/archivesInterface.php b/src/bundle/recordsManagement/archivesInterface.php
index b8fccf69747ef77330e7a2d6751438e282df4c72..c64e893446c7b9c178ef1c1f9b72fe6e49bfe4da 100644
--- a/src/bundle/recordsManagement/archivesInterface.php
+++ b/src/bundle/recordsManagement/archivesInterface.php
@@ -226,4 +226,11 @@ interface archivesInterface
      *
      */
     public function readFolder($orgRegNumber, $folderId=null);
+
+    /**
+     * List an archive resources and children archives
+     * 
+     * @action recordsManagement/archiveFilePlanPosition/listArchiveContents
+     */
+    public function readArchivecontents_archive_();
 }
diff --git a/src/presentation/maarchRM/Presenter/recordsManagement/welcome.php b/src/presentation/maarchRM/Presenter/recordsManagement/welcome.php
index d63c05716459c97d27c67b002060b62971055d5a..d3956be2d63f3db16ca98b84f2676a12cd6d8bc4 100644
--- a/src/presentation/maarchRM/Presenter/recordsManagement/welcome.php
+++ b/src/presentation/maarchRM/Presenter/recordsManagement/welcome.php
@@ -202,8 +202,13 @@ class welcome
      */
     public function archiveContent($archive)
     {
-        $this->json->digitalResources = $archive->digitalResources;
-        $this->json->childrenArchives = $archive->childrenArchives;
+        if (isset($archive->digitalResources)) {
+            $this->json->digitalResources = $archive->digitalResources;
+        }
+
+        if (isset($archive->childrenArchives)) {
+            $this->json->childrenArchives = $archive->childrenArchives;
+        }
 
         return $this->json->save();
     }
diff --git a/src/presentation/maarchRM/Resources/view/dashboard/mainScreen/folder.html b/src/presentation/maarchRM/Resources/view/dashboard/mainScreen/folder.html
index aa0288fbfc6de5e37dc1aa56b3026da7755e5e97..6213559df02aadd2645608c2fb89309ebd6432a6 100644
--- a/src/presentation/maarchRM/Resources/view/dashboard/mainScreen/folder.html
+++ b/src/presentation/maarchRM/Resources/view/dashboard/mainScreen/folder.html
@@ -57,7 +57,11 @@
     .archive .tree-l li, .archive .tree-l li>span>span {
         padding: 0px;
     }
-    #folderContentList .archiveSelection, #folderContentList .archiveContentButton, .archive .tree-l li>span>span {
+    #folderContentList .archiveSelection,
+    #folderContentList .archiveContentButton,
+    #folderContentList a,
+    #folderContentList .bg-success,
+    #folderContentList .archive .tree-l li>span>span {
         cursor: pointer;
     }
 
@@ -187,7 +191,7 @@
                 dataType    : 'json',
                 success     : function (response) {
                     archive.find('.archiveContent').removeClass('hide').find('ul').html('');
-                    Archive.showArchiveContent(archive.find('.archiveContent'), response.digitalResources, response.childrenArchives);
+                    Archive.showArchiveContent(archive.find('.archiveContent'), response.digitalResources, response.childrenArchives, false);
                 },
                 error       : function (response) {
                     gritter.show(response.responseText, false);
@@ -209,36 +213,42 @@
             })
         },
 
-        showArchiveContent: function(parent, digitalResources, childrenArchives) {
-            for(i=0; i < childrenArchives.length; i++) {
-                template = this.archiveContentTemplate.clone();
-
-                template.children('span')
-                        .children('i')
-                        .addClass('fa fa-archive')
-                        .siblings('span')
-                        .addClass('childrenArchive')
-                        .attr('id', childrenArchives[i].archiveId)
-                        .html(childrenArchives[i].archiveName);
-
-                BootstrapTree.addNode(parent, template);
-
-                this.showArchiveContent(template, childrenArchives[i].digitalResources, childrenArchives[i].childrenArchives);
+        showArchiveContent: function(parent, digitalResources, childrenArchives, hidden) {
+            if (digitalResources) {
+                for(i=0; i < digitalResources.length; i++) {
+                    template = this.archiveContentTemplate.clone();
+
+                    template.children('span')
+                            .children('i')
+                            .addClass('fa fa-file-o')
+                            .siblings('span')
+                            .addClass('document')
+                            .data('json', digitalResources[i])
+                            .attr('id', digitalResources[i].resId)
+                            .html(digitalResources[i].fileName);
+
+                    BootstrapTree.addNode(parent, template, hidden);
+                }
             }
 
-            for(i=0; i < digitalResources.length; i++) {
-                template = this.archiveContentTemplate.clone();
+            if (childrenArchives) {
+                for(i=0; i < childrenArchives.length; i++) {
+                    template = this.archiveContentTemplate.clone();
+
+                    template.children('span')
+                            .children('i')
+                            .addClass('fa')
+                            .data('closed-icon', 'fa-caret-right')
+                            .data('opened-icon', 'fa-caret-down')
+                            .siblings('span')
+                            .addClass('childrenArchive')
+                            .attr('id', childrenArchives[i].archiveId)
+                            .html(childrenArchives[i].archiveName);
 
-                template.children('span')
-                        .children('i')
-                        .addClass('fa fa-file-o')
-                        .siblings('span')
-                        .addClass('document')
-                        .data('json', digitalResources[i])
-                        .attr('id', digitalResources[i].resId)
-                        .html(digitalResources[i].fileName);
+                    BootstrapTree.addNode(parent, template, hidden);
 
-                BootstrapTree.addNode(parent, template);
+                    this.showArchiveContent(template, childrenArchives[i].digitalResources, childrenArchives[i].childrenArchives, false);
+                }
             }
         }
     }
@@ -284,6 +294,13 @@
         Archive.getInfo(archiveId);
     })
 
+    $('#folderPanel').on('click', function(e) {
+        if ($(e.target).css('cursor') != "pointer") {
+            ArchiveList.unselect();
+        }
+    })
+
+
     $('#folderContents').on('click', '.childrenArchive', function() {
         var parentArchive = $(this).closest('.archive');
         var archiveId = $(this).attr('id');
diff --git a/src/presentation/maarchRM/UserStory/archiveRetrieval/retrieveInterface.php b/src/presentation/maarchRM/UserStory/archiveRetrieval/retrieveInterface.php
index 5dced4e9c5f27444cefa8062166485a0039c3d59..8e2f13267e9b412cbefe6e48493a58ef02a37a78 100644
--- a/src/presentation/maarchRM/UserStory/archiveRetrieval/retrieveInterface.php
+++ b/src/presentation/maarchRM/UserStory/archiveRetrieval/retrieveInterface.php
@@ -157,12 +157,12 @@ interface retrieveInterface
     public function readArchive_archiveId_();
 
     /**
-     * Retrieve archive info
+     * Retrieve archive contents
      *
      * @return recordsManagement/welcome/archiveContent
-     * @uses  recordsManagement/archiveDescription/read_archiveId_
+     * @uses  recordsManagement/archives/readArchivecontents_archive_
      */
-    public function readArchivecontents_archiveId_();
+    public function readArchivecontents_archive_();
 
     /**
      * Retrieve archive info