From 03808e4f5ce5d95ea0c9c4440c6460ed5517a283 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Thu, 10 Sep 2020 12:55:15 +0200
Subject: [PATCH] DistrictResponsibles: extended documentation

---
 .../DistrictResponsible_entity.aod                |  1 +
 .../collecteddistrictids_param/documentation.adoc | 15 +++++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/documentation.adoc

diff --git a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
index c5073fa41f..0bc19e1860 100644
--- a/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
+++ b/entity/DistrictResponsible_entity/DistrictResponsible_entity.aod
@@ -178,6 +178,7 @@
     <entityParameter>
       <name>CollectedDistrictIds_param</name>
       <valueProcess>%aditoprj%/entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/valueProcess.js</valueProcess>
+      <documentation>%aditoprj%/entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/documentation.adoc</documentation>
     </entityParameter>
     <entityField>
       <name>MAIL</name>
diff --git a/entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/documentation.adoc b/entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/documentation.adoc
new file mode 100644
index 0000000000..cad2d37316
--- /dev/null
+++ b/entity/DistrictResponsible_entity/entityfields/collecteddistrictids_param/documentation.adoc
@@ -0,0 +1,15 @@
+Non exposed parameter that collects the districtIds for the given value of `OrgUid_param`.
+
+Advantages of encapsulation as a non exposed param:
+
+* one interface to other entities (e.g. the Organisation_entity)
+* logic for collecting districtIds is done within the `DistrictResponsible_entity` scope which means
+other entities don't have to collect the IDs themselfes. For example:
+The `Organisation_entity` doesn't have to collect the IDs because the `DistrictResponsible_entity` 
+_knows_ how to collect them.
+* the value of this `CollectedDistrictIds_param` can be passed to the `cacheKeyProcess` 
+(this enables us for example to cache district responsibles per Districtlist and not per Oranisation)
+* Calculation of the affected districtIds only when needed. For example: 
+The DistrictIds are not loaded when an Organisation is opened but when the 
+consumer data for the `DistrictResponsible_entity` is loaded 
+(=when the user changes the into the district responsibles tab)
\ No newline at end of file
-- 
GitLab