Difference between revisions of "WikiCMSHowItWorks"

From BITPlan Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Link|target=MediaWiki:Frame.rythm}}
+
= Definition of Design =
 +
A {{Link|target=Rythm}} template is used to define the design of the frontend:
 +
e.g. {{Link|target=MediaWiki:Frame.rythm}}
 +
# the design will have the "Framing" html code for the webpages
 +
# if the backend is a Semantic MediaWiki it will allow to use semantic information from the pages for the frontend
 +
# CSS and other styling can be included
 +
 
 +
= WikiCMS server =
 +
The Java frontend is available as an Open Source Project at
 +
https://github.com/BITPlan/com.bitplan.wikifrontend
 +
 
 +
= WikiCMS extension =
 +
To integrate the frontend with your Mediawiki Backend an extension is in preparation.
 +
It is available as an Open Source project at:
 +
https://github.com/BITPlan/WikiCMS
 +
== Functions of the WikiCMS extension ==
 
<graphviz>
 
<graphviz>
 
digraph checks {
 
digraph checks {
   Java [ label='is java installed?' ]
+
   Java [ label="is java installed?" ]
 
   CMSFrontend
 
   CMSFrontend
 
   Java->CMSFrontend
 
   Java->CMSFrontend
 +
  CMSFrontend -> WikiBackend [ label="is the backend server running?" ]
 
}
 
}
 
</graphviz>
 
</graphviz>
 +
= Post Handling =
 +
When a form in the backend wants to handle a Post result it needs to communicate with the Frontend server. The followings steps are necessary
 +
# The backend registers a PostHandler via the getPostToken function and assigns a form field with a given name to hold the postToken 
 +
# when the form is posted e.g. via submit the the form fields are transmitted to the frontend's post handler
 +
# the frontend looks up the PostHandler by getting the postToken from the field with the given tokenFieldName
 +
# the frontend calls the PostHandler with the MultiValuedMap of form parameters
 +
# the backend remembers the values of the form parameters
 +
# the frontend calls gets the backend page and integrates it into the given frame
 +
<graphviz>
 +
digraph post {
 +
  Backend -> Frontend [ label="1. getPostToken" ]
 +
  Backend -> Frontend [ label="2. submit" ]
 +
  Frontend -> Backend [ label="3. call PostHandler" ]
 +
  Frontend -> Backend [ label="4. get Page" ]
 +
}
 +
</graphviz>
 +
[[Category:frontend]]

Latest revision as of 13:53, 13 January 2018

Definition of Design

A Rythm template is used to define the design of the frontend: e.g. MediaWiki:Frame.rythm

  1. the design will have the "Framing" html code for the webpages
  2. if the backend is a Semantic MediaWiki it will allow to use semantic information from the pages for the frontend
  3. CSS and other styling can be included

WikiCMS server

The Java frontend is available as an Open Source Project at https://github.com/BITPlan/com.bitplan.wikifrontend

WikiCMS extension

To integrate the frontend with your Mediawiki Backend an extension is in preparation. It is available as an Open Source project at: https://github.com/BITPlan/WikiCMS

Functions of the WikiCMS extension

Post Handling

When a form in the backend wants to handle a Post result it needs to communicate with the Frontend server. The followings steps are necessary

  1. The backend registers a PostHandler via the getPostToken function and assigns a form field with a given name to hold the postToken
  2. when the form is posted e.g. via submit the the form fields are transmitted to the frontend's post handler
  3. the frontend looks up the PostHandler by getting the postToken from the field with the given tokenFieldName
  4. the frontend calls the PostHandler with the MultiValuedMap of form parameters
  5. the backend remembers the values of the form parameters
  6. the frontend calls gets the backend page and integrates it into the given frame