If you are looking at wok just as a web framework which developers
can
use to write plugins for, then it doesn't need to have any user facing
webpage at all. Developers would need to interact with wok's API anyway.
Now you can always create a marketplace for the wok plugins where
users can download and install plugins on them on the fly and that
could be the only page wok can serve on it's own without any plugins. ;-)
Yeap!! I have thought about it too.
My idea (for future, of course) is adding to wok a "Configuration tab"
so user can configure wok settings through UI.
For example, which authentication method to use, which plugins to
install/uninstall/enable/disable, authorization settings and any other
setting related to the web sever config.
It is the same approach we have on Jenkins.
But if that's not on the table then wok could only display basic
API
usage for its plugin developers on default index page, probably a
button to load bare minimum sample plugin as a proof of concept.
Yeap! I think we should go on that way by now and on future we can
implement the "Configuration tab" for wok.
Sounds a good plan for you?
----- Original message -----
From: Aline Manera <alinefm(a)linux.vnet.ibm.com>
Sent by: kimchi-devel-bounces(a)ovirt.org
To: sureshab(a)linux.vnet.ibm.com, kimchi-devel(a)ovirt.org
Cc:
Subject: Re: [Kimchi-devel] [PATCH 1/1] Enabling help page for wok
base. This commit supports en_US only.
Date: Thu, Aug 6, 2015 8:02 PM
I don't think we need a help page for Wok framework.
We have a lot to discuss on that, but the initial idea was to load a
simple page when running wok without any plugin.
That page would describe the wok proposal - as a web server framework
based on plugins.
I think it is hard to us to point the user to any specific plugin like
kimchi or ginger, as anyone can develop a wok plugin and host
anywhere.
I am more for a generic simple page and no help.
More (and different) thoughts on it are more than welcome. =)
On 04/08/2015 10:04, sureshab(a)linux.vnet.ibm.com wrote:
> From: Suresh Babu Angadi <sureshab(a)linux.vnet.ibm.com>
>
> Signed-off-by: Suresh Babu Angadi <sureshab(a)linux.vnet.ibm.com>
> ---
> configure.ac | 2 +
> src/wok/config.py.in | 5 +
> ui/js/src/wok.main.js | 9 +-
> ui/pages/Makefile.am | 2 +-
> ui/pages/help/Makefile.am | 34 +++++++
> ui/pages/help/dita-help.xsl | 26 +++++
> ui/pages/help/en_US/Makefile.am | 23 +++++
> ui/pages/help/en_US/wokhelp.dita | 27 +++++
> ui/pages/help/wok.css | 208
+++++++++++++++++++++++++++++++++++++++
> 9 files changed, 333 insertions(+), 3 deletions(-)
> create mode 100644 ui/pages/help/Makefile.am
> create mode 100644 ui/pages/help/dita-help.xsl
> create mode 100644 ui/pages/help/en_US/Makefile.am
> create mode 100644 ui/pages/help/en_US/wokhelp.dita
> create mode 100644 ui/pages/help/wok.css
>
> diff --git a/configure.ac b/configure.ac
> index 47c2e6c..ee4d793 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -115,6 +115,8 @@ AC_CONFIG_FILES([
> ui/libs/themes/base/Makefile
> ui/libs/themes/base/images/Makefile
> ui/pages/Makefile
> + ui/pages/help/Makefile
> + ui/pages/help/en_US/Makefile
> ui/pages/websockify/Makefile
> contrib/Makefile
> contrib/DEBIAN/Makefile
> diff --git a/src/wok/config.py.in b/src/wok/config.py.in
> index 5ffa936..c158a75 100644
> --- a/src/wok/config.py.in
> +++ b/src/wok/config.py.in
> @@ -142,6 +142,11 @@ class WokConfig(dict):
> '/wok-ui.html': {
> 'tools.wokauth.on': True
> },
> + '/help': {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': '%s/ui/pages/help' %
paths.prefix,
> + 'tools.nocache.on': True
> + }
> }
>
> def __init__(self):
> diff --git a/ui/js/src/wok.main.js b/ui/js/src/wok.main.js
> index f4c9940..3dd76b8 100644
> --- a/ui/js/src/wok.main.js
> +++ b/ui/js/src/wok.main.js
> @@ -349,7 +349,12 @@ wok.checkHelpFile = function(path) {
>
> wok.openHelp = function(e) {
> var tab = $('#nav-menu a.current');
> - var url =
$(tab).parent().find("input[name='helpPath']").val();
> - window.open(url, "Wok Help");
> + if (tab.length == 0 ){
> + window.open("help/en_US/wokhelp.html","Wok Help")
> + }
> + else {
> + var url =
$(tab).parent().find("input[name='helpPath']").val();
> + window.open(url, "Wok Help");
> + }
> e.preventDefault();
> };
> diff --git a/ui/pages/Makefile.am b/ui/pages/Makefile.am
> index 68f4c92..b3f5c2e 100644
> --- a/ui/pages/Makefile.am
> +++ b/ui/pages/Makefile.am
> @@ -15,7 +15,7 @@
> # See the License for the specific language governing
permissions and
> # limitations under the License.
>
> -SUBDIRS = websockify
> +SUBDIRS = websockify help
>
> htmldir = $(datadir)/wok/ui/pages
>
> diff --git a/ui/pages/help/Makefile.am b/ui/pages/help/Makefile.am
> new file mode 100644
> index 0000000..0dc8d9f
> --- /dev/null
> +++ b/ui/pages/help/Makefile.am
> @@ -0,0 +1,34 @@
> +# Copyright IBM Corp, 2014
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later
version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free
Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
> +
> +SUBDIRS = en_US
> +
> +DITA_HTML_FILES = $(patsubst %.dita,%.html,$(wildcard */*.dita))
> +HTML_FILES = $(if $(DITA_HTML_FILES), $(DITA_HTML_FILES),
$(wildcard */*.html))
> +DITA_XSL_FILE = dita-help.xsl
> +
> +EXTRA_DIST = $(DITA_XSL_FILE)
> +
> +helpdir = $(datadir)/wok/ui/pages/help
> +
> +dist_help_DATA = wok.css
> +
> +all: $(HTML_FILES) $(wildcard */*.dita)
> +
> +%.html: %.dita $(DITA_XSL_FILE)
> + xsltproc -o $@ $(DITA_XSL_FILE) $<
> +
> +CLEANFILES = $(HTML_FILES)
> \ No newline at end of file
> diff --git a/ui/pages/help/dita-help.xsl
b/ui/pages/help/dita-help.xsl
> new file mode 100644
> index 0000000..fb49855
> --- /dev/null
> +++ b/ui/pages/help/dita-help.xsl
> @@ -0,0 +1,26 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<xsl:stylesheet version="1.0"
> +
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> +
xmlns="http://www.w3.org/1999/xhtml">
> + <xsl:output method="xml" indent="yes"
encoding="UTF-8" />
> +
> + <xsl:template match="/">
> + <html>
> + <head>
> + <title><xsl:value-of select="/cshelp/title"
/></title>
> + <meta charset="UTF-8" />
> + <link rel="shortcut icon"
href="https://mail.notes.na.collabserv.com/livemail/0/../images/logo...
/>
> + <link rel="stylesheet" type="text/css"
href="https://mail.notes.na.collabserv.com/livemail/0/wok.css" />
> + </head>
> + <body>
> + <xsl:apply-templates select="//cshelp" />
> + </body>
> + </html>
> + </xsl:template>
> +
> + <xsl:template match="cshelp">
> + <h1><xsl:value-of select="title" /></h1>
> + <p class="shortdesc"><xsl:value-of
select="shortdesc"
/></p>
> + <p class="csbody"><xsl:copy-of
select="csbody/node()"
/></p>
> + </xsl:template>
> +</xsl:stylesheet>
> diff --git a/ui/pages/help/en_US/Makefile.am
b/ui/pages/help/en_US/Makefile.am
> new file mode 100644
> index 0000000..b1e807d
> --- /dev/null
> +++ b/ui/pages/help/en_US/Makefile.am
> @@ -0,0 +1,23 @@
> +# Copyright IBM Corp, 2014
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later
version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free
Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
> +
> +en_US_helpdir = $(datadir)/wok/ui/pages/help/en_US
> +
> +dist_en_US_help_DATA = $(wildcard *.html) $(NULL)
> +
> +EXTRA_DIST = $(wildcard *.dita)
> +
> +CLEANFILES = $(wildcard *.html)
> \ No newline at end of file
> diff --git a/ui/pages/help/en_US/wokhelp.dita
b/ui/pages/help/en_US/wokhelp.dita
> new file mode 100644
> index 0000000..582e47b
> --- /dev/null
> +++ b/ui/pages/help/en_US/wokhelp.dita
> @@ -0,0 +1,27 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--Arbortext, Inc., 1988-2011, v.4002-->
> +<!DOCTYPE cshelp PUBLIC "-//IBM//DTD DITA CSHelp//EN"
> + "..\dtd\cshelp.dtd">
> +<?Pub Sty _display FontColor="red"?>
> +<?Pub Inc?>
> +<!--This DITA specialized document type is not supported by the
Authoring Tools development team.
> +For support please see:
> +https://w3.opensource.ibm.com/projects/dita-cshelp/-->
> +<cshelp id="wokbase" xml:lang="en-us">
> +<title>Wok (Webserver Originated from Kimchi)</title>
> +<shortdesc>Wok is a cherrypy-based web framework with HTML5
support that is extended by plugins which expose functionality
through REST APIs.</shortdesc>
> +<csbody>
> +<p>Currently available plugins are Kimchi (Virtualization
Management) and Ginger (System Administration).
> +Wok comes with a sample plugin for education purposes.<ul>
> +<li><uicontrol>Download Kimchi : </uicontrol>
> +<a
href="https://github.com/kimchi-project/kimchi/tree/wok"
> +target="_blank"
>https://github.com/kimchi-project/kimchi/tree/wok</a>
> +</li>
> +<li><uicontrol>Download Ginger : </uicontrol>
> +<a
href="https://github.com/kimchi-project/ginger/tree/ginger_wok"
> +target="_blank"
>https://github.com/kimchi-project/ginger/tree/ginger_wok</a>
> +</li>
> +</ul>
> +</p>
> +</csbody>
> +</cshelp>
> diff --git a/ui/pages/help/wok.css b/ui/pages/help/wok.css
> new file mode 100644
> index 0000000..32fae4a
> --- /dev/null
> +++ b/ui/pages/help/wok.css
> @@ -0,0 +1,208 @@
> +/*
> + * Project Kimchi
> + *
> + * Copyright IBM, Corp. 2014
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + *
http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
software
> + * distributed under the License is distributed on an "AS IS"
BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied.
> + * See the License for the specific language governing
permissions and
> + * limitations under the License.
> + */
> +BODY {
> + background: #FFFFFF;
> + margin-bottom: 1em;
> + margin-left: .5em;
> +}
> +
> +bold {
> + font-weight: bold;
> +}
> +
> +boldItalic {
> + font-weight: bold;
> + font-style: italic;
> +}
> +
> +italic {
> + font-style: italic;
> +}
> +
> +underlined {
> + text-decoration: underline;
> +}
> +
> +uicontrol {
> + font-weight: bold;
> +}
> +
> +filepath {
> + font-family: monospace, monospace;
> +}.option {
> + font-family: monospace, monospace;
> +}
> +
> +cmdname {
> + font-weight: bold;
> + font-family: monospace, monospace;
> +}
> +
> +.defparmname {
> + font-weight: bold;
> + text-decoration: underline;
> + font-family: monospace, monospace;
> +}
> +
> +.kwd {
> + font-weight: bold;
> +}
> +
> +.defkwd {
> + font-weight: bold;
> + text-decoration: underline;
> +}
> +
> +var {
> + font-style : italic;
> +}
> +
> +strongwintitle {
> + font-weight : bold;
> +}
> +
> +parmname {
> + font-weight: bold;
> + font-family: monospace, monospace;
> + white-space: nowrap;
> +}
> +
> +code {
> + font-family: monospace, monospace;
> +}
> +
> +pre {
> + font-family: monospace, monospace;
> +}
> +
> +CITE {
> + font-style: italic;
> +}
> +
> +EM {
> + font-style: italic;
> +}
> +
> +STRONG {
> + font-weight: bold;
> +}
> +
> +VAR {
> + font-style: italic;
> +}
> +
> +dt {
> + font-weight: bold;
> +}
> +
> +/***********************************************************
> + * Basic fonts
> + ***********************************************************/
> +body,
> +td,
> +th,
> +caption {
> + font-family: Verdana, Arial, Helvetica, sans-serif;
> + font-size: 10pt;
> +}
> +
> +pre, code {
> + font-family: MS Courier New, Courier, monospace;
> +}
> +
> +h1, h2, h3 {
> + font-size: 12pt;
> + font-weight: bold;
> + color: #336699;
> +}
> +
> +h4 {
> + font-size: 10pt;
> + font-weight: bold;
> + color: #336699;
> +}
> +
> +/***********************************************************
> + * Basic indents, padding, and margin
> + ***********************************************************/
> +body {
> + color: black;
> + background-color: white;
> + margin: 0;
> + padding-top: 0.2em;
> + padding-left: 0.6em;
> + padding-right: 0.2em;
> + padding-bottom: 1em;
> +}
> +
> +h1,
> +h2,
> +h3,
> +h4,
> +h5,
> +h6 {
> + padding: 0;
> + margin-top: 1em;
> + margin-bottom: 0.75em;
> + margin-left: 0;
> + margin-right: 0;
> +}
> +
> +address,
> +dl,
> +li,
> +p {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 0;
> + margin-right: 0;
> + line-height: 125%;
> +}
> +
> +td dl {
> + margin-left: 2em;
> +}
> +
> +pre {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 2em;
> + margin-right: 0;
> +}
> +
> +ol,
> +ul {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 2.00em;
> + margin-right: 0;
> +}
> +
> +dd {
> + margin-left: 3.00em;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> +}
> +
> +dt {
> + margin-left: 1.00em;
> + margin-top: 0.75em;
> +}
_______________________________________________
Kimchi-devel mailing list
Kimchi-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel