Refactoring: Moved more application check parameters from unsorted.py to dedicated...
[check_mk.git] / .werks / 6096
blob061dfc459b31481406eb45f1878cbdaeeb8683d7
1 Title: Check_MK GUI is now shipped via mod_wsgi as WSGI application
2 Level: 2
3 Component: multisite
4 Compatible: compat
5 Edition: cre
6 Version: 1.6.0i1
7 Date: 1526490553
8 Class: feature
10 This change should be seamless for most users, but may be interesting
11 especially for users that use custom GUI extensions. In case you only use the
12 GUI as it is and are not interested in technical details, you can skip the
13 following details.
15 With this change we replaced mod_python apache module with mod_wsgi.
16 Mod_python has been "deprecated" for several years. These days all modern
17 python based web applications are built using the WSGI standard. There are a
18 lot of implementations of WSGI applications out there. To have a smooth
19 transition we decided to use the mod_wsgi apache module as application server
20 for the GUI. It is now shipped with Check_MK instead of mod_python.
22 We have made the necessary changes to the GUI to work as WSGI application.
24 Some other cleanups and modifications have been made on the way.
26 <ul>
27 <li>Move index file to dedicated app folder as recommended for WSGI apps</li>
28 <li>Move several things from htmllib.html to dedicated helper classes
29   <ul>
30     <li>http.Request -> HTTP request parsing (from WSGI env)</li>
31     <li>http.Response -> HTTP response processing (for WSGI)</li>
32     <li>htmllib.TimeoutManager -> Handle GUI task timeouts</li>
33     <li>htmllib.TransactionManager -> Mange GUI action transaction IDs</li>
34   </ul>
35 </li>
36 <li>Cleaned up several other things in the htmllib and parent classes</li>
37 </ul>
39 The following changes have been made to the htmllib.html API:
41 <ul>
42 <li>html.set_cookie() -> html.response.set_cookie()</li>
43 <li>html.del_cookie() -> html.response.del_cookie()</li>
44 <li>html.get_request_header() -> html.request.get_request_header()</li>
45 <li>html.lowlevel_write() -> html._lowlevel_write()</li>
46 <li>html.remote_ip() -> html.request.remote_ip</li>
47 <li>html.is_ssl_request() -> html.request.is_ssl_request</li>
48 <li>html.request_method() -> html.request.request_method</li>
49 <li>html.get_user_agent() -> html.request.user_agent</li>
50 <li>html.get_referer() -> html.request.referer</li>
51 <li>html.requested_url() -> html.request.requested_url</li>
52 <li>html.request_uri() -> html.request.requested_url</li>
53 <li>html.http_redirect() -> html.response.http_redirect()</li>
54 <li>html.client_request_timeout() -> html.request.request_timeout</li>
55 <li>html.get_cookie_names() -> html.request.get_cookie_names()</li>
56 <li>html.has_cookie() -> html.request.has_cookie()</li>
57 <li>html.cookie() -> html.request.cookie()</li>
58 <li>html.uploaded_file() -> html.request.uploaded_file()</li>
59 <li>html.request_timeout() -> html.request.request_timeout</li>
60 <li>html.get_request_timeout() -> html.request.request_timeout</li>
61 <li>html.set_ignore_transids() -> html.transaction_ids.ignore()</li>
62 <li>html.get_transid() -> html.transaction_ids.get()</li>
63 <li>html.store_new_transids() -> html.transaction_ids.store_new()</li>
64 <li>html.urlencode_plus() -> html.urlencode()</li>
65 </ul>
67 Dropped things:
69 <ul>
70 <li>html.add_keybinding()</li>
71 <li>html.add_keybidings()</li>
72 <li>html.disable_keybindings()</li>
73 <li>html.keybindings_enabled</li>
74 <li>html.keybindings</li>
75 <li>html.RETURN</li>
76 <li>html.SHIFT</li>
77 <li>html.CTRL</li>
78 <li>html.ALT</li>
79 <li>html.BACKSPACE</li>
80 <li>html.F1</li>
81 <li>html.u8()</li>
82 <li>html.utf8_to_entities()</li>
83 <li>html.varencode()</li>
84 </ul>