diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
index 613f9c5e71e54bdc09a8c78752d7a40f0eb0eb88..3c093d19310e5a9aed257af731c09fd8610737a1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
@@ -73,11 +73,6 @@ public class ViewColumnDto {
     @Schema(example = "Column comment")
     private String description;
 
-    @NotNull
-    @JsonProperty("is_public")
-    @Schema(example = "true")
-    private Boolean isPublic;
-
     @NotNull
     @JsonProperty("is_null_allowed")
     @Schema(example = "false")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
index 92092fca33d726616ccba63f08a4b4fefbdba1a2..435d26522dc8fe2580f092b2febe3d6cde0e0043 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
@@ -122,11 +122,6 @@ public class ColumnDto {
     @JsonIgnore
     private transient List<ViewDto> views;
 
-    @NotNull
-    @JsonProperty("is_public")
-    @Schema(example = "true")
-    private Boolean isPublic;
-
     @NotNull
     @JsonProperty("is_null_allowed")
     @Schema(example = "false")
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
index 71f52235cdcf5231b021095d926436548cd893b1..c2de8a0f52b2bc6834862fded7a6f4d739b76138 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
@@ -721,7 +721,6 @@ public interface MetadataMapper {
     @Mappings({
             @Mapping(target = "tableId", source = "table.id"),
             @Mapping(target = "databaseId", source = "table.database.id"),
-            @Mapping(target = "isPublic", source = "table.isSchemaPublic"),
             @Mapping(target = "description", source = "description"),
             @Mapping(target = "table", ignore = true),
             @Mapping(target = "views", ignore = true)
@@ -833,7 +832,6 @@ public interface MetadataMapper {
 
     @Mappings({
             @Mapping(target = "databaseId", source = "view.vdbid"),
-            @Mapping(target = "isPublic", source = "view.isPublic")
     })
     ViewColumnDto viewColumnToViewColumnDto(ViewColumn data);
 
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
index 5f27f99acc636acae92fe384b90e85c976c658d6..556a2a958de4878528f2477c65c9e119c63dbde2 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
@@ -110,15 +110,12 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
         /* mock */
         when(containerService.find(CONTAINER_1_ID))
                 .thenReturn(CONTAINER_1);
-        when(databaseService.create(CONTAINER_1, request, USER_1, List.of(USER_LOCAL)))
-                .thenReturn(DATABASE_1);
-        doNothing()
-                .when(messageQueueService)
-                .setVirtualHostPermissions(USER_1);
-        when(keycloakGateway.findByUsername(USER_1_USERNAME))
-                .thenReturn(USER_1_KEYCLOAK_DTO);
         when(userService.findById(USER_1_ID))
                 .thenReturn(USER_1);
+        when(userService.findAllInternalUsers())
+                .thenReturn(List.of(USER_LOCAL));
+        when(databaseService.create(CONTAINER_1, request, USER_1, List.of(USER_LOCAL)))
+                .thenReturn(DATABASE_1);
 
         /* test */
         create_generic(request, USER_1_PRINCIPAL, USER_1);
@@ -278,11 +275,12 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
     @WithAnonymousUser
     public void list_anonymous_succeeds() throws DatabaseNotFoundException, UserNotFoundException {
 
-        /* pre-condition */
-        assertFalse(DATABASE_1_PUBLIC);
+        /* mock */
+        when(databaseService.findAllPublic())
+                .thenReturn(List.of(DATABASE_1));
 
         /* test */
-        list_generic(List.of(DATABASE_1), null, null);
+        list_generic(null, null, 1);
     }
 
     @Test
@@ -292,8 +290,12 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
         /* pre-condition */
         assertTrue(DATABASE_3_PUBLIC);
 
+        /* mock */
+        when(databaseService.findAllPublicOrReadAccess(any(UUID.class)))
+                .thenReturn(List.of(DATABASE_3));
+
         /* test */
-        list_generic(List.of(DATABASE_3), null, USER_1_PRINCIPAL);
+        list_generic(null, USER_1_PRINCIPAL, 1);
     }
 
     @Test
@@ -303,24 +305,36 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
         /* pre-condition */
         assertTrue(DATABASE_3_PUBLIC);
 
+        /* mock */
+        when(databaseService.findAllPublicOrReadAccess(USER_1_ID))
+                .thenReturn(List.of(DATABASE_3));
+
         /* test */
-        list_generic(List.of(DATABASE_3), null, USER_1_PRINCIPAL);
+        list_generic(null, USER_1_PRINCIPAL, 1);
     }
 
     @Test
     @WithMockUser(username = USER_1_USERNAME, authorities = {"list-databases"})
     public void list_hasRoleFilter_succeeds() throws DatabaseNotFoundException, UserNotFoundException {
 
+        /* mock */
+        when(databaseService.findAllPublicOrReadAccessByInternalName(USER_1_ID, DATABASE_3_INTERNALNAME))
+                .thenReturn(List.of(DATABASE_3));
+
         /* test */
-        list_generic(List.of(DATABASE_3), DATABASE_3_INTERNALNAME, USER_1_PRINCIPAL);
+        list_generic(DATABASE_3_INTERNALNAME, USER_1_PRINCIPAL, 1);
     }
 
     @Test
     @WithMockUser(username = USER_1_USERNAME, authorities = {"list-databases"})
     public void list_hasRoleFilterNoResult_succeeds() throws DatabaseNotFoundException, UserNotFoundException {
 
+        /* mock */
+        when(databaseService.findAllPublicOrReadAccessByInternalName(USER_1_ID, "i_do_not_exist"))
+                .thenReturn(List.of());
+
         /* test */
-        list_generic(List.of(), "i_do_not_exist", USER_1_PRINCIPAL);
+        list_generic("i_do_not_exist", USER_1_PRINCIPAL, 0);
     }
 
     @Test
@@ -644,46 +658,15 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
     /* ## GENERIC TEST CASES                                                                            ## */
     /* ################################################################################################### */
 
-    public void list_generic(List<Database> databases, String internalName, Principal principal)
+    public void list_generic(String internalName, Principal principal, Integer expectedSize)
             throws DatabaseNotFoundException, UserNotFoundException {
 
-        /* mock */
-        when(databaseService.findAll())
-                .thenReturn(databases);
-        if (principal != null) {
-            if (internalName != null) {
-                if (databases.isEmpty()) {
-                    when(databaseService.findAllPublicOrReadAccessByInternalName(any(UUID.class), eq(internalName)))
-                            .thenReturn(List.of());
-                } else {
-                    when(databaseService.findAllPublicOrReadAccessByInternalName(any(UUID.class), eq(internalName)))
-                            .thenReturn(List.of(databases.get(0)));
-                }
-            } else {
-                when(databaseService.findAllPublicOrReadAccess(any(UUID.class)))
-                        .thenReturn(databases);
-            }
-        } else {
-            if (internalName != null) {
-                if (databases.isEmpty()) {
-                    when(databaseService.findAllPublicByInternalName(eq(internalName)))
-                            .thenReturn(List.of());
-                } else {
-                    when(databaseService.findAllPublicByInternalName(eq(internalName)))
-                            .thenReturn(List.of(databases.get(0)));
-                }
-            } else {
-                when(databaseService.findAllPublicOrReadAccess(any(UUID.class)))
-                        .thenReturn(databases);
-            }
-        }
-
         /* test */
         final ResponseEntity<List<DatabaseBriefDto>> response = databaseEndpoint.list(internalName, principal);
         assertEquals(HttpStatus.OK, response.getStatusCode());
         assertNotNull(response.getBody());
         final List<DatabaseBriefDto> body = response.getBody();
-        assertEquals(databases.size(), body.size());
+        assertEquals(expectedSize, body.size());
     }
 
     public void create_generic(DatabaseCreateDto data, Principal principal, User user) throws DataServiceException,
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
index 12dc533cb9b44c726c87e552aa845c21025857b3..39e305923ff6e7fe51b002c2eccc786e09fcd621 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
@@ -192,7 +192,7 @@ public class UserEndpointUnitTest extends AbstractUnitTest {
                 .firstname(USER_1_FIRSTNAME)
                 .lastname(USER_1_LASTNAME)
                 .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
+                .orcid(USER_1_ORCID_URL)
                 .build();
 
         /* test */
@@ -208,7 +208,7 @@ public class UserEndpointUnitTest extends AbstractUnitTest {
                 .firstname(USER_1_FIRSTNAME)
                 .lastname(USER_1_LASTNAME)
                 .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
+                .orcid(USER_1_ORCID_URL)
                 .build();
 
         /* test */
@@ -224,7 +224,7 @@ public class UserEndpointUnitTest extends AbstractUnitTest {
                 .firstname(USER_1_FIRSTNAME)
                 .lastname(USER_1_LASTNAME)
                 .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
+                .orcid(USER_1_ORCID_URL)
                 .build();
 
         /* test */
@@ -240,7 +240,7 @@ public class UserEndpointUnitTest extends AbstractUnitTest {
                 .firstname(USER_1_FIRSTNAME)
                 .lastname(USER_1_LASTNAME)
                 .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
+                .orcid(USER_1_ORCID_URL)
                 .build();
 
         /* test */
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
index 5e7e1dbc5b233694ba7afe8eafa312103ae34fb5..2d4fa435062789e6b43e6c0fd28189c76061df25 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
@@ -69,14 +69,6 @@ public class MetadataMapperUnitTest extends AbstractUnitTest {
         assertEquals(IdentifierType.DATABASE, metadataMapper.identifierTypeDtoToIdentifierType(IdentifierTypeDto.DATABASE));
     }
 
-    @Test
-    public void identifierCreateDtoToIdentifier_succeeds() {
-
-        /* test */
-        final Identifier response = metadataMapper.identifierCreateDtoToIdentifier(IDENTIFIER_1_CREATE_DTO);
-        assertEquals(IDENTIFIER_1, response);
-    }
-
     @Test
     public void identifierCreateDtoToIdentifier_withDoi_succeeds() {
 
@@ -103,22 +95,6 @@ public class MetadataMapperUnitTest extends AbstractUnitTest {
         assertEquals(IDENTIFIER_2_TYPE, response.getType());
     }
 
-    @Test
-    public void identifierCreateDtoToIdentifier_view_succeeds() {
-
-        /* test */
-        final Identifier response = metadataMapper.identifierCreateDtoToIdentifier(IDENTIFIER_3_CREATE_DTO);
-        assertEquals(IDENTIFIER_3, response);
-    }
-
-    @Test
-    public void customDatabaseToDatabaseDto_succeeds() {
-
-        /* test */
-        final DatabaseDto response = metadataMapper.customDatabaseToDatabaseDto(DATABASE_1);
-        assertEquals(DATABASE_1_DTO, response);
-    }
-
     public static Stream<Arguments> nameToInternalName_parameters() {
         return Stream.of(
                 Arguments.arguments("dash_minus", "OE/NO-027", "oe_no_027"),
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
index e4cdcdbdd884a3a1f28f0a20a244824f6ac3702c..2594eb70b1240d7ba39c866e2ee8c900cf191ea7 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
@@ -42,7 +42,7 @@ public class IdentifierEndpointMvcTest extends AbstractUnitTest {
                 .thenReturn(ORCID_1_DTO);
 
         /* test */
-        this.mockMvc.perform(get("/api/identifier/retrieve?url=http://orcid.org/" + USER_1_ORCID_UNCOMPRESSED)
+        this.mockMvc.perform(get("/api/identifier/retrieve?url=" + USER_1_ORCID_URL)
                         .contentType(MediaType.APPLICATION_JSON)
                         .accept(MediaType.APPLICATION_JSON))
                 .andExpect(content().string(FileUtils.getContentsAsString(new File("src/test/resources/json/ext_orcid_jdoe.json"))))
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
index 8a7db23fe064c8d88a656bdc0992250cb5b79522..c37739e7e7dd8097222d22c8a7f172a8bacb4416 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
@@ -42,6 +42,7 @@ public abstract class AbstractUnitTest extends BaseTest {
         TABLE_1_PRIVILEGED_DTO.setColumns(new LinkedList<>(TABLE_1_COLUMNS_DTO));
         TABLE_1_PRIVILEGED_DTO.setDatabase(DATABASE_1_PRIVILEGED_DTO);
         VIEW_1_DTO.setDatabase(DATABASE_1_DTO);
+        VIEW_1_DTO.setIdentifiers(VIEW_1_DTO_IDENTIFIERS);
         DATABASE_1.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_1, IDENTIFIER_2, IDENTIFIER_3, IDENTIFIER_4)));
         IDENTIFIER_1.setDatabase(DATABASE_1);
         IDENTIFIER_2.setDatabase(DATABASE_1);
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
index 13a68c4e3e207603b446219b9859bf0742939529..ccd12292bab2bc4905b1573ab8102dc4f47c6f5d 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
@@ -460,12 +460,10 @@ public abstract class BaseTest {
     public final static String USER_1_DATABASE_PASSWORD = "*440BA4FD1A87A0999647DB67C0EE258198B247BA" /* junit1 */;
     public final static String USER_1_FIRSTNAME = "John";
     public final static String USER_1_LASTNAME = "Doe";
-    public final static String USER_1_QUALIFIED_NAME = "@" + USER_1_USERNAME + " — " + USER_1_FIRSTNAME + " " + USER_1_LASTNAME;
+    public final static String USER_1_QUALIFIED_NAME = USER_1_FIRSTNAME + " " + USER_1_LASTNAME + " — @" + USER_1_USERNAME;
     public final static String USER_1_NAME = "John Doe";
     public final static String USER_1_AFFILIATION = "TU Graz";
-    public final static String USER_1_ORCID = "000000034216302X";
-    public final static String USER_1_ORCID_UNCOMPRESSED = "0000-0003-4216-302X";
-    public final static String USER_1_ORCID_URL = "https://orcid.org/" + USER_1_ORCID_UNCOMPRESSED;
+    public final static String USER_1_ORCID_URL = "https://orcid.org/0000-0003-4216-302X";
     public final static String USER_1_TITLES_BEFORE = "Dr.";
     public final static String USER_1_TITLES_AFTER = "MSc BSc";
     public final static Boolean USER_1_VERIFIED = false;
@@ -486,7 +484,7 @@ public abstract class BaseTest {
 
     public final static UserAttributesDto USER_1_ATTRIBUTES_DTO = UserAttributesDto.builder()
             .theme(USER_1_THEME)
-            .orcid(USER_1_ORCID_UNCOMPRESSED)
+            .orcid(USER_1_ORCID_URL)
             .affiliation(USER_1_AFFILIATION)
             .mariadbPassword(USER_1_DATABASE_PASSWORD)
             .language(USER_1_LANGUAGE)
@@ -531,7 +529,7 @@ public abstract class BaseTest {
             .firstname(USER_1_FIRSTNAME)
             .lastname(USER_1_LASTNAME)
             .affiliation(USER_1_AFFILIATION)
-            .orcid(USER_1_ORCID)
+            .orcid(USER_1_ORCID_URL)
             .theme(USER_1_THEME)
             .mariadbPassword(USER_1_DATABASE_PASSWORD)
             .language(USER_1_LANGUAGE)
@@ -552,7 +550,7 @@ public abstract class BaseTest {
             .firstname(USER_1_FIRSTNAME)
             .lastname(USER_1_LASTNAME)
             .affiliation(USER_1_AFFILIATION)
-            .orcid(USER_1_ORCID)
+            .orcid(USER_1_ORCID_URL)
             .theme(USER_1_THEME)
             .language(USER_1_LANGUAGE)
             .build();
@@ -581,6 +579,7 @@ public abstract class BaseTest {
             .lastname(USER_1_LASTNAME)
             .name(USER_1_NAME)
             .qualifiedName(USER_1_QUALIFIED_NAME)
+            .orcid(USER_1_ORCID_URL)
             .build();
 
     public final static UserDetails USER_1_DETAILS = UserDetailsDto.builder()
@@ -4967,6 +4966,7 @@ public abstract class BaseTest {
     public final static List<ViewColumnDto> VIEW_1_COLUMNS_DTO = List.of(
             ViewColumnDto.builder()
                     .id(1L)
+                    .ordinalPosition(0)
                     .databaseId(DATABASE_1_ID)
                     .name("location")
                     .internalName("location")
@@ -4977,24 +4977,29 @@ public abstract class BaseTest {
                     .build(),
             ViewColumnDto.builder()
                     .id(2L)
+                    .ordinalPosition(1)
                     .databaseId(DATABASE_1_ID)
                     .name("lat")
                     .internalName("lat")
                     .ordinalPosition(1)
-                    .columnType(ColumnTypeDto.DOUBLE)
-                    .size(22L)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
                     .isNullAllowed(true)
                     .build(),
             ViewColumnDto.builder()
                     .id(3L)
+                    .ordinalPosition(2)
                     .databaseId(DATABASE_1_ID)
                     .name("lng")
                     .internalName("lng")
                     .ordinalPosition(2)
-                    .columnType(ColumnTypeDto.DOUBLE)
-                    .size(22L)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
                     .isNullAllowed(true)
-                    .build());
+                    .build()
+    );
 
     public final static View VIEW_1 = View.builder()
             .id(VIEW_1_ID)
@@ -5076,6 +5081,7 @@ public abstract class BaseTest {
             .vdbid(VIEW_1_DATABASE_ID)
             .isPublic(VIEW_1_PUBLIC)
             .isSchemaPublic(VIEW_1_SCHEMA_PUBLIC)
+            .identifiers(null /* VIEW_1_DTO_IDENTIFIERS */)
             .owner(USER_1_BRIEF_DTO)
             .query(VIEW_1_QUERY)
             .queryHash(VIEW_1_QUERY_HASH)
@@ -7970,6 +7976,8 @@ public abstract class BaseTest {
             .huserid(USER_3_ID)
             .build();
 
+    public final static List<IdentifierDto> VIEW_1_DTO_IDENTIFIERS = List.of(IDENTIFIER_3_DTO);
+
     public final static Constraints TABLE_1_CONSTRAINTS = Constraints.builder()
             .checks(new LinkedHashSet<>())
             .foreignKeys(new LinkedList<>())