[Kimchi-devel] [PATCH V5 1/7] Add Minimal UI Page for the Sample Plugin

Aline Manera alinefm at linux.vnet.ibm.com
Tue Jun 10 13:21:49 UTC 2014


On 06/09/2014 11:28 PM, Zhou Zheng Sheng wrote:
> on 2014/06/10 03:35, Aline Manera wrote:
>> On 06/09/2014 04:21 PM, Aline Manera wrote:
>>> On 06/09/2014 07:08 AM, shaohef at linux.vnet.ibm.com wrote:
>>>> From: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
>>>>
>>>> Add minimal UI just enough to re-produce issue 342.
>>>>
>>>> https://github.com/kimchi-project/kimchi/issues/342
>>>>
>>>> Signed-off-by: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
>>>> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>>>> ---
>>>>    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 @@
>>>>    <?xml version="1.0" encoding="utf-8"?>
>>>> -<!--<tabs-ext>
>>>> +<tabs-ext>
>>>>        <tab>
>>>> -        <title>Test</title>
>>>> - <filePath>plugins/sample/ui/tab.html</filePath>
>>>> +        <title>SampleTab</title>
>>>> +        <path>plugins/sample/tab.html</path>
>>> 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
>> 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?
>>
> 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')

But from that code:

self.ui_dir = self.add_prefix(os.path.join(self.plugin_dir, 'ui'))

the plugin UI dir, should be *<plugin-dir>/ui*

And in this patch set, the xml points to plugins/sample/tab.html, which 
correspond only to <plugin-dir>


>
> 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.
>
>>>>        </tab>
>>>> -</tabs-ext>-->
>>>> \ No newline at end of file
>>>> +</tabs-ext>
>>>> 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 @@
>>>> +<!DOCTYPE html>
>>>> +<html>
>>>> +<body>
>>>> +Hello, world
>>>> +</body>
>>>> +</html>
>>> _______________________________________________
>>> Kimchi-devel mailing list
>>> Kimchi-devel at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>>
>> _______________________________________________
>> 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/20140610/68ed7f8a/attachment.html>


More information about the Kimchi-devel mailing list