Wiki source code of XWiki Enterprise 3.0 Release Candidate 1
Version 5.1 by Marius Dumitru Florea on 2011/03/25
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | $xwiki.ssx.use("ReleaseNotesXWikiEnterprise30M3") | ||
3 | {{/velocity}} | ||
4 | |||
5 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
6 | {{toc/}} | ||
7 | {{/box}} | ||
8 | |||
9 | First and hopefully last release candidate of the XWiki Enterprise 3.0 version ([[Roadmap>>enterprise:Main.Roadmap]]). | ||
10 | |||
11 | = New and Noteworthy (since XWiki Enterprise 3.0 Milestone 3) = | ||
12 | |||
13 | == Administration section for the WYSIWYG editor == | ||
14 | |||
15 | The WYSIWYG content editor can now be easily configured from the wiki administration. Look for the //WYSIWYG Editor// section under //Applications// menu. You may still need to scan the list of available [[plugins and features>>platform:AdminGuide.WysiwygEditor#HPluginsandFeatures]] in order to know what to enable. In the future we're hoping to integrate this information in the administration section. | ||
16 | |||
17 | [[image:WysiwygConfig.png||class="screenshot"]] | ||
18 | |||
19 | == Dashboard Improvements == | ||
20 | |||
21 | * [XWIKI-6084] Adding a gadget to an empty dashboard fails with a javascript error | ||
22 | * [XWIKI-6141] Cannot edit content of the container macro in the Wysiwyg macro wizard | ||
23 | * [XWIKI-6114] Improvements on the Add Gadget and Add Column button | ||
24 | * [XWIKI-6152] Change the name of the panels-like style for the dashboard from "colortheme" to "panels" | ||
25 | * [XWIKI-6085] Allow to add a new column in the dashboard | ||
26 | * [XWIKI-6092] Allow to edit the parameters of a gadget in the dashboard | ||
27 | |||
28 | == Gallery Macro Improvements == | ||
29 | |||
30 | * [XWIKI-6093] Keyboard events are stoped when gallery macro has focus | ||
31 | * [XWIKI-6143] Right clicking on an image displayed using the gallery macro doesn't always trigger the image context menu | ||
32 | * [XWIKI-6154] Gallery macro doesn't work on IE6 | ||
33 | |||
34 | == Search Suggest Improvements == | ||
35 | |||
36 | * [XWIKI-6099] JS error and no highlighting when hovering a search suggest item | ||
37 | * [XWIKI-6120] When typing ENTER in search box while suggestions are displayed, user is not taken to search results page | ||
38 | |||
39 | == Extension Manager Improvements == | ||
40 | |||
41 | * [XWIKI-6139] After upgrading an extension the previous version is still listed as installed | ||
42 | * [XWIKI-6144] Local repository should not load invalid extensions | ||
43 | * [XWIKI-6108] Improve core extensions scanning | ||
44 | * [XWIKI-6125] Set proper error when trying to install/uninstall extension without programming right | ||
45 | * [XWIKI-6101] Add extension events | ||
46 | * [XAEXTENSION-7] Missing backward dependencies from other wikis when trying to uninstall a root extension | ||
47 | * [XAEXTENSION-6] Some error handling improvements | ||
48 | * [XAEXTENSION-8] Hide wiki related fields and informations in a non-virtual wiki | ||
49 | * [XAEXTENSION-9] Use form standards for application manager forms | ||
50 | * [XAEXTENSION-10] Add the XWiki.RequiredRightClass object to XWiki.ExtensionManager because it needs PR | ||
51 | |||
52 | == Message Stream Improvements == | ||
53 | |||
54 | * [XSCOLIBRI-278] Add a Network submenu in the top-right dropdown | ||
55 | * [XPAS-40] Deleting messages from the stream always fails | ||
56 | * [XE-853] Any user can update the status of another user | ||
57 | * [XE-862] Add an administration section allowing to disable the message stream functionality | ||
58 | * [XE-865] Add the ability to delete a message | ||
59 | * [XE-869] Filter messages based on the context | ||
60 | * [XE-870] New UI for choosing the target of a message | ||
61 | |||
62 | == Administration Application Improvements == | ||
63 | |||
64 | * [XAADMINISTRATION-207] Suggest does not work when trying to add global user in local group | ||
65 | * [XAADMINISTRATION-240] The "Customize" button points to the initial skin/colortheme and doesn't update when changing the selection | ||
66 | * [XAADMINISTRATION-243] Fields with CustomDisplay aren't properly displayed in the administration | ||
67 | * [XAADMINISTRATION-248] Cannot reset ColorTheme value | ||
68 | * [XAADMINISTRATION-259] When the current username is prefixed, their profile is not recognized as their own profile | ||
69 | * [XAADMINISTRATION-238] Expose the minor edit and version summary settings in the administration | ||
70 | * [XAADMINISTRATION-239] Expose the show comments/attachments/history/information settings in the administration | ||
71 | * [XAADMINISTRATION-241] Move the localization related settings to a specific administration section | ||
72 | * [XAADMINISTRATION-242] Move the settings related to emails to a specific administration section | ||
73 | * [XAADMINISTRATION-244] Make the Templates administration section compliant with the vertical forms standard | ||
74 | * [XAADMINISTRATION-254] Allow also Annotations tab options to be hidded | ||
75 | * [XAADMINISTRATION-257] Improve the UI for changing the user's avatar | ||
76 | * [XAOFFICE-60] Make the OfficeServer administration section compliant with the vertical forms standard | ||
77 | * [XAOFFICE-61] Convert the OfficeServer administration section to the xwiki/2.0 syntax | ||
78 | |||
79 | == Miscellaneous == | ||
80 | |||
81 | {{todo}}jira{{/todo}} | ||
82 | |||
83 | == Translations == | ||
84 | |||
85 | * The following translations have been updated: ##ca##, ##cs##, ##de##, ##es##, ##fr##, ##gl##, ##hi##, ##hr##, ##it##, ##lv##, ##nl##, ##no##, ##pl##, ##pt##, ##ro##, ##ru##, ##sk##, ##sv##, ##uk##, ##vi##, ##zh##, ##zh_TW## | ||
86 | |||
87 | = Known issues = | ||
88 | |||
89 | * [[Bugs we know about>>http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?reset=true&&type=1&pid=10010&resolution=-1&sorter/field=updated&sorter/order=DESC]] | ||
90 | |||
91 | = Test Report = | ||
92 | |||
93 | You can check the [[manual test report>>TestReports.ManualTestReportXE30RC1]] to learn about what was tested and the results on various browsers. | ||
94 | |||
95 | = Backward Compatibility and Migration Notes = | ||
96 | |||
97 | == General Notes == | ||
98 | |||
99 | {{warning}} | ||
100 | If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases=all// to your //xwiki.cfg// file or explicitly name all databases to be migrated as in //xwiki.store.migration.databases=db1,db2,...//. | ||
101 | {{/warning}} | ||
102 | |||
103 | You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from the improvements listed above. | ||
104 | |||
105 | {{warning}} | ||
106 | Always make sure you compare your //xwiki.cfg// file with the newest version since some configuration parameters were added. Note 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. | ||
107 | {{/warning}} | ||
108 | |||
109 | == XWiki Enterprise 3.0 Release Candidate 1 specific notes == | ||
110 | |||
111 | * {{todo}}document web.xml changes{{/todo}} | ||
112 | |||
113 | == API Breakages == | ||
114 | |||
115 | The following xwiki-core APIs were modified since XWiki Enterprise 2.7 (API breakages in modules that were moved to Rendering or Commons top level projects are not included): | ||
116 | |||
117 | {{code language="none"}} | ||
118 | ERROR: 8001: org.xwiki.officeimporter.OfficeImporter: Class org.xwiki.officeimporter.OfficeImporter removed | ||
119 | ERROR: 8001: org.xwiki.officeimporter.OfficeImporterFilter: Class org.xwiki.officeimporter.OfficeImporterFilter removed | ||
120 | ERROR: 7002: org.xwiki.officeimporter.OfficeImporterVelocityBridge: Method 'public java.lang.String getLastErrorMessage()' has been removed | ||
121 | ERROR: 7002: org.xwiki.officeimporter.OfficeImporterVelocityBridge: Method 'public boolean importDocument(byte[], java.lang.String, java.lang.String, java.util.Map)' has been removed | ||
122 | ERROR: 7002: org.xwiki.officeimporter.builder.PresentationBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(java.io.InputStream, java.lang.String)' has been removed | ||
123 | ERROR: 7002: org.xwiki.officeimporter.builder.PresentationBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(byte[])' has been removed | ||
124 | ERROR: 7002: org.xwiki.officeimporter.builder.XDOMOfficeDocumentBuilder: Method 'public org.xwiki.officeimporter.document.XDOMOfficeDocument build(byte[], org.xwiki.bridge.DocumentName, boolean)' has been removed | ||
125 | ERROR: 7002: org.xwiki.officeimporter.builder.XHTMLOfficeDocumentBuilder: Method 'public org.xwiki.officeimporter.document.XHTMLOfficeDocument build(byte[], org.xwiki.bridge.DocumentName, boolean)' has been removed | ||
126 | ERROR: 7012: org.xwiki.officeimporter.openoffice.OpenOfficeConverter: Method 'public boolean isMediaTypeSupported(java.lang.String)' has been added to an interface | ||
127 | ERROR: 8001: org.xwiki.officeimporter.openoffice.OpenOfficeDocumentConverter: Class org.xwiki.officeimporter.openoffice.OpenOfficeDocumentConverter removed | ||
128 | ERROR: 7002: org.xwiki.officeimporter.openoffice.OpenOfficeManager: Method 'public org.artofsolving.jodconverter.OfficeDocumentConverter getDocumentConverter()' has been removed | ||
129 | ERROR: 7002: org.xwiki.officeimporter.splitter.XDOMOfficeDocumentSplitter: Method 'public java.util.Map split(org.xwiki.officeimporter.document.XDOMOfficeDocument, int[], java.lang.String, org.xwiki.bridge.DocumentName)' has been removed | ||
130 | ERROR: 7012: org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.rendering.syntax.Syntax getSyntax()' has been added to an interface | ||
131 | ERROR: 7012: org.xwiki.bridge.DocumentModelBridge: Method 'public org.xwiki.rendering.block.XDOM getXDOM()' has been added to an interface | ||
132 | ERROR: 7002: org.xwiki.container.Request: Method 'public org.xwiki.url.XWikiURL getURL()' has been removed | ||
133 | ERROR: 7002: org.xwiki.rendering.macro.script.AbstractScriptMacro: Method 'protected org.xwiki.rendering.parser.Parser getSyntaxParser(org.xwiki.rendering.transformation.MacroTransformationContext)' has been removed | ||
134 | ERROR: 7006: org.xwiki.rendering.macro.script.AbstractScriptMacro: Return type of method 'protected org.xwiki.rendering.block.XDOM parseSourceSyntax(java.lang.String, org.xwiki.rendering.transformation.MacroTransformationContext)' has been changed to java.util.List | ||
135 | ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getExoPortalService(java.lang.String)' has been removed | ||
136 | ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getExoService(java.lang.String)' has been removed | ||
137 | ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getPortalService(java.lang.String)' has been removed | ||
138 | ERROR: 7002: com.xpn.xwiki.api.XWiki: Method 'public java.lang.Object getService(java.lang.String)' has been removed | ||
139 | ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethod$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getPortalService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed | ||
140 | ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethod$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed | ||
141 | ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethodDispatch1$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getPortalService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed | ||
142 | ERROR: 7002: com.xpn.xwiki.api.XWikiCompatibilityAspect: Method 'public java.lang.Object ajc$interMethodDispatch1$com_xpn_xwiki_api_XWikiCompatibilityAspect$com_xpn_xwiki_api_XWiki$getService(com.xpn.xwiki.api.XWiki, java.lang.String)' has been removed | ||
143 | ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public byte[] convertToStrictXHtml(byte[], com.xpn.xwiki.XWikiContext)' has been removed | ||
144 | ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public java.lang.String convertToStrictXHtml(java.lang.String)' has been removed | ||
145 | ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public byte[] convertXHtmlToXMLFO(byte[], com.xpn.xwiki.XWikiContext)' has been removed | ||
146 | ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public java.lang.String convertXHtmlToXMLFO(java.lang.String, com.xpn.xwiki.XWikiContext)' has been removed | ||
147 | ERROR: 7005: com.xpn.xwiki.pdf.api.PdfExport: Parameter 3 of 'public void export(com.xpn.xwiki.doc.XWikiDocument, java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has changed its type to com.xpn.xwiki.pdf.api.PdfExport$ExportType | ||
148 | ERROR: 7005: com.xpn.xwiki.pdf.api.PdfExport: Parameter 3 of 'public void exportHtml(java.lang.String, java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has changed its type to com.xpn.xwiki.pdf.api.PdfExport$ExportType | ||
149 | ERROR: 7002: com.xpn.xwiki.pdf.api.PdfExport: Method 'public void exportXHtml(byte[], java.io.OutputStream, int, com.xpn.xwiki.XWikiContext)' has been removed | ||
150 | {{/code}} | ||
151 | |||
152 | The following XWiki GWT APIs were modified since XWiki Enterprise 2.7: | ||
153 | |||
154 | {{code language="none"}} | ||
155 | ERROR: 6011: org.xwiki.gwt.user.client.ui.rta.RichTextArea: Field DISABLED has been removed, but it was previously a constant | ||
156 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.RichTextEditorController: Method 'protected void initTextArea()' has been removed | ||
157 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadget()' has been added to an interface | ||
158 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetEditDialogCaption()' has been added to an interface | ||
159 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertActionLabel()' has been added to an interface | ||
160 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertDialogCaption()' has been added to an interface | ||
161 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetInsertDialogTitle()' has been added to an interface | ||
162 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetNoGadgetSelected()' has been added to an interface | ||
163 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetTitleDescription()' has been added to an interface | ||
164 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String gadgetTitleLabel()' has been added to an interface | ||
165 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroCollapseAllShortcutKeyLabel()' has been added to an interface | ||
166 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroCollapseShortcutKeyLabel()' has been added to an interface | ||
167 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroEditShortcutKeyLabel()' has been added to an interface | ||
168 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroExpandAllShortcutKeyLabel()' has been added to an interface | ||
169 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroExpandShortcutKeyLabel()' has been added to an interface | ||
170 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroInsertShortcutKeyLabel()' has been added to an interface | ||
171 | ERROR: 7012: org.xwiki.gwt.wysiwyg.client.Strings: Method 'public java.lang.String macroRefreshShortcutKeyLabel()' has been added to an interface | ||
172 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.Plugin: Class org.xwiki.gwt.wysiwyg.client.plugin.Plugin removed | ||
173 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginFactory: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginFactory removed | ||
174 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginFactoryManager: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginFactoryManager removed | ||
175 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.PluginManager: Class org.xwiki.gwt.wysiwyg.client.plugin.PluginManager removed | ||
176 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.UIExtension: Class org.xwiki.gwt.wysiwyg.client.plugin.UIExtension removed | ||
177 | ERROR: 6011: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorCell: Field SELECTED_STYLE_NAME has been removed, but it was previously a constant | ||
178 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorPicker: Method 'public java.lang.String convertToHex(java.lang.String)' has been removed | ||
179 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.color.ColorPlugin: Method 'protected org.xwiki.gwt.user.client.ui.rta.cmd.Executable getBackColorExecutable()' has been removed | ||
180 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.MozillaColorPlugin: Class org.xwiki.gwt.wysiwyg.client.plugin.color.MozillaColorPlugin removed | ||
181 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.exec.BackColorExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.color.exec.BackColorExecutable removed | ||
182 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.color.exec.HiliteColorExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.color.exec.HiliteColorExecutable removed | ||
183 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: In method 'public MacroDisplayer()' the number of arguments has changed | ||
184 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: In method 'protected org.xwiki.gwt.dom.client.Element createReadOnlyBox()' the number of arguments has changed | ||
185 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: Method 'protected java.lang.String getMacroContainerTagName()' has been removed | ||
186 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroDisplayer: Method 'public void setTextArea(org.xwiki.gwt.user.client.ui.rta.RichTextArea)' has been removed | ||
187 | ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Removed com.google.gwt.event.dom.client.DoubleClickHandler from the set of implemented interfaces | ||
188 | ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Removed com.google.gwt.event.shared.EventHandler from the set of implemented interfaces | ||
189 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroPlugin: Method 'public void onDoubleClick(com.google.gwt.event.dom.client.DoubleClickEvent)' has been removed | ||
190 | ERROR: 4001: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroSelector: Removed com.google.gwt.event.dom.client.MouseDownHandler from the set of implemented interfaces | ||
191 | ERROR: 7002: org.xwiki.gwt.wysiwyg.client.plugin.macro.MacroSelector: Method 'public void onMouseDown(com.google.gwt.event.dom.client.MouseDownEvent)' has been removed | ||
192 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.EnableExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.EnableExecutable removed | ||
193 | ERROR: 8001: org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.ResetExecutable: Class org.xwiki.gwt.wysiwyg.client.plugin.submit.exec.ResetExecutable removed | ||
194 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiService: In method 'public java.util.List getMatchingPages(java.lang.String, int, int)' the number of arguments has changed | ||
195 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiService: In method 'public java.util.List getRecentlyModifiedPages(int, int)' the number of arguments has changed | ||
196 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsync: In method 'public void getMatchingPages(java.lang.String, int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed | ||
197 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsync: In method 'public void getRecentlyModifiedPages(int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed | ||
198 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsyncCacheProxy: In method 'public void getMatchingPages(java.lang.String, int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed | ||
199 | ERROR: 7004: org.xwiki.gwt.wysiwyg.client.wiki.WikiServiceAsyncCacheProxy: In method 'public void getRecentlyModifiedPages(int, int, com.google.gwt.user.client.rpc.AsyncCallback)' the number of arguments has changed | ||
200 | ERROR: 6004: org.xwiki.gwt.dom.client.Style: Changed type of field BACKGROUND_COLOR from java.lang.String to org.xwiki.gwt.dom.client.Property | ||
201 | {{/code}} |