summaryrefslogtreecommitdiff
path: root/Architecture_and_Design
diff options
context:
space:
mode:
authorJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2011-10-25 19:06:33 (GMT)
committerJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2011-10-25 19:06:33 (GMT)
commita7e0972f3b8c2382e5823275a010faa6a786f4c4 (patch)
tree18d40d3bcd9f26b4ae74cbe7df4afc4276aca08a /Architecture_and_Design
parente527438679a95c1cd951b804747f98fce54698d5 (diff)
downloadkolab-docs-a7e0972f3b8c2382e5823275a010faa6a786f4c4.tar.gz
Update Architecture and Design documentation and add files
Diffstat (limited to 'Architecture_and_Design')
-rw-r--r--Architecture_and_Design/Makefile5
-rw-r--r--Architecture_and_Design/en-US/.Terminology.xml.kate-swpbin223 -> 0 bytes
-rw-r--r--Architecture_and_Design/en-US/Architecture_and_Design.ent3
-rw-r--r--Architecture_and_Design/en-US/Authentication_amp_Authorization.xml2
-rw-r--r--Architecture_and_Design/en-US/Book_Info.xml4
-rw-r--r--Architecture_and_Design/en-US/Kolab_Server_Overview.xml2
-rw-r--r--Architecture_and_Design/en-US/Terminology.xml113
-rw-r--r--Architecture_and_Design/en-US/images/Design Basics - 000 - no step.pngbin0 -> 3903 bytes
-rw-r--r--Architecture_and_Design/en-US/images/Design Basics - 001 - authentication step.pngbin0 -> 4877 bytes
-rw-r--r--Architecture_and_Design/en-US/images/Design Basics - 002 - kolab step.pngbin0 -> 4391 bytes
-rw-r--r--Architecture_and_Design/en-US/images/Design Basics - 003 - application step.pngbin0 -> 4802 bytes
-rw-r--r--Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.diabin0 -> 1246 bytes
-rw-r--r--Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.pngbin0 -> 7698 bytes
-rw-r--r--Architecture_and_Design/en-US/images/high_availability-node_or_service_level_replication-hot_failover.pngbin0 -> 5157 bytes
-rw-r--r--Architecture_and_Design/en-US/images/high_availability-storage_level_replication-cold_failover.pngbin0 -> 5029 bytes
-rw-r--r--Architecture_and_Design/en-US/images/icon.svg19
-rw-r--r--Architecture_and_Design/en-US/images/kolab_deployment_overview-large_scale.pngbin0 -> 16627 bytes
-rw-r--r--Architecture_and_Design/en-US/images/kolab_server-primary_components-overview.pngbin0 -> 7602 bytes
-rw-r--r--Architecture_and_Design/en-US/images/title_logo.pngbin0 -> 10196 bytes
-rw-r--r--Architecture_and_Design/en-US/images/traditional_kolab_deployment.pngbin0 -> 26069 bytes
20 files changed, 138 insertions, 10 deletions
diff --git a/Architecture_and_Design/Makefile b/Architecture_and_Design/Makefile
index 1b800b6..618f474 100644
--- a/Architecture_and_Design/Makefile
+++ b/Architecture_and_Design/Makefile
@@ -1,10 +1,11 @@
PACKAGE = "Architecture_and_Design"
all: clean clean_ids
- @publican build --langs=en-US --formats=pdf,html,html-single
+ @publican build --embedtoc --publish --langs=en-US --formats=html,html-single,pdf
+ @publican install_book --site_config=../site.cfg --lang=en-US
upload: all
- @rsync -aHvz tmp/en-US/{html,html-single,pdf} hosted.kolabsys.com:./public_html/kolab-2.4-docs/$(PACKAGE)/
+ @rsync -aHvz publish/en-US/ hosted.kolabsys.com:./public_html/kolab-docs/
clean:
@publican clean
diff --git a/Architecture_and_Design/en-US/.Terminology.xml.kate-swp b/Architecture_and_Design/en-US/.Terminology.xml.kate-swp
deleted file mode 100644
index 1e4e988..0000000
--- a/Architecture_and_Design/en-US/.Terminology.xml.kate-swp
+++ /dev/null
Binary files differ
diff --git a/Architecture_and_Design/en-US/Architecture_and_Design.ent b/Architecture_and_Design/en-US/Architecture_and_Design.ent
index 3691c08..79799e9 100644
--- a/Architecture_and_Design/en-US/Architecture_and_Design.ent
+++ b/Architecture_and_Design/en-US/Architecture_and_Design.ent
@@ -1,4 +1,5 @@
-<!ENTITY PRODUCT "Kolab">
+<!ENTITY PRODUCT "Kolab Groupware">
+<!ENTITY PRODUCT_VERSION "2.4">
<!ENTITY BOOKID "Architecture_and_Design">
<!ENTITY YEAR "2011">
<!ENTITY HOLDER "Kolab Systems AG">
diff --git a/Architecture_and_Design/en-US/Authentication_amp_Authorization.xml b/Architecture_and_Design/en-US/Authentication_amp_Authorization.xml
index c36164e..aab178b 100644
--- a/Architecture_and_Design/en-US/Authentication_amp_Authorization.xml
+++ b/Architecture_and_Design/en-US/Authentication_amp_Authorization.xml
@@ -76,7 +76,7 @@
</step>
<step>
<para>
- The server issues an <xref linkend="form-Architecture_and_Design-Terminology-Mailfolder" /> LDAP for the LDAP object using the configured <xref linkend="form-Architecture_and_Design-Terminology-Base_DN" />, <xref linkend="form-Architecture_and_Design-Terminology-Search_Scope" /> and <xref linkend="form-Architecture_and_Design-Terminology-Search_Filter" />, and using the <xref linkend="form-Architecture_and_Design-Terminology-Distinguished_Name" /> of the LDAP object found, attempts to either <code>bind()</code> or <code>fast_bind()</code> using the distinguished name and the supplied <xref linkend="form-Architecture_and_Design-Terminology-Authentication_Password" />.
+ The server issues an <xref linkend="form-Architecture_and_Design-Terminology-Mailfolder" /> LDAP for the LDAP object using the configured <xref linkend="form-Architecture_and_Design-Terminology-Bind_Credentials" />, <xref linkend="form-Architecture_and_Design-Terminology-Search_Scope" /> and <xref linkend="form-Architecture_and_Design-Terminology-Search_Filter" />, and using the <xref linkend="form-Architecture_and_Design-Terminology-Distinguished_Name" /> of the LDAP object found, attempts to either <code>bind()</code> or <code>fast_bind()</code> using the distinguished name and the supplied <xref linkend="form-Architecture_and_Design-Terminology-Authentication_Password" />.
</para>
</step>
diff --git a/Architecture_and_Design/en-US/Book_Info.xml b/Architecture_and_Design/en-US/Book_Info.xml
index 4cea8da..4b40831 100644
--- a/Architecture_and_Design/en-US/Book_Info.xml
+++ b/Architecture_and_Design/en-US/Book_Info.xml
@@ -5,8 +5,8 @@
]>
<bookinfo id="book-Architecture_and_Design-Architecture_and_Design">
<title>Architecture and Design</title>
- <productname>Kolab</productname>
- <productnumber>3.0</productnumber>
+ <productname>Kolab Groupware</productname>
+ <productnumber>2.4</productnumber>
<edition>0</edition>
<pubsnumber>0</pubsnumber>
<abstract>
diff --git a/Architecture_and_Design/en-US/Kolab_Server_Overview.xml b/Architecture_and_Design/en-US/Kolab_Server_Overview.xml
index 46f6a72..74f0149 100644
--- a/Architecture_and_Design/en-US/Kolab_Server_Overview.xml
+++ b/Architecture_and_Design/en-US/Kolab_Server_Overview.xml
@@ -14,7 +14,7 @@
<formalpara id="form-Architecture_and_Design-Kolab_Server_Overview-Authentication_and_Authorization_Database">
<title>Authentication and Authorization Database</title>
<para>
- The authentication database is the canonical source for information about users and groups, and is used to authenticate and authorize users &ndash;amongst other things. Traditionally, Kolab Groupware has been designed based on LDAP specific capabilities &ndash;more specifically, in fact, it has been based on OpenLDAP specific capabilities&ndash; but virtually any authentication and authorization method and/or technology is eligible to work for Kolab, including, but not limited to;
+ The authentication database is the canonical source for information about users and groups, and is used to authenticate and authorize users &ndash;among other things. Traditionally, Kolab Groupware has been designed based on LDAP specific capabilities &ndash;more specifically, in fact, it has been based on OpenLDAP specific capabilities&ndash; but virtually any authentication and authorization method and/or technology is eligible to work for Kolab, including, but not limited to;
</para>
</formalpara>
diff --git a/Architecture_and_Design/en-US/Terminology.xml b/Architecture_and_Design/en-US/Terminology.xml
index 3f15447..09efbc4 100644
--- a/Architecture_and_Design/en-US/Terminology.xml
+++ b/Architecture_and_Design/en-US/Terminology.xml
@@ -50,10 +50,31 @@
<formalpara id="form-Architecture_and_Design-Terminology-Base_DN">
<title>Base DN</title>
<para>
- TODO
+ An LDAP <xref linkend="form-Architecture_and_Design-Terminology-Base_DN" />, as opposed to the LDAP <xref linkend="form-Architecture_and_Design-Terminology-Root_DN" /> is the start position of an <xref linkend="form-Architecture_and_Design-Terminology-LDAP_Search" /> operation.
+ </para>
+
+ </formalpara>
+ <para>
+ The search results will be limited to LDAP objects residing at or under the nesting level of the <xref linkend="form-Architecture_and_Design-Terminology-Base_DN" />. A list of LDAP objects in <emphasis>ou=People,dc=example,dc=org</emphasis> can thus easily be obtained using the <xref linkend="form-Architecture_and_Design-Terminology-Base_DN" /> to restrict the search:
+ </para>
+ <para>
+
+<screen>$ <userinput>ldapsearch -x -b "ou=People,dc=example,dc=org"</userinput></screen>
+
+ </para>
+ <formalpara id="form-Architecture_and_Design-Terminology-Bind_Credentials">
+ <title>Bind Credentials</title>
+ <para>
+ Bind credentials are used with LDAP to elevate privileges beyond those typically associated with the term <emphasis>anonymous</emphasis>. Bind credentials usually add certain additional privileges to the connection, such as the modification of one's <emphasis>self</emphasis> attributes, possibly including one's LDAP object <literal>userPassword</literal> attribute.
</para>
</formalpara>
+ <para>
+ Privileges associated with bind credentials can also make sure restrictions applied to normal users do not apply to service users. In large LDAP directory trees for example, <xref linkend="form-Architecture_and_Design-Terminology-Virtual_List_View_Control" /> can be used to browse the directory, and the credentials used by services may have been authorized to use the corresponding indexes and searches. Also, the LDAP object associated with the service's bind credentials may have been configured with a different search limit and/or search timeout.
+ </para>
+ <para>
+ Most LDAP implementations have specific <xref linkend="form-Architecture_and_Design-Terminology-Bind_Credentials" /> dedicated to server administration, often called <emphasis>Directory Manager</emphasis>, <emphasis>admin</emphasis> or, in case of OpenLDAP, confusingly <emphasis>rootdn</emphasis> referring to the <xref linkend="form-Architecture_and_Design-Terminology-Distinguished_Name" /> with 'root' privileges rather then the <xref linkend="form-Architecture_and_Design-Terminology-Root_DN" />.
+ </para>
<formalpara id="form-Architecture_and_Design-Terminology-Distinguished_Name">
<title>Distinguished Name</title>
<para>
@@ -220,13 +241,68 @@
</para>
</formalpara>
+ <formalpara id="form-Architecture_and_Design-Terminology-LDAP_Access_Control">
+ <title>LDAP Access Control</title>
+ <para>
+ TODO
+ </para>
+
+ </formalpara>
<formalpara id="form-Architecture_and_Design-Terminology-LDAP_Search">
<title>LDAP Search</title>
<para>
- TODO
+ An LDAP Search consists for the following;
</para>
</formalpara>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="form-Architecture_and_Design-Terminology-Bind_Credentials" />
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="form-Architecture_and_Design-Terminology-Search_Scope" />
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="form-Architecture_and_Design-Terminology-Search_Filter" />
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
+ <para>
+ Additionally, the results of an LDAP Search are subject to;
+ </para>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="form-Architecture_and_Design-Terminology-Bind_Credentials" />
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="form-Architecture_and_Design-Terminology-LDAP_Access_Control" />
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+
+ </para>
<formalpara id="form-Architecture_and_Design-Terminology-Mailbox">
<title>Mailbox</title>
<para>
@@ -272,10 +348,34 @@
<formalpara id="form-Architecture_and_Design-Terminology-Search_Scope">
<title>Search Scope</title>
<para>
- TODO
+ Three search scopes exist:
</para>
</formalpara>
+ <para>
+ <orderedlist>
+ <listitem>
+ <para>
+ base
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ one
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ sub
+ </para>
+
+ </listitem>
+
+ </orderedlist>
+
+ </para>
<formalpara id="form-Architecture_and_Design-Terminology-Transport_Layer_Security_TLS">
<title>Transport Layer Security (TLS)</title>
<para>
@@ -283,6 +383,13 @@
</para>
</formalpara>
+ <formalpara id="form-Architecture_and_Design-Terminology-Virtual_List_View_Control">
+ <title>Virtual List View Control</title>
+ <para>
+ TODO
+ </para>
+
+ </formalpara>
<formalpara id="form-Architecture_and_Design-Terminology-Unqualified_User_Identifier">
<title>Unqualified User Identifier</title>
<para>
diff --git a/Architecture_and_Design/en-US/images/Design Basics - 000 - no step.png b/Architecture_and_Design/en-US/images/Design Basics - 000 - no step.png
new file mode 100644
index 0000000..e1928dd
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Design Basics - 000 - no step.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/Design Basics - 001 - authentication step.png b/Architecture_and_Design/en-US/images/Design Basics - 001 - authentication step.png
new file mode 100644
index 0000000..d0c12fe
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Design Basics - 001 - authentication step.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/Design Basics - 002 - kolab step.png b/Architecture_and_Design/en-US/images/Design Basics - 002 - kolab step.png
new file mode 100644
index 0000000..998c871
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Design Basics - 002 - kolab step.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/Design Basics - 003 - application step.png b/Architecture_and_Design/en-US/images/Design Basics - 003 - application step.png
new file mode 100644
index 0000000..705f362
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Design Basics - 003 - application step.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.dia b/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.dia
new file mode 100644
index 0000000..d73d521
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.dia
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.png b/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.png
new file mode 100644
index 0000000..f1645fb
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/Problem Statement - 000 - online social networks.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/high_availability-node_or_service_level_replication-hot_failover.png b/Architecture_and_Design/en-US/images/high_availability-node_or_service_level_replication-hot_failover.png
new file mode 100644
index 0000000..95a5b05
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/high_availability-node_or_service_level_replication-hot_failover.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/high_availability-storage_level_replication-cold_failover.png b/Architecture_and_Design/en-US/images/high_availability-storage_level_replication-cold_failover.png
new file mode 100644
index 0000000..14eb7d2
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/high_availability-storage_level_replication-cold_failover.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/icon.svg b/Architecture_and_Design/en-US/images/icon.svg
new file mode 100644
index 0000000..b2f16d0
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/icon.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="32" height="32" id="svg3017">
+ <defs id="defs3019">
+ <linearGradient id="linearGradient2381">
+ <stop id="stop2383" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop2385" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="296.4996" y1="188.81061" x2="317.32471" y2="209.69398" id="linearGradient2371" xlink:href="#linearGradient2381" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"/>
+ </defs>
+ <g transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)" id="g5089">
+ <path d="m 8.4382985,-6.28125 c -0.6073916,0 -4.3132985,5.94886271 -4.3132985,8.25 l 0,26.71875 c 0,0.846384 0.5818159,1.125 1.15625,1.125 l 25.5625,0 c 0.632342,0 1.125001,-0.492658 1.125,-1.125 l 0,-5.21875 0.28125,0 c 0.49684,0 0.906249,-0.409411 0.90625,-0.90625 l 0,-27.9375 c 0,-0.4968398 -0.40941,-0.90625 -0.90625,-0.90625 l -23.8117015,0 z" transform="translate(282.8327,227.1903)" id="path5091" style="fill:#5c5c4f;stroke:#000000;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"/>
+ <rect width="27.85074" height="29.369793" rx="1.1414107" ry="1.1414107" x="286.96509" y="227.63805" id="rect5093" style="fill:#032c87"/>
+ <path d="m 288.43262,225.43675 25.2418,0 0,29.3698 -26.37615,0.0241 1.13435,-29.39394 z" id="rect5095" style="fill:#ffffff"/>
+ <path d="m 302.44536,251.73726 c 1.38691,7.85917 -0.69311,11.28365 -0.69311,11.28365 2.24384,-1.60762 3.96426,-3.47694 4.90522,-5.736 0.96708,2.19264 1.83294,4.42866 4.27443,5.98941 0,0 -1.59504,-7.2004 -1.71143,-11.53706 l -6.77511,0 z" id="path5097" style="fill:#a70000;fill-opacity:1;stroke-width:2"/>
+ <rect width="25.241802" height="29.736675" rx="0.89682275" ry="0.89682275" x="290.73544" y="220.92249" id="rect5099" style="fill:#809cc9"/>
+ <path d="m 576.47347,725.93939 6.37084,0.41502 0.4069,29.51809 c -1.89202,-1.31785 -6.85427,-3.7608 -8.26232,-1.68101 l 0,-26.76752 c 0,-0.82246 0.66212,-1.48458 1.48458,-1.48458 z" transform="matrix(0.499065,-0.866565,0,1,0,0)" id="rect5101" style="fill:#4573b3;fill-opacity:1"/>
+ <path d="m 293.2599,221.89363 20.73918,0 c 0.45101,0 0.8141,0.3631 0.8141,0.81411 0.21547,6.32836 -19.36824,21.7635 -22.36739,17.59717 l 0,-17.59717 c 0,-0.45101 0.3631,-0.81411 0.81411,-0.81411 z" id="path5103" style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"/>
+ </g>
+</svg>
diff --git a/Architecture_and_Design/en-US/images/kolab_deployment_overview-large_scale.png b/Architecture_and_Design/en-US/images/kolab_deployment_overview-large_scale.png
new file mode 100644
index 0000000..3d50c8b
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/kolab_deployment_overview-large_scale.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/kolab_server-primary_components-overview.png b/Architecture_and_Design/en-US/images/kolab_server-primary_components-overview.png
new file mode 100644
index 0000000..c824b09
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/kolab_server-primary_components-overview.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/title_logo.png b/Architecture_and_Design/en-US/images/title_logo.png
new file mode 100644
index 0000000..1da26c7
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/title_logo.png
Binary files differ
diff --git a/Architecture_and_Design/en-US/images/traditional_kolab_deployment.png b/Architecture_and_Design/en-US/images/traditional_kolab_deployment.png
new file mode 100644
index 0000000..7a24f74
--- /dev/null
+++ b/Architecture_and_Design/en-US/images/traditional_kolab_deployment.png
Binary files differ