On 06/08/2015 16:38, Harshal Patil wrote:
Sounds awesome Aline! 
 
So we will have wok front page with just basic documentations on API and nothing else?

I thought in a "Welcome to Wok" message and some information about plugins install and what else is important.

Are you going to implement it? If so, I suggest you to send mockups layouts prior doing the code itself. So we can opine on what to add, where to display, etc =)

what about host stats or basic info? Just making sure we are on the same page. 
 

They will not be part of wok as they are not related to web server configuration.
Probably creating an other plugin to expose the APIs we want and reuse for Kimchi and Ginger when needed.

----- Original message -----
From: Aline Manera <alinefm@linux.vnet.ibm.com>
To: Harshal Patil/India/IBM@IBMIN
Cc: kimchi-devel@ovirt.org, sureshab@linux.vnet.ibm.com
Subject: Re: [Kimchi-devel] [PATCH 1/1] Enabling help page for wok base. This commit supports en_US only.
Date: Fri, Aug 7, 2015 12:32 AM
 

 
On 06/08/2015 14:42, Harshal Patil wrote:
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@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