Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Cherokee: commits

[3746] cherokee/trunk/admin: Adds ColdFusion Wizard

 

 

Cherokee commits RSS feed   Index | Next | Previous | View Threaded


cherokee at cherokee-project

Oct 23, 2009, 9:15 AM

Post #1 of 1 (113 views)
Permalink
[3746] cherokee/trunk/admin: Adds ColdFusion Wizard

Revision: 3746
http://svn.cherokee-project.com/changeset/3746
Author: taher
Date: 2009-10-23 18:15:31 +0200 (Fri, 23 Oct 2009)

Log Message:
-----------
Adds ColdFusion Wizard

Modified Paths:
--------------
cherokee/trunk/admin/Makefile.am
cherokee/trunk/admin/static/images/wizards/Makefile.am

Added Paths:
-----------
cherokee/trunk/admin/Wizard_ColdFusion.py
cherokee/trunk/admin/static/images/wizards/coldfusion.png

Modified: cherokee/trunk/admin/Makefile.am
===================================================================
--- cherokee/trunk/admin/Makefile.am 2009-10-22 16:22:42 UTC (rev 3745)
+++ cherokee/trunk/admin/Makefile.am 2009-10-23 16:15:31 UTC (rev 3746)
@@ -135,7 +135,8 @@
Wizard_Alfresco.py \
Wizard_Glassfish.py \
Wizard_uWSGI.py \
-Wizard_Mono.py
+Wizard_Mono.py \
+Wizard_ColdFusion.py
endif

adminpy_DATA = $(admin_data)

Added: cherokee/trunk/admin/Wizard_ColdFusion.py
===================================================================
--- cherokee/trunk/admin/Wizard_ColdFusion.py (rev 0)
+++ cherokee/trunk/admin/Wizard_ColdFusion.py 2009-10-23 16:15:31 UTC (rev 3746)
@@ -0,0 +1,187 @@
+"""
+ColdFussion wizard.
+
+Last update:
+* Cherokee 0.99.25
+* Adobe ColdFusion 9
+"""
+import validations
+import urllib
+
+from config import *
+from util import *
+from Page import *
+from Wizard import *
+
+# For gettext
+N_ = lambda x: x
+
+NOTE_VSRV_NAME = N_("Name of the new domain that will be created.")
+NOTE_SOURCE = N_('The pair IP:port of the server running ColdFusion. You can add more later to have the load balanced.')
+NOTE_WEB_DIR = N_("Web folder under which Coldfusion will be accessible.")
+ERROR_NO_SRC = N_("ColdFusion is not running on the specified host.")
+
+SOURCE = """
+source!%(src_num)d!env_inherited = 0
+source!%(src_num)d!type = host
+source!%(src_num)d!nick = ColdFusion %(src_num)d
+source!%(src_num)d!host = %(new_source)s
+"""
+
+CONFIG_VSRV = SOURCE + """
+%(vsrv_pre)s!nick = %(new_host)s
+%(vsrv_pre)s!document_root = /dev/null
+
+%(vsrv_pre)s!rule!1!match = default
+%(vsrv_pre)s!rule!1!encoder!gzip = 1
+%(vsrv_pre)s!rule!1!handler = proxy
+%(vsrv_pre)s!rule!1!handler!balancer = ip_hash
+%(vsrv_pre)s!rule!1!handler!balancer!source!1 = %(src_num)d
+%(vsrv_pre)s!rule!1!handler!in_allow_keepalive = 1
+%(vsrv_pre)s!rule!1!handler!in_preserve_host = 1
+"""
+
+"""
+vserver!120!rule!100!handler!balancer = ip_hash
+vserver!120!rule!100!handler!balancer!source!1 = 15
+vserver!120!rule!100!handler!in_allow_keepalive = 1
+vserver!120!rule!100!handler!in_preserve_host = 1
+vserver!120!rule!100!match = default
+vserver!120!rule!100!match!final = 1
+"""
+
+CONFIG_RULES = SOURCE + """
+%(rule_pre)s!match = directory
+%(rule_pre)s!match!directory = %(webdir)s
+%(rule_pre)s!encoder!gzip = 1
+%(rule_pre)s!handler = proxy
+%(rule_pre)s!handler!balancer = ip_hash
+%(rule_pre)s!handler!balancer!source!1 = %(src_num)d
+%(rule_pre)s!handler!in_allow_keepalive = 1
+%(rule_pre)s!handler!in_preserve_host = 1
+"""
+
+def is_coldfusion_host (host):
+ try:
+ cf_host = urllib.urlopen("http://%s" % host)
+ except:
+ raise ValueError, _(ERROR_NO_SRC)
+
+ headers = str(cf_host.headers).lower()
+ cf_host.close()
+ if not "jrun" in headers:
+ raise ValueError, _(ERROR_NO_SRC)
+ return host
+
+DATA_VALIDATION = [.
+ ("tmp!wizard_coldfusion!new_host", (validations.is_new_host, 'cfg')),
+ ('tmp!wizard_coldfusion!new_source', validations.is_information_source),
+ ('tmp!wizard_coldfusion!new_source', is_coldfusion_host)
+]
+
+class Wizard_VServer_ColdFusion (WizardPage):
+ ICON = "coldfusion.png"
+ DESC = _("New virtual server to proxy a ColdFusion host.")
+
+ def __init__ (self, cfg, pre):
+ WizardPage.__init__ (self, cfg, pre,
+ submit = '/vserver/wizard/ColdFusion',
+ id = "ColdFusion_Page1",
+ title = _("ColdFusion Wizard"),
+ group = _(WIZARD_GROUP_LANGS))
+
+ def show (self):
+ return True
+
+ def _render_content (self, url_pre):
+ txt = '<h1>%s</h1>' % (self.title)
+
+ txt += '<h2>New Virtual Server</h2>'
+ table = TableProps()
+ self.AddPropEntry (table, _('New Host Name'), 'tmp!wizard_coldfusion!new_host', _(NOTE_VSRV_NAME), value="coldfusion.example.com")
+ txt += self.Indent(table)
+
+ txt += '<h2>ColdFusion</h2>'
+ table = TableProps()
+ self.AddPropEntry (table, _('Host'), 'tmp!wizard_coldfusion!new_source', _(NOTE_SOURCE), value="127.0.0.1:8500")
+ txt += self.Indent(table)
+
+ txt += '<h2>Logging</h2>'
+ txt += self._common_add_logging()
+
+ form = Form (url_pre, add_submit=True, auto=False)
+ return form.Render(txt, DEFAULT_SUBMIT_VALUE)
+ return txt
+
+ def _op_apply (self, post):
+ # Store tmp, validate and clean up tmp
+ self._cfg_store_post (post)
+
+ self._ValidateChanges (post, DATA_VALIDATION)
+ if self.has_errors():
+ return
+
+ self._cfg_clean_values (post)
+
+ # Incoming info
+ new_host = post.pop('tmp!wizard_coldfusion!new_host')
+ new_source = post.pop('tmp!wizard_coldfusion!new_source')
+
+ # Locals
+ vsrv_pre = cfg_vsrv_get_next (self._cfg)
+ src_num, src_pre = cfg_source_get_next (self._cfg)
+
+ # Add the new rules
+ config = CONFIG_VSRV % (locals())
+ self._apply_cfg_chunk (config)
+ self._common_apply_logging (post, vsrv_pre)
+
+
+class Wizard_Rules_ColdFusion (WizardPage):
+ ICON = "coldfusion.png"
+ DESC = _("New directory to proxy a Coldfusion host.")
+
+ def __init__ (self, cfg, pre):
+ WizardPage.__init__ (self, cfg, pre,
+ submit = '/vserver/%s/wizard/ColdFusion'%(pre.split('!')[1]),
+ id = "Coldfusion_Page1",
+ title = _("ColdFusion Wizard"),
+ group = _(WIZARD_GROUP_LANGS))
+
+ def show (self):
+ return True
+
+ def _render_content (self, url_pre):
+ txt = '<h1>%s</h1>' % (self.title)
+
+ txt += '<h2>ColdFusion</h2>'
+ table = TableProps()
+ self.AddPropEntry (table, _('Web Directory'), 'tmp!wizard_coldfusion!new_webdir', _(NOTE_WEB_DIR), value="/coldfusion")
+ self.AddPropEntry (table, _('Host'), 'tmp!wizard_coldfusion!new_source', _(NOTE_SOURCE), value="127.0.0.1:8500")
+ txt += self.Indent(table)
+
+ form = Form (url_pre, add_submit=True, auto=False)
+ return form.Render(txt, DEFAULT_SUBMIT_VALUE)
+ return txt
+
+ def _op_apply (self, post):
+ # Store tmp, validate and clean up tmp
+ self._cfg_store_post (post)
+
+ self._ValidateChanges (post, DATA_VALIDATION)
+ if self.has_errors():
+ return
+
+ self._cfg_clean_values (post)
+
+ # Incoming info
+ webdir = post.pop('tmp!wizard_coldfusion!new_webdir')
+ new_source = post.pop('tmp!wizard_coldfusion!new_source')
+
+ # Locals
+ rule_num, rule_pre = cfg_vsrv_rule_get_next (self._cfg, self._pre)
+ src_num, src_pre = cfg_source_get_next (self._cfg)
+
+ # Add the new rules
+ config = CONFIG_RULES % (locals())
+ self._apply_cfg_chunk (config)


Property changes on: cherokee/trunk/admin/Wizard_ColdFusion.py
___________________________________________________________________
Name: svn:mergeinfo
+

Modified: cherokee/trunk/admin/static/images/wizards/Makefile.am
===================================================================
--- cherokee/trunk/admin/static/images/wizards/Makefile.am 2009-10-22 16:22:42 UTC (rev 3745)
+++ cherokee/trunk/admin/static/images/wizards/Makefile.am 2009-10-23 16:15:31 UTC (rev 3746)
@@ -29,7 +29,8 @@
wordpress.png \
zend.png \
uwsgi.png \
-mono.png
+mono.png \
+coldfusion.png

EXTRA_DIST = \
$(wizards_DATA)

Added: cherokee/trunk/admin/static/images/wizards/coldfusion.png
===================================================================
--- cherokee/trunk/admin/static/images/wizards/coldfusion.png (rev 0)
+++ cherokee/trunk/admin/static/images/wizards/coldfusion.png 2009-10-23 16:15:31 UTC (rev 3746)
@@ -0,0 +1,16 @@
+\x89PNG
+
+
+IHDR22i8\xB8'sRGB\xAE\xCE\xE9bKGD\xFF\xFF\xFF\xA0\xBD\xA7\x93 \xFBIDATh\xDE\xED\x99y\x8C]U\xC7?\xE7\xDC\xFBޛδ0--\xA5\xCBP
+\x94P\xA4U D@
+\x84\xB0'\x84\xA0\x82$,ƥ\x98(
+q\x8B\xA0A"K\@0X#eIR\xF8\xD9\xC4a\x91ER\x86*\x83t\xA3\x9D\xF5\xBD{\xEF\xD9~\xFEq\xDF{\xF3\xDE̛\xE9*\xD3_\xF2^\xDEr\xCF\xF9\x9D\xDF\xF6\xFD-&  "\xD2\x{8C8835}V1\x80\xF7\x96\x8B\xEFz\x869\x93KО|d\xC1ܑ'\xCB\xE5\xB2T\x92L\x86+e9\xE6\x82+\xA5\. @ 0T\xE6\xC2\xEB\xEEc\xC1\xAC=\xB8\xFF'\x970\)\x8F\xF0\\xDD\xF3\xA6(\xA5\xEA\xFC췿b\xBB\xA8\xA5/\xBC\xF0B~\xC4s\xDE/W\xF1\xB5c\xA2\xABF\xFF\x98t\xF0\xF7n\xB9\xE8x\x96\xFDb%\xFD7\xB0h\xCE\xD4|\xAB\xB5\xEB6\xC8)߽c \x8F\s\xFF\xEE}\xA7\xF5\xB1\x87\xF9/QAj/\x91\xC6\xEF!\xF1\xDEKww\xB7u\xA90\xCEr\xF1\xCF\xEEa\xE5_\xDF \xB3\x86̦\x9C\xFD\xD3?\xB1i0\xE5\xDDMCX\xEF\xEA ꋒ\xF20 \xE6\xCC\xE2\xEA;$KR\x8Aq\x81
+k70\xBDC\xD3\xD9I\x924k\xE0\xEDwz]\xDFI)\xC1#DDi\xDE۰\x91%K\x96\xE4\x8E\xB0i\xE3{\x8C\xB2\xD2\x9A\xBA{'\xEF\xA9\x9A\x9Ak\x8F\x9A\xA2\xD1c\x95R-\xE5\xA9\xFDV\x8D \x8FR\xC2O\x97\xAF\xE2MS\xC0;\xE1\xB6\xF3\x8F\xA3{u/\xCE9>\xB6p^\xF3&\xA9\xC9$\xCB29\xF7\xFA$5\x99\xA4&\x93\x9C|\xFE\xDA\xF2\xCE\xC61\x
C6H\x9A\xA6#\x96\xF7\xD6E\x8A\xA1r\x82\xF7>\xE7$Y\x85s\xBE}-\xD6;\xBC\xF7#G2\xC6`\x8C!Td\xB8\x9C\xE0U\xC6@_?\xDFpi\x9A\x81V# \xAC\xB5\x88\x82;\xBF~:G|\xF9:\x94\xBF\xF6K\xF4m\xDA\xC0P%i:\xBF\xE8\xED\xEDQ\x80hPa\\xD5\xEE=\xB7+Wkj\xB2\xBAJ[\xA9\xB2\x91b\x80,I1ƌo\xDDql\xF3\xA5Z\x98\xEFՠ\xE1\x95W^\x91&]\x8D\xA7Эq\xFC\xF1\xA8Q\xF7\xF1(I\xEA \xB5\xD6(\xA5xm\xF5\xBF\xB8\xEA\xB7\xA1\xDA:0\xC9 \x9E\xFA>\xF5\xD1\xB6\x89a/U}v\xFD\xE6A\xAE\xB8\xF7yRc\xB9\xE9\xB2/\xD0\xD9\xD1\xC0\xBA~\x83֚\xB3oXA\xA9P\xC4A\xE1\xA8 e\xDCw\xF9\xE9\xC60mf\xE2=J\xA0\xADT\xE0\x92\xDBë\x88;/>\xEF\x85\xCC8D\x84\xA9\xED\xD8\xC4Ⓦ嗞\x8E\xB1y\xAC\xA5\x99\xAD3hTugl5l\xC1dTL`\xD5 o\xB0\xF4\xA0yh\xD7OW\x885\xE5r\x99\xB68\xE2\xD4,G\xC4\xF2\xF1\x85sXv\xCARDQ\xA8\xABv\xA2\xCC8n]vG_r ?\xFE}?\xFD\xD72I,\xCE\xA2\x8E\xC9<~\xF3 \xF4mbHkV^u\x99\x90\\xDAq!\xB4F\xEF\xAE[+j\x94\xFD\xB4\x86b\xA1\x80\xD6\xEF=\xC6Z\xBC:&\xB5#\xA2HӴ\xE1ᑈ]\xBFv\x8B/Vc$\xA9-\x{DE95}4kᢃzظ\x86\
x9FWv\xD1\xFF)\xBD\xFAꫲ3\xC8{/!i\x8CY\x96\xED\xD0!%\xF7ۖ\xC8\x8F\x97\xFAv\xE6G\xFFWg\x90 \xF3ʖr\xAF(P2A\x82\x87\xFC\x81B\x83\xA5\xE1\xFB\xBFy\x80\xD7{z)L\xEA`\xB2\xB6\xDC|\xF9\xF9Սr4\xAE!n\xF0\xA0\x94\xCF\xD7) \x82\x8A@2\x9Bp\xE6\xC7\xFC\x85оO "\x9C\xD68\xE8.ӻn3Zk\xA2XAP\xB8όjG!\x8C\xA6\xC9&V \xB1k.\xBC\xEE>fϛ\xCF\xFC)\x9Ao\x9C\xF3\xE9*J \xA2+\x9E{\x9D'{\xFA!\xE0%\x97\xFE\xB2>\xC4\xF3\xE7\x8CT\x{DB58}\x88pJ(Bq7\x92\xA1A\xBE~\xC1id\xD6"J\x81
+\xADc\x94\x9C\xB4xG.\x9A\x87ҞI\xC5*(~\x8C}\x9Bs\xBC\xCB\xF3\xC9ӯ\xAEA\xF0\xB4\xC51\xE5,\xA5\xA04\xAA\xB6P\x9Bdc(\x8Ac\xFA\x94PȓUp\x84\x89\x92\x96R\xAAnx\xAD5&1d6C\xF0BSZ
+\xE2Ȳ\x8C\x9B\xEF]ɍw\xDEG93<v\xCBw\x88\xA41h\xC6QW\xAD.\x9E6\xB9c i\x921)*0<*Xp\xCE\xD16m%\xA2\xCC"\xD6\xE1\x95#E\x8BB\xC2\x9A\xAES\xA8T*D\x91b\xF9\xAAg9\xF5\x8B\xB1.0\xA9\xD4F\xC5\xE4\xF5lZI8\xF7؃9\xE3\xE8C\xD0\x95j}P\xAB\xC7[K\xA2\xC0\x87\xDC7c9\xEB\x98C\xB9\xEB\xD1g\xB9\xF1\x81\xE7\xB9\xE6W\xF7\xD0^,Qv\xF0\xF0\xF5\xDF\xC4y!K\x9C\xF3\x94\xDB\xD8 B\x901\xE5zS0\xFA`k\xE1\xCFYG-\xA0\xBD(\xFC\xFC\x8FOO\xEB\xC2(JL+\xB2\xE1>ʙa\xD8z|Ț\x99\xB4\x80\x95\xBAl\xDD\xDD\xDD2k\xD6\xCCj\xC4*B@("\xE28\xCE\xE3\xC89\x8C
+1\xE3\x99M\xF1U\xAFm\x8B\xD9{\xCDR-mb\xA0\M\x98<nRAȚ\xD3yHR\x87`\xEB45w\xDE4!\xB0oxK\xBE\xC1_\xFD6\xD4\xC2\xDEo7\xD4O\x84\xD4M\xC1\xD8\xC8d\x87\xD8x\xF9\xA4s\xB7\xDD\xE9\xE8\xDF)L\x8A\xC5\xE2\xAEzf\xFD﨧\xA7'\xEF\xC6:si\xF1\xF9\xBFEa\xD4D\xA0\xF1\xD5\xD3\xD3\xD32\xDE[\xC2\xDA\xC0\xC0@>7\xE2˖\xB0f\xA7\xCD\xE8ơ\xDAٶJ\x90\xF6\xD4\xF0\xE7\xFD
+m\xB7x\xA2\xD9V\xA3a\xB6:]\xB5Z\xA4\xA49s7~WJ\xD5N\x9D\xD0ӻ\x9E\xD4T\xA6\xEE\xD6\xC1\xFC\xD9\xD3\xC7X\xB7\xA5Қx\xE8j\xDAo(}\x94\xE8 m\xB5EA\xA4A=J (\xD0:\xC2Z\xCFm+\xE5\xFE\xA7^gF\xD7>\x94\xDA;\x88T^\xE2(-Yf\x99\xB7GW\x9Cy$\xC5HЪ\x98\xEF\xA5&\x8E \xF1\xF9\xE1k\xF5\xB0\xAA\xD74l\xBF 5\x9D(шVDQĽ\xAB\x9E\xE3׏\xBF̜}\xF6eޢc\x8C\xA1kJ\x81#ܛ\xF9{M#\xB1\x96\xF7\xFAy\xEE\xAD\xF7\xF0"\xE8 \xE8\xB8\xC8+\x9F\xE1\xC1'_BGZ\xE5\x8AA\x88\x94\xC6\xFB@\xE5á]t&\xFB͝\x8E\xB5v\xC7c\xA4\xD68IP(
+J\xB1\x8A\xB9c\xE5S<\xF4\xD2\xDB\xEC5\xBB\x8B\xF2P\x85\xAE\xE9S\xF8\xD6g\x8F\xA6\xB3]c]\xA8\xB6\x8F\xED0sw\x8E:ho4B
|Q\x9C1\x97bA!\xA2\x88\x8BS\xA2\xAF\xAA\x98 .h\xFA* \xC1y>\x9F\x80\xEF\x88 \xB9E(\x8D"\xCD\xDB\xEB\xFBX\xF5\xF7\xA2\xA26\x92$\xA1\xBD\xB3\xEC\x84C\x98R\xAA\xCD\xEAtsi\xE7\xA5^]*@\x9C'K+ %\xBC\xF7|\xEE\xD0}9\xF9ȏ \xC15\xB5V\xD6\xACwy\xE3\x88\xD4G\xAE\xDB\xEC\xF5F^\xA2@b6\xF6\xF5a)l \xE00\xB6´\xC9mdΏ\xB8\x9Fj
+\x927\x98\xCE9\xAC\xF1D\xAC\xB5T\x92\x8C\xC1\xC1~\xAC\xF1\xFF(\x8AF*BM\xB7^\xD7\p{\xEF\xB1>\xBF%Ɍǚ\xCC*\xA9\xA3TPh\xAD$o4AB\xAA\xDA\xCCL~Gcm\xC8˟Y\xC3\xDDϬ\xA9\xF3I\xAC\xE5\x98E\xB3\xF9\xEAI\x87\xE5\xFB5\xCE1\xD5\xC4V٢Ej\xFDeR\xC9X\xBCSK/\xF2\xCF\xC1\x8AŘ͕\x94k\xEFy\x8C\xAB\xCF?\x994M\xB1\xAE\xA61\x9B\x8B\xE2\x80\xF7\x82IS\x88#D\x84\xA5\x8Bf\xB1x\xDFٸ\xEAD,\x84\xC0\x8C\xA9\x93\xF3\xF9B\xC3U\xC1\xC4\xC8Ȕ$xM$\x81\xE0S.9c)_\xB9\xF5ϔ\x87\x86)\x8B<\xFD\xDAZ?\xE7JN8\xFC N\xFC\xE4,\xDA{\x8A\xC0\xFA\xCDC\xFC\xE5\x955\xBC\xFEֿ\xB8\xF4\x9CS\x98\\xD2\x97\x91\xA6)\xA1\xE3\x9Cc\xEE\x939n\xF1\xBE\xA4֍Q\xA2\xAF\xC1P#m~[ѣ\xDA,\x8F00\xB3\xB3\x83?\z*7\xADx\x96\xBB\x9F\xF8m\x93h\x9B\xB6'O\xAC\xDE\xCC=\x8F \xE2\xEB}\xAC\x88"
+)\xD6Z\xBC\xF78\x93\x91$e\xBC\x8B\xF0R\xAF\xEBׄ[\xBA5ےq\xE2\xF1F{ι\xA6\xC0\xCAGS\x8AT\xE5\x9D\xEDO>\x8Ce\xA7-e\xE3pƋ\xAB\xDF\xE5\xE5\xD5ocC@\xA9\x9C\xE9\x9D\x9Dq\xC0Lu\xCDD\xC4SN3\x99?\x87\xA1ԡ\x89P\xE2X8\xBB\x93\xC4d\xD5\xD6h\x9B{\xCF-\x9A\xDD\xDD\xCFˌ=g\xA3\xA3\xE6M}^)AD\xD55\xB7\xC3Uq\xF5ƴ\xEDBc\xF2\xC8\xC6
+X\xB2\xE4P\xB5UQ*\xC2K*\xBE/\xE5\xFB\xE8\xCA;\xE7\xE9G\x9DmPK\xAA\x98\xDF\xEA\xF0;E\xFB;q\xB4\xB1\x8B\xA8\xA4 ۜ\xD9 \x85kzޢo\xA0\xCD\xE3\xCE]T>O\xEA\xEA\xEA\xDA5\x8B\xD8E\xEF'\xFD\xF6\x94.?\xDBz}dIEND\xAEB`\x82
\ No newline at end of file


Property changes on: cherokee/trunk/admin/static/images/wizards/coldfusion.png
___________________________________________________________________
Name: svn:mergeinfo
+

Cherokee commits RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.