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. ;-)
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.
----- Original message -----
From: Aline Manera <alinefm@linux.vnet.ibm.com>
Sent by: kimchi-devel-bounces@ovirt.org
To: sureshab@linux.vnet.ibm.com, kimchi-devel@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@linux.vnet.ibm.com wrote:
> From: Suresh Babu Angadi <sureshab@linux.vnet.ibm.com>
>
> Signed-off-by: Suresh Babu Angadi <sureshab@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.ico" />
> + <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@ovirt.org
http://lists.ovirt.org/mailman/listinfo/kimchi-devel