diff --git a/HTTPHandler.cpp b/HTTPHandler.cpp index 1ff8a03..457a692 100644 --- a/HTTPHandler.cpp +++ b/HTTPHandler.cpp @@ -9,7 +9,9 @@ namespace http { int HTTPHandler::processCommand(std::string request, core::TCPSession *session, std::stringstream &data) { - + + coreutils::Log(coreutils::LOG_DEBUG_4) << "DATA[" << request << "]"; + coreutils::PString request1(request); HTTPRequest httpRequest(request1); diff --git a/HTTPPageList.h b/HTTPPageList.h index 8aaff2d..e085ed6 100644 --- a/HTTPPageList.h +++ b/HTTPPageList.h @@ -1,41 +1,45 @@ #ifndef __HTTPPageList_h__ -#define __HTTPPageList_h__ +# define __HTTPPageList_h__ -#include "TCPSession.h" -#include "HTTPRequest.h" -#include "__index.h" -#include "__script.h" -#include "__editview.h" -#include "__style.h" -#include "__setupadmin.h" -#include "__favicon_ico.h" -#include "__welcome.h" -#include "__mainmenu.h" -#include "__newview.h" -#include "__configure.h" -#include "__viewlist.h" +# include "TCPSession.h" +# include "HTTPRequest.h" +# include "__index.h" +# include "__script.h" +# include "__editview.h" +# include "__editview_js.h" +# include "__style.h" +# include "__setupadmin.h" +# include "__favicon_ico.h" +# include "__welcome.h" +# include "__mainmenu.h" +# include "__configure.h" +# include "__viewlist.h" +# include "__workflow.h" +# include "__workflow_js.h" namespace http { - + class HTTPPageList { - + public: HTTPPageList() { add(index, "/"); add(script, "/script"); add(editview, "/editview"); + add(editview_js, "/__editview_js"); add(style, "/style"); add(setupadmin, "/setupadmin"); add(favicon_ico, "/favicon.ico"); add(welcome, "/welcome"); add(mainmenu, "/mainmenu"); - add(newview, "/newview"); add(configure, "/configure"); add(viewlist, "/viewlist"); + add(workflow, "/workflow"); + add(workflow_js, "/__workflow_js"); } - + bool processRequest(HTTPRequest &httpRequest, core::TCPSession *session, HTTPSession *httpSession, std::stringstream &data); - + void add(HTTPPage &page, std::string name = ""); void remove(HTTPPage &page); @@ -48,13 +52,15 @@ namespace http { __script script; __style style; __editview editview; + __editview_js editview_js; __setupadmin setupadmin; __favicon_ico favicon_ico; __welcome welcome; __mainmenu mainmenu; - __newview newview; __configure configure; __viewlist viewlist; + __workflow workflow; + __workflow_js workflow_js; }; diff --git a/HTTPServer b/HTTPServer index 0ebb4cb..44be2a9 100755 Binary files a/HTTPServer and b/HTTPServer differ diff --git a/JETServer_Programmers_Guide.tex b/JETServer_Programmers_Guide.tex new file mode 100644 index 0000000..42e9cb9 --- /dev/null +++ b/JETServer_Programmers_Guide.tex @@ -0,0 +1,86 @@ + +JETServer Programmer's Guide + +JETServer offers a unique set of tools for rapid application +deployment of complex workflows. + +Provides libraries of already created functionality that you can snap +into your website. + +Themes and theme management provide huge flexibility in style, feel and +functionality. + +Complete work flow pattern design system provides graphical tools to +create complex data flow logic around described data base entities. + +\chapter{Work Flow Concepts} + +Work Flow within a data system can primarily be described as the +activities required in accessing, maintanining and interacting with +the data base entities and managing complex activities based upon +these interactions. + +JETServer Work Flow allows you to combine various Qs (queues) to +perform various activities required in supporting workflow operations. +These Qs are: + + 1. Action Queue + 2. External Queue + 3. Decision Queue + 4. Wait Queue + 5. Process Queue + 6. Event Queue + +Each Q can have a list of associated reasons for exiting the queue and +these reasons are linked to the next queue in the flow. +Interconnecting these Qs is how work flow operations on data patterns are designed. + +Action Queue (AQ) + +This Q is the wrapper for the embedded work patterns and is the entry +point to initiate the work flow pattern. + +External Queue (XQ) + +This Q is used to interface a view on the workflows viewpoint. First +the view is rendered to XHTML and then inserted as the innerHTML on +viewpoint. + +Within the placed data is the form for generating a POST request back +to the viewpoint's associated URL to provide the user response back to +the XQ and provide the link to the next queue based upon the resulting +user response from the XQ. + +Decision Queue (DQ) + +Decision queues are basically process queues but are designed to leave +no residual actions to the data and are considered faster. The +resulting decision is returned as a path to the the next queue. + +Wait Queue (WQ) + +Wait queues provide a place to `hang' a work flow unit until another +event happens or a timeout occurs. + +If an event occurs and a work flow unit is in the wait queue and the +wait queue contains a response handler for the event then the workflow +unit will be forwarded to the linked queue for further work flow +processing. + +Process Queue (PQ) + +Process queues perform a function that produces a persistent result. +The resulting path can also be determined. + +Event Queue (EQ) + +Send a unit to an event queue to tell all waiting work flow units in +wait queues that the event has occured and to continue processing to +the the next queue. Only wait queues that have a handler for the event +type will respond. + + + + + + diff --git a/__editview.h b/__editview.h index 4f0e26c..1ba0d21 100644 --- a/__editview.h +++ b/__editview.h @@ -68,204 +68,7 @@ namespace http { data << " " << std::endl; data << " " << std::endl; data << "" << std::endl; - data << " " << std::endl; + data << "