<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 06/09/2014 11:28 PM, Zhou Zheng
      Sheng wrote:<br>
    </div>
    <blockquote cite="mid:53966D5D.1090703@linux.vnet.ibm.com"
      type="cite">
      <pre wrap="">on 2014/06/10 03:35, Aline Manera wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 06/09/2014 04:21 PM, Aline Manera wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">On 06/09/2014 07:08 AM, <a class="moz-txt-link-abbreviated" href="mailto:shaohef@linux.vnet.ibm.com">shaohef@linux.vnet.ibm.com</a> wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">From: Zhou Zheng Sheng <a class="moz-txt-link-rfc2396E" href="mailto:zhshzhou@linux.vnet.ibm.com">&lt;zhshzhou@linux.vnet.ibm.com&gt;</a>

Add minimal UI just enough to re-produce issue 342.

<a class="moz-txt-link-freetext" href="https://github.com/kimchi-project/kimchi/issues/342">https://github.com/kimchi-project/kimchi/issues/342</a>

Signed-off-by: Zhou Zheng Sheng <a class="moz-txt-link-rfc2396E" href="mailto:zhshzhou@linux.vnet.ibm.com">&lt;zhshzhou@linux.vnet.ibm.com&gt;</a>
Signed-off-by: ShaoHe Feng <a class="moz-txt-link-rfc2396E" href="mailto:shaohef@linux.vnet.ibm.com">&lt;shaohef@linux.vnet.ibm.com&gt;</a>
---
  plugins/sample/__init__.py             | 3 ++-
  plugins/sample/sample.conf             | 5 +++++
  plugins/sample/ui/config/tab-ext.xml   | 8 ++++----
  plugins/sample/ui/pages/i18n.json.tmpl | 9 +++++++++
  plugins/sample/ui/pages/tab.html.tmpl  | 6 ++++++
  5 files changed, 26 insertions(+), 5 deletions(-)
  create mode 100644 plugins/sample/ui/pages/i18n.json.tmpl
  create mode 100644 plugins/sample/ui/pages/tab.html.tmpl

diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py
index 3183898..2101aed 100644
--- a/plugins/sample/__init__.py
+++ b/plugins/sample/__init__.py
@@ -26,6 +26,7 @@

  from kimchi.config import PluginPaths
  from kimchi.control.base import Collection, Resource
+from kimchi.root import Root
  from plugins.sample.i18n import messages
  from plugins.sample.model import Model

@@ -33,7 +34,7 @@
  model = Model()


-class Drawings(Resource):
+class Drawings(Root):
      def __init__(self):
          Resource.__init__(self, model)
          self.description = Description(model)
diff --git a/plugins/sample/sample.conf b/plugins/sample/sample.conf
index c4e80f7..78a9f4e 100644
--- a/plugins/sample/sample.conf
+++ b/plugins/sample/sample.conf
@@ -5,3 +5,8 @@ uri = "/plugins/sample"

  [/]
  tools.trailing_slash.on = False
+tools.sessions.on = True
+tools.sessions.name = 'kimchi'
+tools.sessions.httponly = True
+tools.sessions.locking = 'explicit'
+tools.sessions.storage_type = 'ram'
diff --git a/plugins/sample/ui/config/tab-ext.xml
b/plugins/sample/ui/config/tab-ext.xml
index 948fa07..8e0b3d3 100644
--- a/plugins/sample/ui/config/tab-ext.xml
+++ b/plugins/sample/ui/config/tab-ext.xml
@@ -1,7 +1,7 @@
  &lt;?xml version="1.0" encoding="utf-8"?&gt;
-&lt;!--&lt;tabs-ext&gt;
+&lt;tabs-ext&gt;
      &lt;tab&gt;
-        &lt;title&gt;Test&lt;/title&gt;
- &lt;filePath&gt;plugins/sample/ui/tab.html&lt;/filePath&gt;
+        &lt;title&gt;SampleTab&lt;/title&gt;
+        &lt;path&gt;plugins/sample/tab.html&lt;/path&gt;
</pre>
          </blockquote>
          <pre wrap="">
The UI files should be in a dedicated dir, as we have for kimchi
And we could remove tab.html (which does not have any meaning) to
sampleplugin.html or something like that
</pre>
        </blockquote>
        <pre wrap="">
And you use plugins/sample/tab.html but add a file in
plugins/sample/ui/pages/tab.html.tmpl
Where is the clue between them?

</pre>
      </blockquote>
      <pre wrap="">
It's in "src/kimchi/config.py.in", "class PluginPaths(Paths)". It sets
 self.ui_dir = self.add_prefix(os.path.join(self.plugin_dir, 'ui'))
and in "plugins/sample/__init__.py", it sets
 self.paths = PluginPaths('sample')</pre>
    </blockquote>
    <br>
    But from that code:<br>
    <br>
    self.ui_dir = self.add_prefix(os.path.join(self.plugin_dir, 'ui'))
    <br>
    <br>
    the plugin UI dir, should be <b>&lt;plugin-dir&gt;/ui</b><br>
    <br>
    And in this patch set, the xml points to plugins/sample/tab.html,
    which correspond only to &lt;plugin-dir&gt;<br>
    <br>
    <br>
    <blockquote cite="mid:53966D5D.1090703@linux.vnet.ibm.com"
      type="cite">
      <pre wrap="">

This is the established design of the plugin ui framework. It's not
changed in this patch series, so there is no code about it.

</pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">
</pre>
          <blockquote type="cite">
            <pre wrap="">      &lt;/tab&gt;
-&lt;/tabs-ext&gt;--&gt;
\ No newline at end of file
+&lt;/tabs-ext&gt;
diff --git a/plugins/sample/ui/pages/i18n.json.tmpl
b/plugins/sample/ui/pages/i18n.json.tmpl
new file mode 100644
index 0000000..a153e2d
--- /dev/null
+++ b/plugins/sample/ui/pages/i18n.json.tmpl
@@ -0,0 +1,9 @@
+#unicode UTF-8
+#import gettext
+#from kimchi.cachebust import href
+#silent t = gettext.translation($lang.domain, $lang.localedir,
languages=$lang.lang)
+#silent _ = t.gettext
+#silent _t = t.gettext
+{
+    "SampleTab": "$_("SampleTab")"
+}
diff --git a/plugins/sample/ui/pages/tab.html.tmpl
b/plugins/sample/ui/pages/tab.html.tmpl
new file mode 100644
index 0000000..49fc4ec
--- /dev/null
+++ b/plugins/sample/ui/pages/tab.html.tmpl
@@ -0,0 +1,6 @@
+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;body&gt;
+Hello, world
+&lt;/body&gt;
+&lt;/html&gt;
</pre>
          </blockquote>
          <pre wrap="">
_______________________________________________
Kimchi-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Kimchi-devel@ovirt.org">Kimchi-devel@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a>

</pre>
        </blockquote>
        <pre wrap="">
_______________________________________________
Kimchi-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Kimchi-devel@ovirt.org">Kimchi-devel@ovirt.org</a>
<a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a>

</pre>
      </blockquote>
      <pre wrap="">

</pre>
    </blockquote>
    <br>
  </body>
</html>