[Kimchi-devel] [PATCH 2/2 V4] Changes in sample plugin to fix and improve help
Zhou Zheng Sheng
zhshzhou at linux.vnet.ibm.com
Thu Oct 9 02:59:56 UTC 2014
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
}
}
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? ;-)
> diff --git a/plugins/sample/ui/config/tab-ext.xml b/plugins/sample/ui/config/tab-ext.xml
> index a1fb1c2..aff0d14 100644
> --- a/plugins/sample/ui/config/tab-ext.xml
> +++ b/plugins/sample/ui/config/tab-ext.xml
> @@ -4,7 +4,14 @@
> <access role="admin" mode="admin"/>
> <access role="user" mode="none"/>
>
> - <title>SampleTab</title>
> - <path>plugins/sample/tab.html</path>
> + <title>SampleTab 1</title>
> + <path>plugins/sample/sample-tab1.html</path>
> + </tab>
> + <tab>
> + <access role="admin" mode="admin"/>
> + <access role="user" mode="none"/>
> +
> + <title>SampleTab 2</title>
> + <path>plugins/sample/sample-tab2.html</path>
> </tab>
> </tabs-ext>
> diff --git a/plugins/sample/ui/pages/Makefile.am b/plugins/sample/ui/pages/Makefile.am
> index ca22446..3da95a2 100644
> --- a/plugins/sample/ui/pages/Makefile.am
> +++ b/plugins/sample/ui/pages/Makefile.am
> @@ -17,4 +17,4 @@
> # License along with this library; if not, write to the Free Software
> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>
> -EXTRA_DIST = i18n.json.tmpl tab.html.tmpl
> +EXTRA_DIST = i18n.json.tmpl sample-tab1.html.tmpl sample-tab2.html.tmpl
> diff --git a/plugins/sample/ui/pages/help/en_US/sample-tab1.html b/plugins/sample/ui/pages/help/en_US/sample-tab1.html
> new file mode 100644
> index 0000000..70aa1c0
> --- /dev/null
> +++ b/plugins/sample/ui/pages/help/en_US/sample-tab1.html
> @@ -0,0 +1 @@
> +Help page for TAB 1 of Kimchi's Sample plugin.
> diff --git a/plugins/sample/ui/pages/help/en_US/sample-tab2.html b/plugins/sample/ui/pages/help/en_US/sample-tab2.html
> new file mode 100644
> index 0000000..367318f
> --- /dev/null
> +++ b/plugins/sample/ui/pages/help/en_US/sample-tab2.html
> @@ -0,0 +1 @@
> +Help page for TAB 2 of Kimchi's Sample plugin.
> diff --git a/plugins/sample/ui/pages/sample-tab1.html.tmpl b/plugins/sample/ui/pages/sample-tab1.html.tmpl
> new file mode 100644
> index 0000000..4354d81
> --- /dev/null
> +++ b/plugins/sample/ui/pages/sample-tab1.html.tmpl
> @@ -0,0 +1,30 @@
> +#*
> + * 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.
> + *#
> +#unicode UTF-8
> +<!DOCTYPE html>
> +<html>
> +<script type="text/javascript" src="plugins/sample/js/util.js"></script>
> +<body>
> + <div id="samplebody"/>
> +</body>
> +<script>
> + sample.description(function(r){
> + \$("#samplebody").html("name: " + r.name + " version: " + r.version);
> + });
> +</script>
> +</html>
> diff --git a/plugins/sample/ui/pages/sample-tab2.html.tmpl b/plugins/sample/ui/pages/sample-tab2.html.tmpl
> new file mode 100644
> index 0000000..4354d81
> --- /dev/null
> +++ b/plugins/sample/ui/pages/sample-tab2.html.tmpl
> @@ -0,0 +1,30 @@
> +#*
> + * 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.
> + *#
> +#unicode UTF-8
> +<!DOCTYPE html>
> +<html>
> +<script type="text/javascript" src="plugins/sample/js/util.js"></script>
> +<body>
> + <div id="samplebody"/>
> +</body>
> +<script>
> + sample.description(function(r){
> + \$("#samplebody").html("name: " + r.name + " version: " + r.version);
> + });
> +</script>
> +</html>
> diff --git a/plugins/sample/ui/pages/tab.html.tmpl b/plugins/sample/ui/pages/tab.html.tmpl
> deleted file mode 100644
> index 4354d81..0000000
> --- a/plugins/sample/ui/pages/tab.html.tmpl
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -#*
> - * 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.
> - *#
> -#unicode UTF-8
> -<!DOCTYPE html>
> -<html>
> -<script type="text/javascript" src="plugins/sample/js/util.js"></script>
> -<body>
> - <div id="samplebody"/>
> -</body>
> -<script>
> - sample.description(function(r){
> - \$("#samplebody").html("name: " + r.name + " version: " + r.version);
> - });
> -</script>
> -</html>
>
--
Zhou Zheng Sheng / 周征晟
E-mail: zhshzhou at linux.vnet.ibm.com
Telephone: 86-10-82454397
More information about the Kimchi-devel
mailing list