[Kimchi-devel] [PATCH 1/1] Enabling help page for wok base. This commit supports en_US only.
Aline Manera
alinefm at linux.vnet.ibm.com
Thu Aug 6 19:01:50 UTC 2015
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 at linux.vnet.ibm.com>
> Sent by: kimchi-devel-bounces at ovirt.org
> To: sureshab at linux.vnet.ibm.com, kimchi-devel at 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 at linux.vnet.ibm.com wrote:
> > From: Suresh Babu Angadi <sureshab at linux.vnet.ibm.com>
> >
> > Signed-off-by: Suresh Babu Angadi <sureshab at 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 at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20150806/339533bb/attachment.html>
More information about the Kimchi-devel
mailing list