Wiki source code of Release Notes for XWiki 5.3 Release Candidate 1
Last modified by Thomas Mortagne on 2017/03/24
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
![]() |
8.2 | 5 | This is the release notes for [[XWiki Commons>>http://commokns.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]], [[XWiki Platform>>http://platform.xwiki.org]] and [[XWiki Enterprise>>http://enterprise.xwiki.org]]. They share the same release notes as they are released together and have the same version. |
![]() |
1.1 | 6 | |
![]() |
18.1 | 7 | This is mostly a stabilization release leading to XWiki 5.3 final and it brings a few small improvements to the Solr search UI and the ability to import large XARs using the WikiStream framework. The Solr index has been modified to support the search for documents matching specific values in multiple object properties. As a consequence you can now facet and sort the search results based on property values. Besides this the new release includes 38 bug fixes and 14 small improvements. |
![]() |
1.1 | 8 | |
9 | = New and Noteworthy (since XWiki 5.3 Milestone 2) = | ||
10 | |||
![]() |
20.1 | 11 | [[Full list of issues fixed and Dashboard for 5.3>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=11698]]. |
![]() |
1.1 | 12 | |
![]() |
17.1 | 13 | == Solr Search Improvements == |
![]() |
14.2 | 14 | |
![]() |
17.1 | 15 | We made a few small improvements to the search facets: |
16 | |||
![]() |
14.2 | 17 | * We added a hint to explain the 'No language' value in the language search facet((( |
18 | {{image reference="search-languageFacet-noLanguageHint.png"/}} | ||
19 | ))) | ||
20 | * We improved the way a custom interval is specified in the date search facet((( | ||
21 | {{image reference="searchDateFacet.png"/}} | ||
22 | ))) | ||
23 | * We improved the 'Object Type' facet((( | ||
24 | {{image reference="searchClassFacet.png"/}} | ||
25 | ))) | ||
26 | |||
![]() |
17.1 | 27 | We also improved the way Static List properties are indexed. We now index the raw value (what is saved in the database) as verbatim (without being analysed, for exact matching) and the display value (what is specified in the XClass) as localized text (using the locale of the document that holds the XObject). |
28 | |||
![]() |
15.1 | 29 | See the [[Solr Search Application>>extensions:Extension.Solr Search Application]] for more details. |
30 | |||
![]() |
2.1 | 31 | == Import large XARs == |
![]() |
1.1 | 32 | |
![]() |
2.1 | 33 | It's possible to enable the use of new [[WikiStream>>doc:extensions:Extension.Wiki Stream Module]] framework in standard import action (used in the standard import UI for example). Among other things it allows importing a wiki XAR of pretty much any size. |
![]() |
1.1 | 34 | |
![]() |
2.1 | 35 | [[WikiStream>>doc:extensions:Extension.Wiki Stream Module]] is too young to be enabled by default and will require heavy testing. In the meantime you can try it by uncommenting {{code}}#xwiki.action.import.xar.usewikistream=1{{/code}} at the end of xwiki.cfg file. |
36 | |||
![]() |
1.1 | 37 | == Miscellaneous == |
38 | |||
![]() |
5.1 | 39 | * Added new configuration parameter for the Link Checker: ##rendering.transformation.linkchecker.excludedReferencePatterns## (See [[Reference documentation>>extensions:Extension.Link Checker Transformation]]). |
![]() |
8.2 | 40 | * If you want to change the wiki owner or the prettyname of the wiki, you cannot go to the "Wiki" section of the Wiki Administration anymore since it's been removed for the moment due to some technical issue. Instead, go to the Wiki Index and then click on the "edit" action corresponding to the wiki for which to update the settings. |
![]() |
12.1 | 41 | * When creating an empty wiki you now get the Distribution Wizard even when ##ALLINONE## upgrade is selected (this used to disable the Distribution Wizard on subwikis) |
![]() |
1.1 | 42 | |
![]() |
20.1 | 43 | See the [[full list of JIRA issues>>https://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%225.3-rc-1%22&tempMax=1000]] fixed in this release. |
![]() |
1.1 | 44 | |
45 | = For Developers = | ||
46 | |||
![]() |
15.1 | 47 | == Search for Documents Matching Specific Values in Multiple XObject Properties == |
![]() |
1.1 | 48 | |
![]() |
15.1 | 49 | Unlike a relational database, the Solr index has a single 'table'. So normally you index just one type of entity. Still, in XWiki you can search for documents, attachments, objects and object properties (see the 'Result Type' advanced search option). This is possible because we use a 'type' column in the index. So basically we index multiple types of entities, and we use the 'type' column to determine the type of entity an index row corresponds to. The entities are related though (the documents have objects and attachments, the objects have properties) and so you often need to put constraints on different entity types when performing a search (e.g. search for documents that have an object of a specific type with a property that matches a given value). In a relational database when you have the information spread in multiple places (tables) you do joins. [[Solr supports joins>>http://wiki.apache.org/solr/Join]] but the query syntax is complex and not as powerful as the SQL version. Plus, each join means ##index X index## where X is the cartesian product, which can be expensive if the index is very large. |
![]() |
1.1 | 50 | |
![]() |
15.1 | 51 | In this version we removed the need to perform joins when searching for documents matching specific values in multiple XObject properties. We achieved this by indexing XObject data on the document rows also. Of course, this means the index will have redundant information (XObject data is duplicated on document and object rows), but we believe this is not a problem and the increase in the Solr index size pays off when you take into the accout the search speed and the simplified query syntax. |
![]() |
1.1 | 52 | |
![]() |
15.1 | 53 | Here's a short summary of what we implemented: |
![]() |
1.1 | 54 | |
![]() |
15.1 | 55 | * We're using an encoding scheme similar to the URL-encoding to support special characters in the Solr index field names. We didn't use directly the URL-encoding because '+' (plus) and '%' (percent) have special meaning in Solr query syntax. Also, we didn't want to encode Unicode letters.((( |
56 | {{code language="none"}} | ||
57 | E.g. "Somé Spâce.Bob's Claß" is encoded as "Somé$20Spâce.Bob$27s$20Claß" | ||
58 | {{/code}} | ||
59 | ))) | ||
60 | * We wanted to be able to extract the class and property reference from a field name in order to display the location where the search text has been found. We couldn't use the default class / property reference serialization syntax because '\' and '^' have special meaning in the Solr query syntax. So we implemented a simple serialization syntax that uses only '.' as entity separator and the dot is escaped by repeating it.((( | ||
61 | {{code language="none"}} | ||
62 | E.g. "wiki:Some\.Space.My\.Class^color" is serialized as "wiki.Some..Space.My..Class.color" | ||
63 | {{/code}} | ||
![]() |
15.2 | 64 | ))) |
![]() |
15.1 | 65 | * We added the following fields to a document's index: |
66 | ** ##object## : all types of objects found on the indexed document, e.g. ['Blog.BlogPostClass', 'XWiki.TagClass'] | ||
67 | ** ##object.Space.Class## : collects the values from all the properties of ##Space.Class## objects found on the indexed document | ||
68 | ** ##property.Space.Class.propName## : indexes the values of ##Space.Class^propName## (multiple values if there are multiple objects of type ##Space.Class##) | ||
69 | * ##object.*## and ##property.*## are multilingual fields so they are indexed in multiple languages. We added support for dynamic aliases (for dynamic fields) so we can write:((( | ||
70 | {{code language="none"}} | ||
71 | object:Blog.BlogPostClass AND property.Blog.BlogPostClass.title:text AND object.XWiki.TagClass:news | ||
72 | {{/code}} | ||
![]() |
1.1 | 73 | |
![]() |
15.1 | 74 | and it will be expanded into |
![]() |
1.1 | 75 | |
![]() |
15.1 | 76 | {{code language="none"}} |
77 | object:Blog.BlogPostClass AND | ||
78 | (property.Blog.BlogPostClass.title_en:text OR property.Blog.BlogPostClass.title_fr:text OR ...) AND | ||
79 | (object.XWiki.TagClass_en:news OR object.XWiki.TagClass_fr:news OR ...) | ||
80 | {{/code}} | ||
![]() |
1.1 | 81 | |
![]() |
15.3 | 82 | Note that Solr doesn't support dynamic fields as default fields, i.e. as fields that are matched when you search for free text (without field:value in the query). This is not a problem for the search results, as dynamic fields like ##object.*## and ##property.*## are copied and aggregated in ##objcontent## which is a default field. The issue is that we can't know what is exactly the XClass property that was matched by a free text search, we just know that the text was found inside an object. |
![]() |
15.1 | 83 | ))) |
84 | * We also added support for indexing non-string XObject properties based on their type. This means Boolean, Number (int, long, float, double) and Date properties are now correctly indexed (on document rows) and we can write something like:((( | ||
85 | {{code language="none"}} | ||
86 | property.Blog.BlogPostClass.publishDate:[NOW-1MONTH TO NOW] | ||
87 | {{/code}} | ||
![]() |
15.4 | 88 | ))) |
![]() |
15.1 | 89 | |
90 | === Faceting and Sorting on Object Properties === | ||
91 | |||
92 | We added support for faceting and sorting on XObject properties. See the [[Solr Search Query API>>extensions:Extension.Solr Search Query API]] for details. | ||
93 | |||
94 | See also the [[Solr schema design>>design:Design.SolrSchema]] for the full list of fields that can be used in search queries. | ||
95 | |||
![]() |
1.1 | 96 | == Miscellaneous == |
97 | |||
![]() |
9.1 | 98 | * You can now easily [[run functional tests using PhantomJS>>dev:Community.Testing||anchor="HSelenium2-basedFramework"]] by using ##-Dbrowser=*phantomjs##. |
![]() |
1.1 | 99 | |
100 | = Translations = | ||
101 | |||
102 | The following translations have been updated: | ||
103 | |||
![]() |
13.1 | 104 | {{language codes="de, fr, lv, nl, ru"/}} |
![]() |
1.1 | 105 | |
106 | = Tested Browsers & Databases = | ||
107 | |||
![]() |
12.2 | 108 | {{include reference="TestReports.ManualTestReportXWiki53RC1Summary"/}} |
![]() |
1.1 | 109 | |
110 | = Known issues = | ||
111 | |||
![]() |
20.1 | 112 | * [[Bugs we know about>>https://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+%3D+%22Top+Level+Projects%22+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]] |
![]() |
1.1 | 113 | |
114 | = Backward Compatibility and Migration Notes = | ||
115 | |||
116 | == General Notes == | ||
117 | |||
118 | When upgrading make sure you compare your ##xwiki.cfg##, ##xwiki.properties## and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that you should add ##xwiki.store.migration=1## so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything. | ||
119 | |||
![]() |
16.3 | 120 | == Solr Search Index == |
![]() |
1.1 | 121 | |
![]() |
16.1 | 122 | {{error}} |
![]() |
19.2 | 123 | We made important changes to the [[Solr schema>>http://design.xwiki.org/xwiki/bin/view/Design/SolrSchema]] in this release and unfortunately we don't have support for automatic Solr search index migration at this point. If you upgrade from XWiki 4.3 Milestone 2 or greater then **you have to delete the 'solr' folder** from the configured permanent directory of your XWiki instance. The Solr index will be recreated automatically and the entire wiki/farm will be re-indexed after a server restart. |
![]() |
16.1 | 124 | {{/error}} |
![]() |
1.1 | 125 | |
126 | == API Breakages == | ||
127 | |||
128 | The following APIs were modified since XWiki 5.2.1: | ||
129 | |||
130 | * Requesting a dependency without indicating the namespace does not really make sense. This interface is not really supposed to be implemented anyway. | ||
131 | |||
132 | {{code language="none"}} | ||
133 | org.xwiki.extension.ExtensionManager: Method 'public org.xwiki.extension.Extension resolveExtension(org.xwiki.extension.ExtensionDependency, java.lang.String)' has been added to an interface | ||
134 | {{/code}} | ||
135 | |||
136 | * Needed to filter search by namespace. This interface is not really supposed to be implemented anyway. | ||
137 | |||
138 | {{code language="none"}} | ||
139 | org.xwiki.extension.repository.InstalledExtensionRepository: Method 'public org.xwiki.extension.repository.result.IterableResult searchInstalledExtensions(java.lang.String, java.lang.String, int, int)' has been added to an interface | ||
140 | {{/code}} | ||
141 | |||
142 | * Young API. Not supposed to be implemented from outside. | ||
143 | |||
144 | {{code language="none"}} | ||
145 | org.xwiki.filter.xml.parser.XMLParserFactory: Method 'public javax.xml.stream.XMLEventWriter createXMLEventWriter(java.lang.Object, org.xwiki.filter.xml.XMLConfiguration)' has been added to an interface | ||
146 | org.xwiki.filter.xml.serializer.XMLSerializerFactory: Method 'public java.lang.Object createSerializer(java.lang.Class[], javax.xml.transform.Result, org.xwiki.filter.xml.XMLConfiguration)' has been added to an interface | ||
147 | {{/code}} | ||
148 | |||
149 | * Young API. Not supposed to be implemented from outside. | ||
150 | |||
151 | {{code language="none"}} | ||
152 | org.xwiki.filter.FilterDescriptorManager: Method 'public java.lang.Object createCompositeFilter(java.lang.ClassLoader, java.lang.Object[])' has been added to an interface | ||
153 | org.xwiki.filter.FilterDescriptorManager: Method 'public java.lang.Object createFilterProxy(java.lang.Object, java.lang.ClassLoader, java.lang.Class[])' has been added to an interface | ||
154 | {{/code}} | ||
155 | |||
![]() |
18.2 | 156 | * New configuration property ##rendering.transformation.linkchecker.excludedReferencePatterns## |
157 | |||
158 | {{code language="none"}} | ||
159 | org.xwiki.rendering.transformation.linkchecker.LinkCheckerTransformationConfiguration: Method 'public java.util.List getExcludedReferencePatterns()' has been added to an interface | ||
160 | {{/code}} | ||
161 | |||
![]() |
1.1 | 162 | * Young API that has been refactored to introduce the new Resource module. |
163 | |||
164 | {{code language="none"}} | ||
165 | org.xwiki.url.AbstractXWikiURL: Class org.xwiki.url.AbstractXWikiURL removed | ||
166 | org.xwiki.url.URLCreationException: Class org.xwiki.url.URLCreationException removed | ||
167 | org.xwiki.url.UnsupportedURLException: Class org.xwiki.url.UnsupportedURLException removed | ||
168 | org.xwiki.url.XWikiEntityURL: Class org.xwiki.url.XWikiEntityURL removed | ||
169 | org.xwiki.url.XWikiURL: Class org.xwiki.url.XWikiURL removed | ||
170 | org.xwiki.url.XWikiURLFactory: Class org.xwiki.url.XWikiURLFactory removed | ||
171 | org.xwiki.url.XWikiURLManager: Class org.xwiki.url.XWikiURLManager removed | ||
172 | org.xwiki.url.XWikiURLSerializer: Class org.xwiki.url.XWikiURLSerializer removed | ||
173 | org.xwiki.url.XWikiURLType: Class org.xwiki.url.XWikiURLType removed | ||
174 | {{/code}} | ||
175 | |||
176 | * XWikiURL (now Resource) should only be in the Execution Context and not in the Request. | ||
177 | |||
178 | {{code language="none"}} | ||
179 | org.xwiki.container.servlet.ServletRequest: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed | ||
180 | org.xwiki.container.servlet.ServletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed | ||
181 | org.xwiki.container.portlet.PortletRequest: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed | ||
182 | org.xwiki.container.portlet.PortletRequest: Method 'public void setXWikiURL(org.xwiki.url.XWikiURL)' has been removed | ||
183 | org.xwiki.container.Request: Field XWIKI_URL has been removed, but it was previously a constant | ||
184 | {{/code}} | ||
185 | |||
186 | * Lots of refactoring in WikiStream. | ||
187 | |||
188 | {{code language="none"}} | ||
![]() |
19.1 | 189 | org.xwiki.wikistream.xml.input.source.SourceInputSource: Class org.xwiki.wikistream.xml.input.source.SourceInputSource removed |
![]() |
1.1 | 190 | org.xwiki.wikistream.WikiStream: Class org.xwiki.wikistream.WikiStream removed |
191 | org.xwiki.wikistream.descriptor.DefaultWikiStreamBeanParameterDescriptor: Method 'public java.lang.reflect.Type getPropertyType()' has been removed | ||
192 | org.xwiki.wikistream.descriptor.WikiStreamPropertyDescriptor: Method 'public java.lang.reflect.Type getPropertyType()' has been removed | ||
193 | org.xwiki.wikistream.descriptor.WikiStreamPropertyDescriptor: Method 'public java.lang.reflect.Type getType()' has been added to an interface | ||
194 | org.xwiki.wikistream.filter.FarmFilter: Class org.xwiki.wikistream.filter.FarmFilter removed | ||
195 | org.xwiki.wikistream.filter.WikiAttachmentFilter: Class org.xwiki.wikistream.filter.WikiAttachmentFilter removed | ||
196 | org.xwiki.wikistream.filter.WikiClassFilter: Class org.xwiki.wikistream.filter.WikiClassFilter removed | ||
197 | org.xwiki.wikistream.filter.WikiClassPropertyFilter: Class org.xwiki.wikistream.filter.WikiClassPropertyFilter removed | ||
198 | org.xwiki.wikistream.filter.WikiDocumentFilter: Class org.xwiki.wikistream.filter.WikiDocumentFilter removed | ||
199 | org.xwiki.wikistream.filter.WikiFilter: Class org.xwiki.wikistream.filter.WikiFilter removed | ||
200 | org.xwiki.wikistream.filter.WikiObjectFilter: Class org.xwiki.wikistream.filter.WikiObjectFilter removed | ||
201 | org.xwiki.wikistream.filter.WikiObjectPropertyFilter: Class org.xwiki.wikistream.filter.WikiObjectPropertyFilter removed | ||
202 | org.xwiki.wikistream.filter.WikiSpaceFilter: Class org.xwiki.wikistream.filter.WikiSpaceFilter removed | ||
203 | org.xwiki.wikistream.input.BeanInputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces | ||
![]() |
19.1 | 204 | org.xwiki.wikistream.input.BeanInputWikiStreamFactory: Return type of method 'public org.xwiki.wikistream.input.InputWikiStream createInputWikiStream(java.lang.Object)' has been changed to org.xwiki.wikistream.internal.input.BeanInputWikiStream |
![]() |
1.1 | 205 | org.xwiki.wikistream.input.InputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces |
206 | org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces | ||
207 | org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream creaOutputWikiStream(java.lang.Object)' has been removed | ||
![]() |
19.1 | 208 | org.xwiki.wikistream.output.BeanOutputWikiStreamFactory: Method 'public org.xwiki.wikistream.internal.output.BeanOutputWikiStream createOutputWikiStream(java.lang.Object)' has been added to an interface |
![]() |
1.1 | 209 | org.xwiki.wikistream.output.OutputWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces |
210 | org.xwiki.wikistream.output.OutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream creaOutputWikiStream(java.util.Map)' has been removed | ||
211 | org.xwiki.wikistream.output.OutputWikiStreamFactory: Method 'public org.xwiki.wikistream.output.OutputWikiStream createOutputWikiStream(java.util.Map)' has been added to an interface | ||
212 | org.xwiki.wikistream.type.WikiStreamType: Removed field XWIKI_XAR | ||
213 | org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.FarmFilter from the set of implemented interfaces | ||
214 | org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiDocumentFilter from the set of implemented interfaces | ||
215 | org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiFilter from the set of implemented interfaces | ||
216 | org.xwiki.wikistream.instance.input.AbstractInstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiSpaceFilter from the set of implemented interfaces | ||
217 | org.xwiki.wikistream.instance.input.EntityEventGenerator: Method 'public org.xwiki.wikistream.descriptor.WikiStreamDescriptor getDescriptor()' has been added to an interface | ||
218 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.FarmFilter from the set of implemented interfaces | ||
219 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiDocumentFilter from the set of implemented interfaces | ||
220 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiFilter from the set of implemented interfaces | ||
221 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Removed org.xwiki.wikistream.filter.WikiSpaceFilter from the set of implemented interfaces | ||
222 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public org.xwiki.wikistream.descriptor.WikiStreamDescriptor getDescriptor()' has been added to an interface | ||
223 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public java.util.Collection getFilterInterfaces()' has been added to an interface | ||
224 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiDocumentParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface | ||
225 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiFarmParameters(org.xwiki.filter.FilterEventParameters)' has been added to an interface | ||
226 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface | ||
227 | org.xwiki.wikistream.instance.input.InstanceInputEventGenerator: Method 'public void setWikiSpaceParameters(java.lang.String, org.xwiki.filter.FilterEventParameters)' has been added to an interface | ||
228 | org.xwiki.wikistream.instance.output.OutputInstanceWikiStreamFactory: Removed org.xwiki.wikistream.WikiStream from the set of implemented interfaces | ||
229 | org.xwiki.wikistream.instance.script.InstanceWikiStreamScriptService: Method 'public void export(org.xwiki.wikistream.type.WikiStreamType, org.xwiki.wikistream.instance.internal.input.InstanceInputProperties, java.util.Map)' has been removed | ||
![]() |
19.1 | 230 | org.xwiki.wikistream.instance.script.InstanceWikiStreamScriptService: Return type of method 'public org.xwiki.wikistream.instance.internal.input.InstanceInputProperties newInstanceInputProperties()' has been changed to org.xwiki.wikistream.instance.input.InstanceInputProperties |
![]() |
1.1 | 231 | org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public void convert(org.xwiki.wikistream.type.WikiStreamType, java.util.Map, org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed |
232 | org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public org.xwiki.wikistream.input.InputWikiStream createInputWikiStream(org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed | ||
233 | org.xwiki.wikistream.script.WikiStreamScriptService: Method 'public org.xwiki.wikistream.output.OutputWikiStream createOutputWikiStream(org.xwiki.wikistream.type.WikiStreamType, java.util.Map)' has been removed | ||
234 | {{/code}} |