[!!!][FEATURE] Introduce PSR-7-based Routing for Backend AJAX Requests
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-69916-RegisteredAJAXHandlersReplacedByRoutes.rst
1 ==============================================================
2 Breaking: #69916 - Registered AJAX handlers replaced by routes
3 ==============================================================
4
5 Description
6 ===========
7
8 AJAX handlers registered in the core by ``ExtensionManagementUtility::registerAjaxHandler()`` have been replaced
9 by AJAX routes, which are registered inside any extension under Configuration/Backend/AjaxRoutes.php.
10
11 The routes registered in AjaxRoutes.php are available via JavaScript via ``TYPO3.settings.ajaxUrls[routeIdentifier]``.
12
13 Impact
14 ======
15
16 Calling removed AJAX identifiers will result in an error. Please see the table below for migration.
17
18
19 Affected Installations
20 ======================
21
22 All 3rd party extensions using one of the removed handlers is affected.
23
24
25 Migration
26 =========
27
28 Please see the table to get the new AJAX identifier.
29
30 EXT:backend
31 ^^^^^^^^^^^
32
33 ==========================================================   =================================   ==================================
34 Old identifier                                               New identifier                      New AJAX ID
35 ==========================================================   =================================   ==================================
36 SC_alt_db_navframe::expandCollapse                           sc_alt_db_navframe_expandtoggle     /ajax/sc-alt-db-navframe/expandtoggle
37 SC_alt_file_navframe::expandCollapse                         sc_alt_file_navframe_expandtoggle   /ajax/sc-alt-file-navframe/expandtoggle
38 TYPO3_tcefile::process                                       file_process                        /ajax/file/process
39 TYPO3_tcefile::fileExists                                    file_exists                         /ajax/file/exists
40 t3lib_TCEforms_inline::createNewRecord                       record_inline_create                /ajax/inline/create
41 t3lib_TCEforms_inline::getRecordDetails                      record_inline_details               /ajax/inline/record-details
42 t3lib_TCEforms_inline::synchronizeLocalizeRecords            record_inline_synchronizelocalize   /ajax/inline/synchronizelocalize
43 t3lib_TCEforms_inline::setExpandedCollapsedState             record_inline_expandcollapse        /ajax/inline/expandcollapse
44 t3lib_TCEforms_suggest::searchRecord                         record_suggest                      /ajax/wizard/suggest/search
45 ShortcutMenu::getShortcutEditForm                            shortcut_editform                   /ajax/shortcut/editform
46 ShortcutMenu::saveShortcut                                   shortcut_saveform                   /ajax/shortcut/saveform
47 ShortcutMenu::render                                         shortcut_list                       /ajax/shortcut/list
48 ShortcutMenu::delete                                         shortcut_remove                     /ajax/shortcut/remove
49 ShortcutMenu::create                                         shortcut_create                     /ajax/shortcut/create
50 SystemInformationMenu::load                                  systeminformation_render            /ajax/system-information/render
51 ModuleMenu::reload                                           modulemenu                          /ajax/module-menu
52 BackendLogin::login                                          login                               /ajax/login
53 BackendLogin::logout                                         logout                              /ajax/logout
54 BackendLogin::refreshLogin                                   login_refresh                       /ajax/login/refresh
55 BackendLogin::isTimedOut                                     login_timedout                      /ajax/login/timedout
56 ExtDirect::getAPI                                            ext_direct_api                      /ajax/ext-direct/api
57 ExtDirect::route                                             ext_direct_route                    /ajax/ext-direct/route
58 DocumentTemplate::getFlashMessages                           flashmessages_render                /ajax/flashmessages/render
59 ContextMenu::load                                            contextmenu                         /ajax/context-menu
60 DataHandler::process                                         record_process                      /ajax/record/process
61 UserSettings::process                                        usersettings_process                /ajax/user-settings/process
62 ImageManipulationWizard::getHtmlForImageManipulationWizard   wizard_image_manipulation           /ajax/wizard/image-manipulation
63 LiveSearch                                                   livesearch                          /ajax/livesearch
64 OnlineMedia::add                                             online_media_create                 /ajax/online-media/create
65 ==========================================================   =================================   ==================================
66
67 EXT:beuser
68 ^^^^^^^^^^
69
70 ==================================   =======================   =========================
71 Old identifier                       New identifier            New AJAX ID
72 ==================================   =======================   =========================
73 PermissionAjaxController::dispatch   user_access_permissions   /users/access/permissions
74 ==================================   =======================   =========================
75
76 EXT:context_help
77 ^^^^^^^^^^^^^^^^
78
79 ===================================   =====================   ======================
80 Old identifier                        New identifier          New AJAX ID
81 ===================================   =====================   ======================
82 ContextHelpAjaxController::dispatch   context_help            /context-help
83 ===================================   =====================   ======================
84
85 EXT:opendocs
86 ^^^^^^^^^^^^
87
88 ===================================   =====================   ======================
89 Old identifier                        New identifier          New AJAX ID
90 ===================================   =====================   ======================
91 TxOpendocs::renderMenu                opendocs_menu           /opendocs/menu
92 TxOpendocs::closeDocument             opendocs_close          /opendocs/close
93 ===================================   =====================   ======================
94
95 EXT:recycler
96 ^^^^^^^^^^^^
97
98 ===================================   =====================   ======================
99 Old identifier                        New identifier          New AJAX ID
100 ===================================   =====================   ======================
101 RecyclerAjaxController::dispatch      recycler                /recycler
102 ===================================   =====================   ======================
103
104 EXT:rsaauth
105 ^^^^^^^^^^^
106
107 ===================================   =====================   ======================
108 Old identifier                        New identifier          New AJAX ID
109 ===================================   =====================   ======================
110 BackendLogin::getRsaPublicKey         rsa_publickey           /rsa/publickey
111 RsaEncryption::getRsaPublicKey        rsa_publickey           /rsa/publickey
112 ===================================   =====================   ======================
113
114 EXT:rtehtmlarea
115 ^^^^^^^^^^^^^^^
116
117 ===================================   ========================   ======================
118 Old identifier                        New identifier             New AJAX ID
119 ===================================   ========================   ======================
120 rtehtmlarea::spellchecker             rtehtmlarea_spellchecker   /rte/spellchecker
121 ===================================   ========================   ======================
122
123 EXT:t3editor
124 ^^^^^^^^^^^^
125
126 ====================================   =====================================   =======================================
127 Old identifier                         New identifier                          New AJAX ID
128 ====================================   =====================================   =======================================
129 T3Editor::saveCode                     t3editor_save                           /t3editor/save
130 T3Editor::getPlugins                   t3editor_get_plugins                    /t3editor/get-plugins
131 T3Editor_TSrefLoader::getTypes         t3editor_tsref                          /t3editor/tsref
132 T3Editor_TSrefLoader::getDescription   t3editor_tsref                          /t3editor/tsref
133 CodeCompletion::loadTemplates          t3editor_codecompletion_loadtemplates   /t3editor/codecompletion/load-templates
134 ====================================   =====================================   =======================================
135
136 * T3Editor_TSrefLoader::getTypes and T3Editor_TSrefLoader::getDescription have been combined. The separation is done by
137 the new parameter ``fetch`` being either "types" or "description".
138
139 EXT:taskcenter
140 ^^^^^^^^^^^^^^
141
142 ===================================   ========================   ======================
143 Old identifier                        New identifier             New AJAX ID
144 ===================================   ========================   ======================
145 Taskcenter::saveCollapseState         taskcenter_collapse        /taskcenter/collapse
146 Taskcenter::saveSortingState          taskcenter_sort            /taskcenter/sort
147 ===================================   ========================   ======================
148
149 EXT:workspaces
150 ^^^^^^^^^^^^^^
151
152 ===================================   ========================   ======================
153 Old identifier                        New identifier             New AJAX ID
154 ===================================   ========================   ======================
155 Workspaces::setWorkspace              workspace_switch           /workspaces/switch
156 ===================================   ========================   ======================