diff --git a/coopstarter_data/models.py b/coopstarter_data/models.py
index 88ffd21a80aae30294d6069daa0f4c0900b6a159..f0ded6ada43cf0bf9da6155e3510a1eb536980b6 100644
--- a/coopstarter_data/models.py
+++ b/coopstarter_data/models.py
@@ -10,6 +10,7 @@ from djangoldp_like.models import Like
 from django.utils import timezone
 from django.template import loader
 from djangoldp_i18n.views import I18nLDPViewSet
+from django.utils.translation import ugettext_lazy as _
 
 class LearningOutcome (Model) :
     name = models.CharField(max_length=256, verbose_name="Learning outcome", null=True, blank=True)
@@ -259,12 +260,12 @@ class Resource (Model):
         owner_perms = ['inherit', 'change', 'control', 'delete']
         nested_fields=["submitter",\
                        "format", "conversations", "steps", "languages", "fields",\
-                       "type", "related", "likes", "review", "country", "skills"]
+                       "type", "related", "likes", "review", "country", "skills", "brokenlinks"]
         serializer_fields=["@id", "name", "description", "resource_author", "uri", "publication_year", "submitter",\
                            "format", "target", "skills",\
                            "conversations", "steps", "languages", "fields", "country",\
                            "type", "submitter", "related", "likes", "review", "sharing",\
-                           "preview_image", "iframe_link"]
+                           "preview_image", "iframe_link", "brokenlinks"]
         container_path = 'resources/'
         rdf_type = 'coopstarter:resource'
         anonymous_perms = ['view']
@@ -311,9 +312,9 @@ class Request (Model):
         return str(self.name)
 
 class BrokenLink(Model):
-    submitter = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, related_name="brokenlink_submitter",
+    submitter = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, related_name="brokenlinks",
                                   null=True, blank=True)
-    resource = models.ForeignKey(Resource, null=True, on_delete=models.SET_NULL, related_name="brokenlink_resource")
+    resource = models.ForeignKey(Resource, null=True, on_delete=models.SET_NULL, related_name="brokenlinks")
     
     class Meta:
         auto_author = 'submitter'
@@ -360,7 +361,7 @@ def create_review(sender, instance, created, **kwargs):
                 )
 
                 send_mail(
-                    'The resource you reviewed has been modified',
+                    _('The resource you reviewed has been modified'),
                     message_text,
                     '"Knowledge Base" <kb@starter.coop>',
                     [review.reviewer.email],
@@ -376,7 +377,7 @@ def update_review(sender, instance, created, **kwargs):
         if getattr(settings, 'UPDATE_REVIEW', True) and instance.resource is not None:
             resource = instance.resource
             if instance.status == 'validated':
-                subject = 'The resource you submitted has been validated !'
+                subject = _('The resource you submitted has been validated !')
                 message = loader.render_to_string(
                     'emails/txt/resource_validation_notification.txt', 
                     {
@@ -392,7 +393,7 @@ def update_review(sender, instance, created, **kwargs):
                     }
                 )
             elif instance.status == 'to_improve':
-                subject = 'The resource you submitted requires some improvements'
+                subject = _('The resource you submitted requires some improvements')
                 message = loader.render_to_string(
                     'emails/txt/resource_improvement_notification.txt', 
                     {
@@ -408,7 +409,7 @@ def update_review(sender, instance, created, **kwargs):
                     }
                 )
             elif instance.status == 'inappropriate':
-                subject = 'The resource you submitted is considered inappropriate'
+                subject = _('The resource you submitted is considered inappropriate')
                 message = loader.render_to_string(
                     'emails/txt/resource_refusal_notification.txt', 
                     {
@@ -435,7 +436,7 @@ def update_review(sender, instance, created, **kwargs):
 
 
 @receiver(post_save, sender=BrokenLink)
-def sendMailToResourceSubmitter(sender, instance, created, **kwargs):
+def send_mail_to_resource_submitter(sender, instance, created, **kwargs):
     if created:
         message_text = loader.render_to_string(
             'emails/txt/report_broken_link.txt',
@@ -452,13 +453,38 @@ def sendMailToResourceSubmitter(sender, instance, created, **kwargs):
         )
 
         send_mail(
-            'The resource you submitted has a brokenlink',
+            _('The resource you submitted has a brokenlink'),
             message_text,
             '"Knowledge Base" <kb@starter.coop>',
             [instance.resource.submitter.email],
             html_message=message_html
         )
 
+@receiver(post_save, sender=Request)
+def send_mail_to_request_submitter(sender, instance, created, **kwargs):
+    if not created and instance.status == 'validated':
+        message_text = loader.render_to_string(
+            'emails/txt/request_managed.txt',
+            {
+                'request': instance,
+            }
+        )
+
+        message_html = loader.render_to_string(
+            'emails/html/request_managed.html',
+            {
+                'request': instance,
+            }
+        )
+
+        send_mail(
+            _('The request for a resource you submitted has been managed'),
+            message_text,
+            '"Knowledge Base" <kb@starter.coop>',
+            [instance.submitter.email],
+            html_message=message_html
+        )
+
 @receiver(post_save, sender=Contributor)
 def create_contributor_profile(sender, instance, created, **kwargs):
     if kwargs.get('raw', False):
@@ -483,7 +509,7 @@ def create_contributor_profile(sender, instance, created, **kwargs):
                 }
             )
             send_mail(
-                'New user account registration',
+                _('New contributor profile completed'),
                 message_text,
                 '"Knowledge Base" <kb@starter.coop>',
                 [user.email],
@@ -514,7 +540,7 @@ def create_user(sender, instance, created, **kwargs):
                 }
             )
             send_mail(
-                'New user account registration',
+                _('New user account registration'),
                 message_text,
                 '"Knowledge Base" <kb@starter.coop>',
                 [user.email],
diff --git a/coopstarter_data/templates/emails/html/request_managed.html b/coopstarter_data/templates/emails/html/request_managed.html
new file mode 100644
index 0000000000000000000000000000000000000000..83d33b9eec6112f35eec101851112dd76efabbde
--- /dev/null
+++ b/coopstarter_data/templates/emails/html/request_managed.html
@@ -0,0 +1,28 @@
+{% load staticfiles %}
+{% load i18n %}
+<h2 class="title_lead">
+    {% trans  "Notification from your collaborative Coopedia Knowledge Base" %} 
+</h2>
+
+<p>
+    {% trans  "Hello" %} {{request.submitter.name}}
+</p>
+
+<p>
+    {{request.reviewer.name|safe}} ({{request.reviewer.email}}) {% trans  "has dealt with the request for resource you posted:"  %}
+    <ul>
+        <li>
+            {% trans  "Title:" %} {{request.name}}
+        </li>
+        <li>
+            {% trans  "Description:" %} {{request.description}}
+        </li>
+    </ul>
+</p>
+
+<footer style="margin-top:10px;font-size:small;color:#777">
+    {% blocktrans %}
+    Have a nice day,<br>
+    The Coopedia Knowledge Base Team.
+    {% endblocktrans %}
+</footer>
\ No newline at end of file
diff --git a/coopstarter_data/templates/emails/txt/report_broken_link.txt b/coopstarter_data/templates/emails/txt/report_broken_link.txt
index b2f0dd3d1d14360947198d01618e62741c111d15..774ec7fb3e6b7fada17f000505fe90f20e9fc2aa 100644
--- a/coopstarter_data/templates/emails/txt/report_broken_link.txt
+++ b/coopstarter_data/templates/emails/txt/report_broken_link.txt
@@ -1,13 +1,13 @@
 {% load i18n %}
-{% trans  "Hello %} {{brokenlink.resource.submitter.name}}
+{% trans  "Hello" %} {{brokenlink.resource.submitter.name}}
 
-{{brokenlink.submitter.name|safe}} ({{brokenlink.submitter.email}}) {% trans  "is reporting you that the following resource you submit has a broken link :  %}
+{{brokenlink.submitter.name|safe}} ({{brokenlink.submitter.email}}) {% trans  "is reporting you that the following resource you submit has a broken link:"  %}
 
-{% trans  "Title: %} {{brokenlink.resource.name}}
+{% trans  "Title:" %} {{brokenlink.resource.name}}
 
-{% trans  "Description: %} {{brokenlink.resource.description}}
+{% trans  "Description:" %} {{brokenlink.resource.description}}
 
-{% trans  "URI: %} {{brokenlink.resource.uri}}
+{% trans  "URI:" %} {{brokenlink.resource.uri}}
 
 {% blocktrans %}
 Have a nice day,
diff --git a/coopstarter_data/templates/emails/txt/request_managed.txt b/coopstarter_data/templates/emails/txt/request_managed.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9ce544dd08b69f2b5edafcf76dfd4db7b571d0f0
--- /dev/null
+++ b/coopstarter_data/templates/emails/txt/request_managed.txt
@@ -0,0 +1,14 @@
+{% load i18n %}
+{% trans  "Hello" %} {{request.submitter.name}}
+
+{{request.reviewer.name|safe}} ({{request.reviewer.email}}) {% trans  "has dealt with the request for resource you posted:" %}
+
+{% trans  "Title:" %} {{request.name}}
+
+{% trans  "Description:" %} {{request.description}}
+
+{% blocktrans %}
+Have a nice day,
+
+The Coopedia Knowledge Base Team.
+{% endblocktrans %}
\ No newline at end of file
diff --git a/coopstarter_data/tests/models.py b/coopstarter_data/tests/models.py
index 0f0400b1817724563f8a447476410a4c14231ce5..9da6ce0fdfe0df948f95c61d36bce80fbb3086cf 100644
--- a/coopstarter_data/tests/models.py
+++ b/coopstarter_data/tests/models.py
@@ -1,13 +1,11 @@
 from django.contrib.auth.models import AbstractUser
-
 from djangoldp.models import Model
 
-
 class User(AbstractUser, Model):
 
     class Meta(AbstractUser.Meta, Model.Meta):
         serializer_fields = ['@id', 'username', 'first_name', 'last_name', 'email', 'resources']
-        nested_fields = ['resources']
+        nested_fields = ['resources', 'account', 'searcher_profile', 'contributor_profile', 'chatProfile']
         anonymous_perms = ['view', 'add']
         authenticated_perms = ['inherit', 'change']
         owner_perms = ['inherit']
diff --git a/coopstarter_data/tests/runner.py b/coopstarter_data/tests/runner.py
index 5b98333f1f3540092d8fe38f80b044773eefc735..dfbe52ea78c12a8ae836efb0781dd279ec5be3da 100644
--- a/coopstarter_data/tests/runner.py
+++ b/coopstarter_data/tests/runner.py
@@ -1,38 +1,38 @@
 import sys
+import yaml
 
 import django
-from django.conf import settings
-from djangoldp.tests import settings_default
+from django.conf import settings as django_settings
+from djangoldp.conf.ldpsettings import LDPSettings
+from djangoldp.tests.settings_default import yaml_config
 
-settings.configure(default_settings=settings_default,
-                   DJANGOLDP_PACKAGES=['djangoldp_conversation', 'djangoldp_like', 'coopstarter_data',
-                                       'coopstarter_data.tests', ],
-                   INSTALLED_APPS=('django.contrib.auth',
-                                   'django.contrib.contenttypes',
-                                   'django.contrib.sessions',
-                                   'django.contrib.admin',
-                                   'django.contrib.messages',
-                                   'django.contrib.staticfiles',
-                                   'guardian',
-                                   'djangoldp_conversation',
-                                   'djangoldp_like',
-                                   'coopstarter_data',
-                                   'coopstarter_data.tests',
-                                   'djangoldp',
-                                   ),
-                   SITE_URL='http://happy-dev.fr',
-                   BASE_URL='http://happy-dev.fr',
-                   REST_FRAMEWORK = {
-                       'DEFAULT_PAGINATION_CLASS': 'djangoldp.pagination.LDPPagination',
-                       'PAGE_SIZE': 5
-                   },
-                   SEND_BACKLINKS=False,
-                   JABBER_DEFAULT_HOST=None,
-                   PERMISSIONS_CACHE=False,
-                   ANONYMOUS_USER_NAME=None,
-                   SERIALIZER_CACHE=False,
-                   UPDATE_REVIEW=False
-                   )
+# override config loading
+config = {
+    # add the packages to the reference list
+    'ldppackages': ['djangoldp_account', 'djangoldp_conversation', 'djangoldp_like', 'coopstarter_data', 'coopstarter_data.tests'],
+
+    # required values for server
+    'server': {
+        'AUTH_USER_MODEL': 'tests.User',
+        'REST_FRAMEWORK': {
+            'DEFAULT_PAGINATION_CLASS': 'djangoldp.pagination.LDPPagination',
+            'PAGE_SIZE': 5
+        },
+        # map the config of the core settings (avoid asserts to fail)
+        'SITE_URL': 'http://happy-dev.fr',
+        'BASE_URL': 'http://happy-dev.fr',
+        'SEND_BACKLINKS': False,
+        'JABBER_DEFAULT_HOST': None,
+        'PERMISSIONS_CACHE': False,
+        'ANONYMOUS_USER_NAME': None,
+        'SERIALIZER_CACHE': False,
+        'UPDATE_REVIEW': False
+    }
+}
+ldpsettings = LDPSettings(config)
+ldpsettings.config = yaml.safe_load(yaml_config)
+
+django_settings.configure(ldpsettings)
 
 django.setup()
 from django.test.runner import DiscoverRunner
diff --git a/setup.cfg b/setup.cfg
index c9cbeafca1fa1693907d594636aaa5508856b51f..9dc3d1dcaa68f6cb7704d75e91e60e7af4eeafaa 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -16,6 +16,9 @@ packages = find:
 install_requires =
     djangoldp>=2.0.0
     djangoldp_conversation>=2.0.0
+    djangoldp_account>=2.0.0
+    djangoldp_like>=0.0.0
+    djangoldp_i18n>=2.0.0
     
 [options.extras_require]
 dev =