diff --git a/client/src/app/instance/doc/components/dataset-by-family.component.html b/client/src/app/instance/doc/components/dataset-by-family.component.html
index 98b4513e6288dec47a70df723d3c4f875b3df328..9ec4e190718bba199f9c9414039e1c9be1d0e03e 100644
--- a/client/src/app/instance/doc/components/dataset-by-family.component.html
+++ b/client/src/app/instance/doc/components/dataset-by-family.component.html
@@ -11,12 +11,11 @@
         <ul class="p-0">
             <li *ngFor="let dataset of (datasetList | datasetListByFamily:datasetFamilyList[0].id); last as isLast"
                 class="list-unstyled px-3 pt-3 pb-0">
-<!--                <app-dataset-card-->
-<!--                    [dataset]="dataset"-->
-<!--                    [survey]="surveyList | surveyByName:dataset.survey_name"-->
-<!--                    [instanceSelected]="instanceSelected"-->
-<!--                    [datasetSelected]="datasetSelected">-->
-<!--                </app-dataset-card>-->
+                <app-dataset-card-doc
+                    [dataset]="dataset"
+                    [survey]="surveyList | surveyByName:dataset.survey_name"
+                    [instanceSelected]="instanceSelected">
+                </app-dataset-card-doc>
                 <hr *ngIf="!isLast">
             </li>
         </ul>
@@ -40,13 +39,11 @@
                 </span>
             </button>
             <div *ngFor="let dataset of (datasetList | datasetListByFamily:family.id); last as isLast">
-                {{ dataset.name }}
-<!--                <app-dataset-card-->
-<!--                    [dataset]="dataset" -->
-<!--                    [survey]="surveyList | surveyByName:dataset.survey_name"-->
-<!--                    [instanceSelected]="instanceSelected"-->
-<!--                    [datasetSelected]="datasetSelected">-->
-<!--                </app-dataset-card>-->
+                <app-dataset-card-doc
+                    [dataset]="dataset"
+                    [survey]="surveyList | surveyByName:dataset.survey_name"
+                    [instanceSelected]="instanceSelected">
+                </app-dataset-card-doc>
                 <hr *ngIf="!isLast">
             </div>
         </accordion-group>
diff --git a/client/src/app/instance/doc/components/dataset-by-family.component.ts b/client/src/app/instance/doc/components/dataset-by-family.component.ts
index 329cb29cc05c11a67844d0bf8fd5bc4d36815530..8f09f1df80e97bb388099d481a05eb53d2c34da7 100644
--- a/client/src/app/instance/doc/components/dataset-by-family.component.ts
+++ b/client/src/app/instance/doc/components/dataset-by-family.component.ts
@@ -9,7 +9,7 @@
 
 import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
 
-import { Dataset, DatasetFamily } from 'src/app/metamodel/models';
+import { Dataset, DatasetFamily, Survey } from 'src/app/metamodel/models';
 
 @Component({
     selector: 'app-dataset-by-family',
@@ -24,5 +24,6 @@ import { Dataset, DatasetFamily } from 'src/app/metamodel/models';
 export class DatasetByFamilyComponent {
     @Input() datasetList: Dataset[];
     @Input() datasetFamilyList: DatasetFamily[];
+    @Input() surveyList: Survey[];
     @Input() instanceSelected: string;
 }
diff --git a/client/src/app/instance/doc/components/dataset-card.component.html b/client/src/app/instance/doc/components/dataset-card-doc.component.html
similarity index 66%
rename from client/src/app/instance/doc/components/dataset-card.component.html
rename to client/src/app/instance/doc/components/dataset-card-doc.component.html
index 190c9bc953e14a62ffc4528a79053ed03dece876..ef6dda4c88a7d12e1eb56d5308aca6ba6b904995 100644
--- a/client/src/app/instance/doc/components/dataset-card.component.html
+++ b/client/src/app/instance/doc/components/dataset-card-doc.component.html
@@ -11,11 +11,10 @@
                     <p class="my-3">{{ dataset.description }}</p>
                 </div>
                 <div class="row">
-                    <button class="btn btn-link p-0" 
-                        popover="{{ survey.description }}" 
+                    <button class="btn btn-link p-0"
+                        popover="{{ survey.description }}"
                         popoverTitle="{{ survey.label }}"
-                        placement="bottom" 
-                        [outsideClick]="true" 
+                        placement="bottom"
                         triggers="mouseenter:mouseleave">
                         <small>
                             More about {{ survey.label }} survey <span class="fas fa-question-circle"></span>
@@ -24,14 +23,10 @@
                 </div>
             </div>
             <div class="col-auto">
-                <button *ngIf="dataset.name !== datasetSelected"
-                    (click)="selectDataset(dataset.name)"
+                <button (click)="selectDataset(dataset.name)"
                     class="btn btn-outline-secondary">
                     Select
                 </button>
-                <span *ngIf="dataset.name === datasetSelected">
-                    <span class="far fa-check-circle fa-2x text-success"></span>
-                </span>
             </div>
         </div>
     </div>
diff --git a/client/src/app/instance/doc/components/dataset-card.component.ts b/client/src/app/instance/doc/components/dataset-card-doc.component.ts
similarity index 69%
rename from client/src/app/instance/doc/components/dataset-card.component.ts
rename to client/src/app/instance/doc/components/dataset-card-doc.component.ts
index ffeb52d4c33d61435f42d1ff21d8b5830f762156..e9f51428a5fabcf0e6a311d1f90ee092c2975311 100644
--- a/client/src/app/instance/doc/components/dataset-card.component.ts
+++ b/client/src/app/instance/doc/components/dataset-card-doc.component.ts
@@ -7,30 +7,29 @@
  * file that was distributed with this source code.
  */
 
-import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
+import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
 import { Router } from '@angular/router';
 
 import { Survey, Dataset } from 'src/app/metamodel/models';
 
 @Component({
-    selector: 'app-dataset-card',
-    templateUrl: 'dataset-card.component.html',
+    selector: 'app-dataset-card-doc',
+    templateUrl: 'dataset-card-doc.component.html',
     changeDetection: ChangeDetectionStrategy.OnPush
 })
 /**
  * @class
- * @classdesc Search dataset card component.
+ * @classdesc Documentation dataset card component.
  */
-export class DatasetCardComponent {
+export class DatasetCardDocComponent {
     @Input() survey: Survey;
     @Input() dataset: Dataset;
     @Input() instanceSelected: string;
-    @Input() datasetSelected: string;
 
     constructor(private router: Router) { }
 
     selectDataset(datasetName: string) {
         this.router.routeReuseStrategy.shouldReuseRoute = () => false;
-        this.router.navigate([`/instance/${this.instanceSelected}/search/dataset/${datasetName}`]);
+        this.router.navigate([`/instance/${this.instanceSelected}/doc/${datasetName}`]);
     }
 }
diff --git a/client/src/app/instance/doc/components/index.ts b/client/src/app/instance/doc/components/index.ts
index 55f50b8bead174c9910de05d05d7e18e966f94f4..3da0e0842c41a674191226268b6b1940bdaa192a 100644
--- a/client/src/app/instance/doc/components/index.ts
+++ b/client/src/app/instance/doc/components/index.ts
@@ -1,7 +1,7 @@
 import { DatasetByFamilyComponent } from './dataset-by-family.component';
-import { DatasetCardComponent } from './dataset-card.component';
+import { DatasetCardDocComponent } from './dataset-card-doc.component';
 
 export const dummiesComponents = [
     DatasetByFamilyComponent,
-    DatasetCardComponent
+    DatasetCardDocComponent
 ];
diff --git a/client/src/app/instance/doc/containers/dataset-list.component.html b/client/src/app/instance/doc/containers/dataset-list.component.html
index 8c69e6de87a3acece5cf5a7c4a5a8d957f002ca1..91d2e14900928758b0ebb8e89f93bc69e3d3bf5d 100644
--- a/client/src/app/instance/doc/containers/dataset-list.component.html
+++ b/client/src/app/instance/doc/containers/dataset-list.component.html
@@ -1,9 +1,11 @@
 <app-spinner *ngIf="(datasetFamilyListIsLoading | async)
-    || (datasetListIsLoading | async)">
+    || (datasetListIsLoading | async)
+    || (surveyListIsLoading | async)">
 </app-spinner>
 
 <div *ngIf="(datasetFamilyListIsLoaded | async)
-        && (datasetListIsLoaded | async)" class="container">
+        && (datasetListIsLoaded | async)
+        && (surveyListIsLoaded | async)" class="container">
     <div class="row mt-4">
         <ng-container *ngIf="(datasetList | async).length === 0">
             <div class="col-12 lead text-center">
@@ -18,6 +20,7 @@
                 <app-dataset-by-family
                     [datasetList]="datasetList | async"
                     [datasetFamilyList]="datasetFamilyList | async"
+                    [surveyList]="surveyList | async"
                     [instanceSelected]="instanceSelected | async">
                 </app-dataset-by-family>
             </div>
diff --git a/client/src/app/instance/doc/containers/dataset-list.component.ts b/client/src/app/instance/doc/containers/dataset-list.component.ts
index b47b7b649e40a32b20968d9333542a2455a2ef5e..17edd30f4dd2676a838748973e7aeca5e37b6f66 100644
--- a/client/src/app/instance/doc/containers/dataset-list.component.ts
+++ b/client/src/app/instance/doc/containers/dataset-list.component.ts
@@ -15,10 +15,11 @@ import { Observable } from 'rxjs';
 import * as datasetActions from 'src/app/metamodel/actions/dataset.actions';
 import * as datasetFamilySelector from 'src/app/metamodel/selectors/dataset-family.selector';
 import * as datasetSelector from 'src/app/metamodel/selectors/dataset.selector';
-import { Dataset, DatasetFamily } from 'src/app/metamodel/models';
+import {Dataset, DatasetFamily, Survey} from 'src/app/metamodel/models';
 import { environment } from 'src/environments/environment';
 import * as authSelector from "../../../auth/auth.selector";
 import * as instanceSelector from "../../../metamodel/selectors/instance.selector";
+import * as surveySelector from "../../../metamodel/selectors/survey.selector";
 
 @Component({
     selector: 'app-dataset-list',
@@ -37,6 +38,9 @@ export class DatasetListComponent implements OnInit {
     public datasetFamilyListIsLoading: Observable<boolean>;
     public datasetFamilyListIsLoaded: Observable<boolean>;
     public datasetFamilyList: Observable<DatasetFamily[]>;
+    public surveyListIsLoading: Observable<boolean>;
+    public surveyListIsLoaded: Observable<boolean>;
+    public surveyList: Observable<Survey[]>;
     public datasetListIsLoading: Observable<boolean>;
     public datasetListIsLoaded: Observable<boolean>;
     public datasetList: Observable<Dataset[]>;
@@ -47,6 +51,9 @@ export class DatasetListComponent implements OnInit {
         this.datasetFamilyListIsLoading = store.select(datasetFamilySelector.selectDatasetFamilyListIsLoading);
         this.datasetFamilyListIsLoaded = store.select(datasetFamilySelector.selectDatasetFamilyListIsLoaded);
         this.datasetFamilyList = store.select(datasetFamilySelector.selectAllDatasetFamilies);
+        this.surveyListIsLoading = store.select(surveySelector.selectSurveyListIsLoading);
+        this.surveyListIsLoaded = store.select(surveySelector.selectSurveyListIsLoaded);
+        this.surveyList = store.select(surveySelector.selectAllSurveys);
         this.datasetListIsLoading = store.select(datasetSelector.selectDatasetListIsLoading);
         this.datasetListIsLoaded = store.select(datasetSelector.selectDatasetListIsLoaded);
         this.datasetList = store.select(datasetSelector.selectAllDatasets);
diff --git a/client/src/app/instance/doc/doc-routing.module.ts b/client/src/app/instance/doc/doc-routing.module.ts
index 69ac131b3871e31a0b34a3d04c128bf1a9cdc6c4..4e27a9b1b713f3793611f8c36499de474de4fc6e 100644
--- a/client/src/app/instance/doc/doc-routing.module.ts
+++ b/client/src/app/instance/doc/doc-routing.module.ts
@@ -11,9 +11,11 @@ import { NgModule } from '@angular/core';
 import { Routes, RouterModule } from '@angular/router';
 
 import { DatasetListComponent } from "./containers/dataset-list.component";
+import { DocComponent } from "./containers/doc.component";
 
 const routes: Routes = [
-    { path: '', component: DatasetListComponent }
+    { path: '', component: DatasetListComponent },
+    { path: ':dname', component: DocComponent },
 ];
 
 @NgModule({
@@ -23,5 +25,6 @@ const routes: Routes = [
 export class DocRoutingModule { }
 
 export const routedComponents = [
-    DatasetListComponent
+    DatasetListComponent,
+    DocComponent
 ];