Repository : http://git.fedorahosted.org/git/?p=conga-luci-1stgen.git
On branch : RHEL5-active
>---------------------------------------------------------------
commit c90556211a3853d101fef2c1c831bfc66822ab9e
Author: Jan Pokorný <jpokorny(a)redhat.com>
Date: Fri Apr 25 16:40:44 2014 +0200
luci/MAINTAINERS.rst: desing incl. approximate MVC decomposition
Signed-off-by: Jan Pokorný <jpokorny(a)redhat.com>
>---------------------------------------------------------------
luci/MAINTAINERS.rst | 58 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/luci/MAINTAINERS.rst b/luci/MAINTAINERS.rst
index 52a6aab..fe0d806 100644
--- a/luci/MAINTAINERS.rst
+++ b/luci/MAINTAINERS.rst
@@ -180,8 +180,62 @@ Sidelink: http://jone.github.io/plone-hotfixes/
Briefly on the design
=====================
-Common template flow structure
-------------------------------
+Commons
+-------
+
+There are 4 main logical/navigational sections (further denoted X'):
+- cluster
+- homebase
+- storage
+- logs
+
+With X, we denote X' \ {logs} as this is a "weak" section.
+
+There is an attempt after MVC model but falls short, as the templates
+(view) is becoming the master triggering processing of both outgoing
+("lazy" templates content) and incoming (handling the requested and
+previously offered actions).
+
+Common section entry point is index_html which then, while pulling
+data it needs to work with, triggers further execution in the controller
+or model layer. Usually, the particular screen under section is
+distinguished with "pagetype" attribute according to which the
+particular macro(s) from <X>/form-macros are chosen in <X>/form-chooser
+
+Let's decompose the files using MVC lense:
+- model: data (persistent) objects and apart from that, cluster model
+ representing particular cluster.conf
+ - files for cluster model:
+ - site/luci/Extensions/ClusterModel/*
+ - files for persisted objects:
+ - site/luci/Products/ManagedSystem/*
+ - Data.fs as a storage, manipulators are native to Zope environment
+- view: templates
+ - located in <X'>/* (index_html et al.)
+- controller: various Python files
+ - adapters: between the template and helpers to delegate processing to
+ - site/luci/Extensions/<X>_adapters.py
+ (there is also system_adapters.py)
+ - also serves for back-end validation
+ - mediator between model/persistence layer and controller
+ - site/luci/Extensions/LuciDB.py
+ - incoming requests/action handler
+ - site/luci/Extensions/LuciClusterActions.py
+ - good to start with backtracing from where which action can be
+ triggered
+ - related communication part:
+ - site/luci/Extensions/RicciQueries.py
+ - site/luci/Extensions/ricci_communicator.py
+ - outgoing responses/template content handler
+ - site/luci/Extensions/LuciClusterInfo.py
+ - site/luci/Extensions/LuciZopeClusterPortal.py
+
+Other notable files:
+- site/luci/Extensions/LuciZopeExternal.py:
+ packs everything to be used within templates
+
+Homebase template flow structure (for example)
+----------------------------------------------
1. {X = cluster,homebase,storage}/index_html defers to
2a. site/luci/Extensions/<X>_adapters.py:<X>Control that, in turn,
Repository : http://git.fedorahosted.org/git/?p=conga-luci-1stgen.git
On branch : RHEL5-active
>---------------------------------------------------------------
commit a094ae3981611494e2a75ffab2ae4b0f325093dc
Author: Jan Pokorný <jpokorny(a)redhat.com>
Date: Wed Apr 23 23:09:15 2014 +0200
luci/MAINTAINERS.rst: add a link wrt. Zope/Plone fixes
Signed-off-by: Jan Pokorný <jpokorny(a)redhat.com>
>---------------------------------------------------------------
luci/MAINTAINERS.rst | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/luci/MAINTAINERS.rst b/luci/MAINTAINERS.rst
index 4e6b4f4..52a6aab 100644
--- a/luci/MAINTAINERS.rst
+++ b/luci/MAINTAINERS.rst
@@ -174,6 +174,8 @@ a standalone archive, otherwise[<--NEW] added in a form of patches
Zope/Plone itself is not directly included but rather downloaded on demand.
+Sidelink: http://jone.github.io/plone-hotfixes/
+
Briefly on the design
=====================
Repository : http://git.fedorahosted.org/git/?p=conga-luci-1stgen.git
On branch : RHEL5-active
>---------------------------------------------------------------
commit 6f9874602585b1df1ad55ac46933f9d2c6f323b0
Author: Jan Pokorný <jpokorny(a)redhat.com>
Date: Wed Apr 23 22:18:52 2014 +0200
luci/MAINTAINERS.rst: add "Briefly on the design" section
Signed-off-by: Jan Pokorný <jpokorny(a)redhat.com>
>---------------------------------------------------------------
luci/MAINTAINERS.rst | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/luci/MAINTAINERS.rst b/luci/MAINTAINERS.rst
index dcd7bd6..4e6b4f4 100644
--- a/luci/MAINTAINERS.rst
+++ b/luci/MAINTAINERS.rst
@@ -173,3 +173,33 @@ a standalone archive, otherwise[<--NEW] added in a form of patches
-- these are also the only patches expected to be found in the repo tree.
Zope/Plone itself is not directly included but rather downloaded on demand.
+
+
+Briefly on the design
+=====================
+
+Common template flow structure
+------------------------------
+
+1. {X = cluster,homebase,storage}/index_html defers to
+2a. site/luci/Extensions/<X>_adapters.py:<X>Control that, in turn,
+ points to
+3a. <X>ControlPost (when processint POST requests) and <X>Portal;
+ the latter propagates back to and is returned from
+2a. site/luci/Extensions/<X>_adapters.py:<X>Control and
+1. (in an abusive manner) injected to "css_slot" in <X>/index_html
+ to penultimately inject some Python data to the processing stream
+ so as to feed
+3b. <X>/portlet_<X> that feeds
+2b. <X>/<X>_portlet_fetcher that, finally, feeds
+1. <X>/index_html (left_column, ...)
+ (the circle of near insanity is closed, thank you)
+
+Validation
+----------
+
+Two levels:
+1. pre-post: Javascript: <X>/validate_XXX_YYY.js
+2. after-post: Python: site/luci/Extensions/<X>_adapters.py:validateXXXYYY
+ - effectively (and unfortunately), these (often) alias with handlers
+ of the user-initiated event
Repository : http://git.fedorahosted.org/git/?p=conga-luci-1stgen.git
On branch : RHEL5-active
>---------------------------------------------------------------
commit 7835799825ca433b65dec472fc1efbd5ed9e32d3
Author: Jan Pokorný <jpokorny(a)redhat.com>
Date: Wed Apr 9 22:46:23 2014 +0200
luci/MAINTAINERS.rst: refresh with new observations
Signed-off-by: Jan Pokorný <jpokorny(a)redhat.com>
>---------------------------------------------------------------
luci/MAINTAINERS.rst | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/luci/MAINTAINERS.rst b/luci/MAINTAINERS.rst
index 14855fb..dcd7bd6 100644
--- a/luci/MAINTAINERS.rst
+++ b/luci/MAINTAINERS.rst
@@ -145,6 +145,9 @@ contains the targets dedicated to import and export (named exactly like this).
So just stick with these targets, or specify `FILES` variable for
file system -> `Data.fs` direction.
+Note that the `load_site.py` worker used (behind the curtain) to import
+files to `Data.fs` requires running luci.
+
Making modified Data.fs ready for distribution (IMPORTANT)
==========================================================
@@ -164,8 +167,9 @@ Should you have previously enabled "manager's mode" (by invoking
Zope/Plone Fixes
================
-This should be added in a form of patches -- these are also the only patches
-expected to be found in the repo tree.
+This should be[NEW-->] preferrably added as separate sources unpack under
+analogy of `/var/lib/luci/Products` when originally distributed in
+a standalone archive, otherwise[<--NEW] added in a form of patches
+-- these are also the only patches expected to be found in the repo tree.
-The reason is that Zope/Plone is not directly included but rather downloaded
-on demand.
+Zope/Plone itself is not directly included but rather downloaded on demand.