summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/DesignDocument-classes.dot102
-rw-r--r--docs/DesignDocument.md5
2 files changed, 75 insertions, 32 deletions
diff --git a/docs/DesignDocument-classes.dot b/docs/DesignDocument-classes.dot
index c91f7b1..deaee46 100644
--- a/docs/DesignDocument-classes.dot
+++ b/docs/DesignDocument-classes.dot
@@ -2,7 +2,6 @@ digraph systemModel {
rankdir="LR";
splines="line";
- /*
subgraph _clusterModels {
label="Models"
node[shape="record"];
@@ -15,7 +14,6 @@ digraph systemModel {
Team[label="<main> Team"];
User[label="<main> User | <attr_role> role | <attr_pw> password hash"];
}
- */
subgraph _clusterViews {
label="views/";
@@ -193,33 +191,75 @@ digraph systemModel {
}
*/
- subgraph controller2view {
- MainController:index -> main_homepage;
- MainController:edit -> main_edit -> MainController:update -> main_edit;
-
- #LoginController:login -> common_permission_denied;
- #LoginController:logout -> common_invalid;
-
- SearchController:show_results -> search_results;
-
- MessagesController:new_alert -> messages_new_alert -> MessagesController:post_alert;
- MessagesController:show_private -> messages_private -> MessagesController:post_private -> messages_private;
-
- TournamentsController:index -> tournaments_index;
- TournamentsController:show -> tournaments_show;
- TournamentsController:new -> tournaments_new -> TournamentsController:create -> tournaments_edit -> TournamentsController:end;
- TournamentsController:edit -> tournaments_edit -> TournamentsController:update -> tournaments_edit;
-
- MatchesController:show -> matches_show;
- MatchesController:edit -> matches_edit -> MatchesController:update -> matches_edit;
-
- TeamsController:index -> teams_index;
- TeamsController:show -> teams_show;
- TeamsController:edit -> teams_edit -> TeamsController:update -> teams_edit;
-
- UsersController:index -> users_index;
- UsersController:show -> users_show;
- UsersController:new -> users_new -> UsersController:create -> users_edit -> UsersController:delete;
- UsersController:edit -> users_edit -> UsersController:update -> users_edit;
- }
+ ###################################################################
+ # controller/view relations
+ ###################################################################
+ MainController:index -> main_homepage;
+ MainController:edit -> main_edit -> MainController:update -> main_edit;
+
+ #LoginController:login -> common_permission_denied;
+ #LoginController:logout -> common_invalid;
+
+ SearchController:show_results -> search_results;
+
+ MessagesController:new_alert -> messages_new_alert -> MessagesController:post_alert;
+ MessagesController:show_private -> messages_private -> MessagesController:post_private -> messages_private;
+
+ TournamentsController:index -> tournaments_index;
+ TournamentsController:show -> tournaments_show;
+ TournamentsController:new -> tournaments_new -> TournamentsController:create -> tournaments_edit -> TournamentsController:end;
+ TournamentsController:edit -> tournaments_edit -> TournamentsController:update -> tournaments_edit;
+
+ MatchesController:show -> matches_show;
+ MatchesController:edit -> matches_edit -> MatchesController:update -> matches_edit;
+
+ TeamsController:index -> teams_index;
+ TeamsController:show -> teams_show;
+ TeamsController:edit -> teams_edit -> TeamsController:update -> teams_edit;
+
+ UsersController:index -> users_index;
+ UsersController:show -> users_show;
+ UsersController:new -> users_new -> UsersController:create -> users_edit -> UsersController:delete;
+ UsersController:edit -> users_edit -> UsersController:update -> users_edit;
+
+ ###################################################################
+ # controller/model relations
+ ###################################################################
+ Server -> MainController:edit;
+ MainController:update -> Server;
+
+ User -> LoginController:login;
+
+ Tournament -> SearchController:show_results;
+ Match -> SearchController:show_results;
+ Team -> SearchController:show_results;
+ User -> SearchController:show_results;
+
+ Tournament -> TournamentsController:index;
+ Tournament -> TournamentsController:show;
+ Match -> TournamentsController:show;
+ Tournament -> TournamentsController:edit;
+ TournamentsController:create -> Tournament;
+ TournamentsController:update -> Tournament;
+ TournamentsController:end -> Tournament;
+
+ Match -> MatchesController:index;
+ Match -> MatchesController:show;
+ Team -> MatchesController:show;
+ User -> MatchesController:show;
+ Match -> MatchesController:edit;
+ MatchesController:update -> Match;
+
+ Team -> TeamsController:index;
+ Team -> TeamsController:show;
+ User -> TeamsController:show;
+ Team -> TeamsController:edit;
+ TeamsController:update -> Team;
+
+ User -> UsersController:index;
+ User -> UsersController:show;
+ User -> UsersController:edit;
+ UsersController:create -> User;
+ UsersController:update -> User;
+ UsersController:delete -> User;
}
diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md
index 61a5767..7f12c66 100644
--- a/docs/DesignDocument.md
+++ b/docs/DesignDocument.md
@@ -400,6 +400,9 @@ does not show interactions with the `User` model that solely check
authorization to perform an action. It does not show controller
methods calling the error views. It shows transitions from a view to
a controller *only* when that is the *primary* purpose of the view; many
-workflows can be interupted at any time.
+workflows can be interupted at any time. Arrows betwen models and
+controllers indicate which direction data is flowing. Any data
+flowing from a model to the method of a controller is implicitly
+passed to the view that method renders.
![](DesignDocument-classes.pdf)\