[Kimchi-devel] [PATCH 2/2 V4] Changes in sample plugin to fix and improve help

Aline Manera alinefm at linux.vnet.ibm.com
Fri Oct 10 12:44:42 UTC 2014


On 10/09/2014 11:28 PM, Zhou Zheng Sheng wrote:
> on 2014/10/09 20:40, Aline Manera wrote:
>> On 10/08/2014 11:59 PM, Zhou Zheng Sheng wrote:
>>> on 2014/10/01 02:37, Rodrigo Trujillo wrote:
>>>> This patch set changes the Sample plugin, adding a new tab, modifying
>>>> naming and other elements in order to show help pages properly.
>>>>
>>>> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
>>>> ---
>>>>    configure.ac                                       |  1 -
>>>>    plugins/sample/Makefile.am                         | 12 +++++++++
>>>>    plugins/sample/sample.conf.in                      |  5 ++++
>>>>    plugins/sample/ui/config/tab-ext.xml               | 11 ++++++--
>>>>    plugins/sample/ui/pages/Makefile.am                |  2 +-
>>>>    .../sample/ui/pages/help/en_US/sample-tab1.html    |  1 +
>>>>    .../sample/ui/pages/help/en_US/sample-tab2.html    |  1 +
>>>>    plugins/sample/ui/pages/sample-tab1.html.tmpl      | 30
>>>> ++++++++++++++++++++++
>>>>    plugins/sample/ui/pages/sample-tab2.html.tmpl      | 30
>>>> ++++++++++++++++++++++
>>>>    plugins/sample/ui/pages/tab.html.tmpl              | 30
>>>> ----------------------
>>>>    10 files changed, 89 insertions(+), 34 deletions(-)
>>>>    create mode 100644 plugins/sample/ui/pages/help/en_US/sample-tab1.html
>>>>    create mode 100644 plugins/sample/ui/pages/help/en_US/sample-tab2.html
>>>>    create mode 100644 plugins/sample/ui/pages/sample-tab1.html.tmpl
>>>>    create mode 100644 plugins/sample/ui/pages/sample-tab2.html.tmpl
>>>>    delete mode 100644 plugins/sample/ui/pages/tab.html.tmpl
>>>>
>>>> diff --git a/configure.ac b/configure.ac
>>>> index 7872db9..d363b50 100644
>>>> --- a/configure.ac
>>>> +++ b/configure.ac
>>>> @@ -90,7 +90,6 @@ AC_CONFIG_FILES([
>>>>        plugins/Makefile
>>>>        plugins/sample/Makefile
>>>>        plugins/sample/po/Makefile.in
>>>> -    plugins/sample/sample.conf
>>>>        plugins/sample/ui/Makefile
>>>>        plugins/sample/ui/config/Makefile
>>>>        plugins/sample/ui/js/Makefile
>>>> diff --git a/plugins/sample/Makefile.am b/plugins/sample/Makefile.am
>>>> index 876ab54..f8368a9 100644
>>>> --- a/plugins/sample/Makefile.am
>>>> +++ b/plugins/sample/Makefile.am
>>>> @@ -21,9 +21,21 @@ SUBDIRS = ui po
>>>>
>>>>    EXTRA_DIST = API.json sample.conf.in $(wildcard *.py) config.status
>>>>
>>>> +pluginsdir = $(abs_top_srcdir)/plugins
>>>> +
>>>>    all-local:
>>>>        while read L && test -n "$$L"; do                      \
>>>>            dir=mo/$$L/LC_MESSAGES ;                       \
>>>>            $(MKDIR_P) $$dir ;                             \
>>>>            ln -sf ../../../po/$$L.gmo $$dir/sample.mo ;   \
>>>>        done < po/LINGUAS
>>>> +
>>>> +all: sample.conf
>>>> +    $(MAKE) $(AM_MAKEFLAGS) all-recursive
>>>> +
>>>> +do_substitution = \
>>>> +    sed -e 's,[@]pluginsdir[@],$(pluginsdir),g' \
>>>> +        -e 's,[@]ENABLE_SAMPLE[@],$(ENABLE_SAMPLE),g'
>>>> +
>>>> +sample.conf: sample.conf.in Makefile
>>>> +    $(do_substitution) < sample.conf.in > sample.conf
>>>> diff --git a/plugins/sample/sample.conf.in
>>>> b/plugins/sample/sample.conf.in
>>>> index cf42467..7365a7c 100644
>>>> --- a/plugins/sample/sample.conf.in
>>>> +++ b/plugins/sample/sample.conf.in
>>>> @@ -20,3 +20,8 @@ tools.kimchiauth.on = True
>>>>
>>>>    [/circles]
>>>>    tools.kimchiauth.on = True
>>>> +
>>>> +[/help]
>>>> +tools.staticdir.on = True
>>>> +tools.nocache.on = True
>>>> +tools.staticdir.dir = '@pluginsdir@/sample/ui/pages/help'
>>> Is it also possible to do the trick as we did in Ginger using
>>> PluginPaths?
>>>
>>>     kimchi.config.PluginPaths('sample').ui_dir + '/pages/help'
>>
>>> Or we can directly edit PluginConfig in src/kimchi/config.py.in, and
>>> update the "/help" config item with the corrected path.
>>>
>>> plugin_config = {
>>>       # ...
>>>       '/help': {
>>>           'tools.staticdir.on': True,
>>>           'tools.staticdir.dir':
>>> os.path.join(PluginPaths(plugin_name).ui_dir,
>>>                                         '/pages/help')
>>>           'tools.nocache.on': True
>>>       }
>>> }
>> I don't think it is a good idea as you will force all plugins to have a
>> help setup.
>>
> OK. I agree it would be a problem if the plugin does not provide help.
> So what do you think of the trick I mentioned above?
>
> [/help]
> ...
> tools.staticdir.dir = kimchi.config.PluginPaths('sample').ui_dir +
> '/pages/help'

Yeap. It looks really good compared to the current solution.
Sorry to don't mention that before. =)

>>> This can avoid the sed trick in "Makefile.am" and simplifies the
>>> packaging for all the plugins, and save them from adding similar "help"
>>> config item in "plugin_name.conf" file. Otherwise all the plugins needs
>>> this sed trick in packaging system. Is it a bit overkill for a most
>>> simple sample plugin?
>>>
>>> When reviewing the Ginger part of this patch I didn't know you also made
>>> some changes in Kimchi. I think it maybe a good chance to update the
>>> Kimchi plugin framework to add support for help files. Agree? ;-)
>>>




More information about the Kimchi-devel mailing list