Commit aa66bc8a authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 605693: Make config.cgi?ctype=rdf faster

r=timello a=LpSolit
parent fb85e2ee
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
# Frédéric Buclin <LpSolit@gmail.com> # Frédéric Buclin <LpSolit@gmail.com>
#%] #%]
[%# The url to the installation is going to be displayed many times.
# So we cache it here for better performance.
%]
[% escaped_urlbase = BLOCK %][% urlbase FILTER xml %][% END %]
<?xml version="1.0"[% IF Param('utf8') %] encoding="UTF-8"[% END %]?> <?xml version="1.0"[% IF Param('utf8') %] encoding="UTF-8"[% END %]?>
<!-- Note: this interface is experimental and under development. <!-- Note: this interface is experimental and under development.
- We may and probably will make breaking changes to it in the future. --> - We may and probably will make breaking changes to it in the future. -->
...@@ -27,7 +31,7 @@ ...@@ -27,7 +31,7 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:bz="http://www.bugzilla.org/rdf#"> xmlns:bz="http://www.bugzilla.org/rdf#">
<bz:installation rdf:about="[% urlbase FILTER xml %]"> <bz:installation rdf:about="[% escaped_urlbase %]">
<bz:install_version>[% constants.BUGZILLA_VERSION FILTER html %]</bz:install_version> <bz:install_version>[% constants.BUGZILLA_VERSION FILTER html %]</bz:install_version>
<bz:maintainer>[% Param('maintainer') FILTER html %]</bz:maintainer> <bz:maintainer>[% Param('maintainer') FILTER html %]</bz:maintainer>
...@@ -118,13 +122,13 @@ ...@@ -118,13 +122,13 @@
<Seq> <Seq>
[% FOREACH product = products %] [% FOREACH product = products %]
<li> <li>
<bz:product rdf:about="[% urlbase FILTER xml %]product.cgi?name=[% product.name FILTER uri %]"> <bz:product rdf:about="[% escaped_urlbase %]product.cgi?name=[% product.name FILTER uri %]">
<bz:name>[% product.name FILTER html %]</bz:name> <bz:name>[% product.name FILTER html %]</bz:name>
<bz:components> <bz:components>
<Seq> <Seq>
[% FOREACH component = product.components %] [% FOREACH component = product.components %]
<li resource="[% urlbase FILTER xml %]component.cgi?name=[% component.name FILTER uri <li resource="[% escaped_urlbase %]component.cgi?name=[% component.name FILTER uri
%]&amp;product=[% product.name FILTER uri %]"/> %]&amp;product=[% product.name FILTER uri %]"/>
[% END %] [% END %]
</Seq> </Seq>
...@@ -133,7 +137,7 @@ ...@@ -133,7 +137,7 @@
<bz:versions> <bz:versions>
<Seq> <Seq>
[% FOREACH version = product.versions %] [% FOREACH version = product.versions %]
<li resource="[% urlbase FILTER xml %]version.cgi?name=[% version.name FILTER uri %]"/> <li resource="[% escaped_urlbase %]version.cgi?name=[% version.name FILTER uri %]"/>
[% END %] [% END %]
</Seq> </Seq>
</bz:versions> </bz:versions>
...@@ -142,7 +146,7 @@ ...@@ -142,7 +146,7 @@
<bz:target_milestones> <bz:target_milestones>
<Seq> <Seq>
[% FOREACH milestone = product.milestones %] [% FOREACH milestone = product.milestones %]
<li resource="[% urlbase FILTER xml %]milestone.cgi?name=[% milestone.name FILTER uri %]"/> <li resource="[% escaped_urlbase %]milestone.cgi?name=[% milestone.name FILTER uri %]"/>
[% END %] [% END %]
</Seq> </Seq>
</bz:target_milestones> </bz:target_milestones>
...@@ -160,7 +164,7 @@ ...@@ -160,7 +164,7 @@
[% FOREACH product = products %] [% FOREACH product = products %]
[% FOREACH component = product.components %] [% FOREACH component = product.components %]
<li> <li>
<bz:component rdf:about="[% urlbase FILTER xml %]component.cgi?name=[% component.name FILTER uri <bz:component rdf:about="[% escaped_urlbase %]component.cgi?name=[% component.name FILTER uri
%]&amp;product=[% product.name FILTER uri %]"> %]&amp;product=[% product.name FILTER uri %]">
<bz:name>[% component.name FILTER html %]</bz:name> <bz:name>[% component.name FILTER html %]</bz:name>
[% IF show_flags %] [% IF show_flags %]
...@@ -170,7 +174,7 @@ ...@@ -170,7 +174,7 @@
[% FOREACH flag_type = flag_types %] [% FOREACH flag_type = flag_types %]
[% NEXT UNLESS flag_type.is_active %] [% NEXT UNLESS flag_type.is_active %]
[% all_visible_flag_types.${flag_type.id} = flag_type %] [% all_visible_flag_types.${flag_type.id} = flag_type %]
<li resource="[% urlbase FILTER xml %]flag.cgi?id=[% flag_type.id FILTER uri <li resource="[% escaped_urlbase %]flag.cgi?id=[% flag_type.id FILTER uri
%]&amp;name=[% flag_type.name FILTER uri %]" /> %]&amp;name=[% flag_type.name FILTER uri %]" />
[% END %] [% END %]
</Seq> </Seq>
...@@ -188,7 +192,7 @@ ...@@ -188,7 +192,7 @@
[% FOREACH product = products %] [% FOREACH product = products %]
[% FOREACH version = product.versions %] [% FOREACH version = product.versions %]
<li> <li>
<bz:version rdf:about="[% urlbase FILTER xml %]version.cgi?name=[% version.name FILTER uri %]"> <bz:version rdf:about="[% escaped_urlbase %]version.cgi?name=[% version.name FILTER uri %]">
<bz:name>[% version.name FILTER html %]</bz:name> <bz:name>[% version.name FILTER html %]</bz:name>
</bz:version> </bz:version>
</li> </li>
...@@ -203,7 +207,7 @@ ...@@ -203,7 +207,7 @@
[% FOREACH product = products %] [% FOREACH product = products %]
[% FOREACH milestone = product.milestones %] [% FOREACH milestone = product.milestones %]
<li> <li>
<bz:target_milestone rdf:about="[% urlbase FILTER xml %]milestone.cgi?name=[% milestone.name FILTER uri %]"> <bz:target_milestone rdf:about="[% escaped_urlbase %]milestone.cgi?name=[% milestone.name FILTER uri %]">
<bz:name>[% milestone.name FILTER html %]</bz:name> <bz:name>[% milestone.name FILTER html %]</bz:name>
</bz:target_milestone> </bz:target_milestone>
</li> </li>
...@@ -218,7 +222,7 @@ ...@@ -218,7 +222,7 @@
<Seq> <Seq>
[% FOREACH flag_type = all_visible_flag_types.values.sort('name') %] [% FOREACH flag_type = all_visible_flag_types.values.sort('name') %]
<li> <li>
<bz:flag_type rdf:about="[% urlbase FILTER xml %]flag.cgi?id=[% flag_type.id FILTER uri <bz:flag_type rdf:about="[% escaped_urlbase %]flag.cgi?id=[% flag_type.id FILTER uri
%]&amp;name=[% flag_type.name FILTER uri %]"> %]&amp;name=[% flag_type.name FILTER uri %]">
<bz:id>[% flag_type.id FILTER html %]</bz:id> <bz:id>[% flag_type.id FILTER html %]</bz:id>
<bz:name>[% flag_type.name FILTER html %]</bz:name> <bz:name>[% flag_type.name FILTER html %]</bz:name>
...@@ -243,7 +247,7 @@ ...@@ -243,7 +247,7 @@
[% PROCESS "global/field-descs.none.tmpl" %] [% PROCESS "global/field-descs.none.tmpl" %]
[% FOREACH item = field %] [% FOREACH item = field %]
<li> <li>
<bz:field rdf:about="[% urlbase FILTER xml %]field.cgi?name=[% item.name FILTER uri %]"> <bz:field rdf:about="[% escaped_urlbase %]field.cgi?name=[% item.name FILTER uri %]">
<bz:name>[% item.name FILTER html %]</bz:name> <bz:name>[% item.name FILTER html %]</bz:name>
<bz:description>[% (field_descs.${item.name} OR item.description) FILTER html %]</bz:description> <bz:description>[% (field_descs.${item.name} OR item.description) FILTER html %]</bz:description>
[%-# These values are meaningful for custom fields only. %] [%-# These values are meaningful for custom fields only. %]
......
...@@ -504,4 +504,8 @@ ...@@ -504,4 +504,8 @@
'group.id', 'group.id',
], ],
'config.rdf.tmpl' => [
'escaped_urlbase',
],
); );
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment