diff --git a/src/Project.Tests/Project.Tests.csproj b/src/Project.Tests/Project.Tests.csproj
index ed3a4a15b7c8d09e0ce89b2219d762819c569dbe..771d96d43854bb06238257e98a58e1e1bc60eb54 100644
--- a/src/Project.Tests/Project.Tests.csproj
+++ b/src/Project.Tests/Project.Tests.csproj
@@ -68,11 +68,11 @@
     <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database, Version=1.26.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.26.0\lib\net461\Coscine.Database.dll</HintPath>
+    <Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0-topic-1159-rtdap0001\lib\net461\Coscine.Database.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database.T4, Version=1.26.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.26.0\lib\net461\Coscine.Database.T4.dll</HintPath>
+    <Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0-topic-1159-rtdap0001\lib\net461\Coscine.Database.T4.dll</HintPath>
     </Reference>
     <Reference Include="Coscine.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=e1ed402bc3f6525e, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Logging.1.2.0\lib\net461\Coscine.Logging.dll</HintPath>
@@ -80,6 +80,15 @@
     <Reference Include="Coscine.ProxyApi, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.ProxyApi.1.3.0\lib\net461\Coscine.ProxyApi.dll</HintPath>
     </Reference>
+    <Reference Include="Coscine.ResourceConfiguration, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.ResourceConfiguration.1.3.0-topic-1159-rtdap0006\lib\net461\Coscine.ResourceConfiguration.dll</HintPath>
+    </Reference>
+    <Reference Include="Coscine.ResourceLoader, Version=1.2.0.0, Culture=neutral, processorArchitecture=AMD64">
+      <HintPath>..\packages\Coscine.ResourceLoader.1.2.0-topic-1159-rtdap0007\lib\net461\Coscine.ResourceLoader.dll</HintPath>
+    </Reference>
+    <Reference Include="Coscine.ResourceTypeBase, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.ResourceTypeBase.1.4.0-topic-1159-rtdap0006\lib\net461\Coscine.ResourceTypeBase.dll</HintPath>
+    </Reference>
     <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
     </Reference>
diff --git a/src/Project.Tests/app.config b/src/Project.Tests/app.config
index 3d021f9c0e9389b0e4a2995e68d54ee6cb3017bb..68e4c31f43f822a58f481c78f52a37d718493b93 100644
--- a/src/Project.Tests/app.config
+++ b/src/Project.Tests/app.config
@@ -88,7 +88,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.26.0.0" newVersion="1.26.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-1.27.0.0" newVersion="1.27.0.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -192,7 +192,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Coscine.Database.T4" publicKeyToken="84b4c404a0696261" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.26.0.0" newVersion="1.26.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-1.27.0.0" newVersion="1.27.0.0" />
       </dependentAssembly>
     </assemblyBinding>
   </runtime>
diff --git a/src/Project.Tests/packages.config b/src/Project.Tests/packages.config
index b36d9ef52d132f2a0555e1560d49f7c823b18a1a..8bbc861d02398ebaad7b03a85212084119a582c3 100644
--- a/src/Project.Tests/packages.config
+++ b/src/Project.Tests/packages.config
@@ -7,9 +7,12 @@
   <package id="Coscine.Action" version="1.16.0" targetFramework="net472" />
   <package id="Coscine.ApiCommons" version="1.10.0" targetFramework="net472" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net472" />
-  <package id="Coscine.Database" version="1.26.0" targetFramework="net472" />
+  <package id="Coscine.Database" version="1.27.0-topic-1159-rtdap0001" targetFramework="net472" />
   <package id="Coscine.Logging" version="1.2.0" targetFramework="net472" />
   <package id="Coscine.ProxyApi" version="1.3.0" targetFramework="net472" />
+  <package id="Coscine.ResourceConfiguration" version="1.3.0-topic-1159-rtdap0006" targetFramework="net472" />
+  <package id="Coscine.ResourceLoader" version="1.2.0-topic-1159-rtdap0007" targetFramework="net472" />
+  <package id="Coscine.ResourceTypeBase" version="1.4.0-topic-1159-rtdap0006" targetFramework="net472" />
   <package id="EntityFramework" version="6.4.4" targetFramework="net472" />
   <package id="HtmlAgilityPack" version="1.8.2" targetFramework="net472" />
   <package id="linq2db" version="3.1.1" targetFramework="net472" />
diff --git a/src/Project/App.config b/src/Project/App.config
index 4f7ec9b8f0f9a20ba383c30ad176c9af8f7ed4fd..6552411ab1606f6338a54eff93a4a489086731df 100644
--- a/src/Project/App.config
+++ b/src/Project/App.config
@@ -91,7 +91,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.26.0.0" newVersion="1.26.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-1.27.0.0" newVersion="1.27.0.0" />
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" />
@@ -191,7 +191,7 @@
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="Coscine.Database.T4" publicKeyToken="84b4c404a0696261" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-1.26.0.0" newVersion="1.26.0.0" />
+        <bindingRedirect oldVersion="0.0.0.0-1.27.0.0" newVersion="1.27.0.0" />
       </dependentAssembly>
     </assemblyBinding>
   </runtime>
diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs
index cdcbac93231ab8364298f2759674fcf7c722b246..096d4ac925ab1c885a0222ccd37d2fb0554b598c 100644
--- a/src/Project/Controllers/ProjectController.cs
+++ b/src/Project/Controllers/ProjectController.cs
@@ -1,22 +1,21 @@
 using Coscine.Action;
 using Coscine.Action.EventArgs;
-using Coscine.Database.Models;
-using Coscine.Database.ReturnObjects;
 using Coscine.ApiCommons;
 using Coscine.ApiCommons.Factories;
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Linq;
 using Coscine.Configuration;
-using Microsoft.AspNetCore.Authorization;
+using Coscine.Database.DataModel;
+using Coscine.Database.Models;
+using Coscine.Database.ReturnObjects;
 using Coscine.Database.Util;
 using Coscine.Logging;
+using Coscine.Metadata;
+using Coscine.ResourceLoader;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
 using Microsoft.Extensions.Logging;
-using Newtonsoft.Json.Linq;
-using Coscine.Database.DataModel;
+using System;
 using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using Coscine.Metadata;
+using System.Linq;
 
 namespace Coscine.Api.Project.Controllers
 {
@@ -243,11 +242,16 @@ namespace Coscine.Api.Project.Controllers
             if (isHard)
             {
                 var projectResourceModel = new ProjectResourceModel();
-                ResourceModel resourceModel = new ResourceModel();
+                var resourceModel = new ResourceModel();
+                var resourceTypeModel = new ResourceTypeModel();
                 foreach (var projectResource in projectResourceModel.GetAllWhere((projectResource) => projectResource.ProjectId == project.Id))
                 {
+                    var resource = resourceModel.GetById(projectResource.ResourceId);
+                    var resourceTypeOptions = resourceModel.GetResourceTypeOptions(projectResource.ResourceId);
+                    var resourceTypeDefinition = ResourceTypeFactory.CreateResourceTypeObject(resourceTypeModel.GetById(resource.TypeId).DisplayName, _configuration);
+                    resourceTypeDefinition.DeleteResource(projectResource.ResourceId.ToString(), resourceTypeOptions);
                     projectResourceModel.Delete(projectResource);
-                    resourceModel.Delete(resourceModel.GetById(projectResource.ResourceId));
+                    resourceModel.Delete(resource);
                 }
 
                 var projectRoleModel = new ProjectRoleModel();
diff --git a/src/Project/Project.csproj b/src/Project/Project.csproj
index 58762fdd08dfdf8278ba043a573ed75c27fcdde7..3de460bd4b2f1dd8c7fca26ce92340e73fe4ef2f 100644
--- a/src/Project/Project.csproj
+++ b/src/Project/Project.csproj
@@ -61,11 +61,11 @@
     <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database, Version=1.26.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.26.0\lib\net461\Coscine.Database.dll</HintPath>
+    <Reference Include="Coscine.Database, Version=1.27.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0-topic-1159-rtdap0001\lib\net461\Coscine.Database.dll</HintPath>
     </Reference>
-    <Reference Include="Coscine.Database.T4, Version=1.26.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
-      <HintPath>..\packages\Coscine.Database.1.26.0\lib\net461\Coscine.Database.T4.dll</HintPath>
+    <Reference Include="Coscine.Database.T4, Version=1.27.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.Database.1.27.0-topic-1159-rtdap0001\lib\net461\Coscine.Database.T4.dll</HintPath>
     </Reference>
     <Reference Include="Coscine.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=e1ed402bc3f6525e, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.Logging.1.2.0\lib\net461\Coscine.Logging.dll</HintPath>
@@ -76,6 +76,15 @@
     <Reference Include="Coscine.ProxyApi, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\Coscine.ProxyApi.1.3.0\lib\net461\Coscine.ProxyApi.dll</HintPath>
     </Reference>
+    <Reference Include="Coscine.ResourceConfiguration, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.ResourceConfiguration.1.3.0-topic-1159-rtdap0006\lib\net461\Coscine.ResourceConfiguration.dll</HintPath>
+    </Reference>
+    <Reference Include="Coscine.ResourceLoader, Version=1.2.0.0, Culture=neutral, processorArchitecture=AMD64">
+      <HintPath>..\packages\Coscine.ResourceLoader.1.2.0-topic-1159-rtdap0007\lib\net461\Coscine.ResourceLoader.dll</HintPath>
+    </Reference>
+    <Reference Include="Coscine.ResourceTypeBase, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Coscine.ResourceTypeBase.1.4.0-topic-1159-rtdap0006\lib\net461\Coscine.ResourceTypeBase.dll</HintPath>
+    </Reference>
     <Reference Include="dotNetRDF, Version=2.5.0.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL">
       <HintPath>..\packages\dotNetRDF.2.5.0\lib\net40\dotNetRDF.dll</HintPath>
     </Reference>
diff --git a/src/Project/packages.config b/src/Project/packages.config
index 33712ea7994e5a29f899e068176ceb4aceb97d86..bc166f514e074470d62d85d12ce1e61f03bd3c4f 100644
--- a/src/Project/packages.config
+++ b/src/Project/packages.config
@@ -7,10 +7,13 @@
   <package id="Coscine.Action" version="1.16.0" targetFramework="net472" />
   <package id="Coscine.ApiCommons" version="1.10.0" targetFramework="net472" />
   <package id="Coscine.Configuration" version="1.5.0" targetFramework="net472" />
-  <package id="Coscine.Database" version="1.26.0" targetFramework="net472" />
+  <package id="Coscine.Database" version="1.27.0-topic-1159-rtdap0001" targetFramework="net472" />
   <package id="Coscine.Logging" version="1.2.0" targetFramework="net472" />
   <package id="Coscine.Metadata" version="1.4.0" targetFramework="net472" />
   <package id="Coscine.ProxyApi" version="1.3.0" targetFramework="net472" />
+  <package id="Coscine.ResourceConfiguration" version="1.3.0-topic-1159-rtdap0006" targetFramework="net472" />
+  <package id="Coscine.ResourceLoader" version="1.2.0-topic-1159-rtdap0007" targetFramework="net472" />
+  <package id="Coscine.ResourceTypeBase" version="1.4.0-topic-1159-rtdap0006" targetFramework="net472" />
   <package id="dotNetRDF" version="2.5.0" targetFramework="net472" />
   <package id="dotNetRDF.Data.Virtuoso" version="2.5.0" targetFramework="net472" />
   <package id="EntityFramework" version="6.4.4" targetFramework="net472" />