.. ================================================== .. FOR YOUR INFORMATION .. -------------------------------------------------- .. -*- coding: utf-8 -*- with BOM. .. include:: ../../Includes.txt Upgrading ^^^^^^^^^ This guide helps you **upgrading from versions prior to 3.0**. First of all, I am sorry. I could not make it to write an extensive upgrading algorithm (due to internal deadlines). Thus, we migrated all our instances (and we do use the extension a lot) manually. So I assume, you intend to, too. Here are, therefore, a few little helpers that will make your hard migrator's life easier. To start of, either make sure that you can still access your old installation or make screenshots of your previous SQL Frontend configurations (the backend flexforms). With that at hand you can, more or less easily, set up the new instances and configure them as the old ones. Since the new backend configuration is completely different from the old one, you need to configure everything from scratch. As you may already know (or going to read in the Configuration part of this manual) you can configure the plugin now in various ways (TypoScript, flexform, JSON). Which way to prefer depends on your needs. From my point of view, flexform and JSON are fine as long as there is one instance on a table. If I need more than one views on the same table (e.g. an administration and a user view), I configure it within TypoScript. Keep in mind, that even with TS you need to configure basic settings in the flexform if you set up one, because it overwrites the TS settings (namely, these are the database settings like connection, table and fields). Finally, I will go through all the settings **from older versions** and explain shortly, which setting(s) from the new version corresponds to that. Let's look at the old flexform and divide it by sheets. One last note about the extension **SQL Frontend Detail View**: This extension is not necessary anymore (and will, thus, not be maintained anymore) as the SQL Frontend is from version 3.0 onwards capable of handling detail views. General ------- +-----------------------------+-------------------------------------------------+-------------------------+ | Old setting | Description/Notes | New setting(s) | +=============================+=================================================+=========================+ | Charset | now default to UTF-8 | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable 'add' | | data/bAdd | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable 'edit' | | data/bEdit | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable 'delete' | | data/bDelete | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable 'duplicate' | | data/bDuplicate | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable multiple changes | | data/bMultiple, | | | | data/aMultiple | +-----------------------------+-------------------------------------------------+-------------------------+ | Show search box | | data/bSearch | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable autofilter | | **field**/bAutofilter | +-----------------------------+-------------------------------------------------+-------------------------+ | Display 'show all' | always available below table | - | +-----------------------------+-------------------------------------------------+-------------------------+ | User-dependent col. hiding | | data/bManualColumnSelect| +-----------------------------+-------------------------------------------------+-------------------------+ | CSV download | default within aMultiple; configurable though | data/aMultiple | +-----------------------------+-------------------------------------------------+-------------------------+ | CSV download for Excel | set within aMultiple or dbal | dbal/bPrepareForMsExcel | +-----------------------------+-------------------------------------------------+-------------------------+ | Keyboard shortcuts | not available anymore | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Send emails on ... (action) | specify 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ | Send emails to ... (address)| specify 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ | Send emails to ... (field) | specify 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ | Creation email | configure 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ | Change email | configure 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ | Deletion email | configure 'Email' interceptor | interception/Email | +-----------------------------+-------------------------------------------------+-------------------------+ Database -------- +-----------------------------+-------------------------------------------------+-------------------------+ | Old setting | Description/Notes | New setting(s) | +=============================+=================================================+=========================+ | Use TYPO3 database | | dbal/eType | +-----------------------------+-------------------------------------------------+-------------------------+ | AdoDB database type | | dbal/eType | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable MsSQL heterogen. | | dbal/bAnsiOff | +-----------------------------+-------------------------------------------------+-------------------------+ | Host | | dbal/sHost | +-----------------------------+-------------------------------------------------+-------------------------+ | Database | | dbal/sDatabase | +-----------------------------+-------------------------------------------------+-------------------------+ | User | | dbal/sUsername | +-----------------------------+-------------------------------------------------+-------------------------+ | Password | | dbal/sPassword | +-----------------------------+-------------------------------------------------+-------------------------+ | Table | | dbal/sTable | +-----------------------------+-------------------------------------------------+-------------------------+ | Database fields | | data/aField | +-----------------------------+-------------------------------------------------+-------------------------+ | Search all fields | new search is JS-based; thus, not available | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Sorting default | | data/sOrder, | | | | data/bDescending | +-----------------------------+-------------------------------------------------+-------------------------+ | Amount of entries per page | | data/nEntriesPerPage | +-----------------------------+-------------------------------------------------+-------------------------+ | Additional WHERE part | | dbal/sWhereGet | +-----------------------------+-------------------------------------------------+-------------------------+ | Only current user via UID | | dbal/bOnlyEntriesBasedOn| | | | CurrentUser | +-----------------------------+-------------------------------------------------+-------------------------+ | Only current user via USER | | dbal/bOnlyEntriesBasedOn| | | | CurrentUser | +-----------------------------+-------------------------------------------------+-------------------------+ | Editing only current user | configure using interceptors | e.g. ReconfigureIf | +-----------------------------+-------------------------------------------------+-------------------------+ | Deleting only current user | configure using interceptors | e.g. ReconfigureIf | +-----------------------------+-------------------------------------------------+-------------------------+ | Callbacks for edit./del. | configure using interceptors | e.g. ReconfigureIf | +-----------------------------+-------------------------------------------------+-------------------------+ Logging ------- Logging is not available anymore. Anyhow, it is no big a deal to develop an interceptor for that. See the Extending/ section within this manual for that. Optical ------- +-----------------------------+-------------------------------------------------+-------------------------+ | Old setting | Description/Notes | New setting(s) | +=============================+=================================================+=========================+ | Show primary key image | include the image yourself within the field head| data/aField/... | +-----------------------------+-------------------------------------------------+-------------------------+ | Edit/Add/Duplicate mode | row is default; for others, see data manual | aOverruleOtherDisplayIf | +-----------------------------+-------------------------------------------------+-------------------------+ | CSS class for alternate rows| simply '.odd' | - | +-----------------------------+-------------------------------------------------+-------------------------+ | CSS class for table | .mhomsqlioContainer > .tableContainer | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Column width's | see data/aField/nWidth for detailled manual | data/aField | +-----------------------------+-------------------------------------------------+-------------------------+ | Allow file references | use an interceptor | ReplaceMarkerWithImages | +-----------------------------+-------------------------------------------------+-------------------------+ | Don't include stylesheet | configure within the extension manager settings | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Use manual layout | | data/eDisplay | +-----------------------------+-------------------------------------------------+-------------------------+ | Template | see 'data: Manual' manual | Styling | +-----------------------------+-------------------------------------------------+-------------------------+ | Already uploaded template | see above | | +-----------------------------+-------------------------------------------------+-------------------------+ | Conditional formatting | | data/aConditional | +-----------------------------+-------------------------------------------------+-------------------------+ | Different deletion template | | data/sEditColumnDelete | +-----------------------------+-------------------------------------------------+-------------------------+ Advanced -------- +-----------------------------+-------------------------------------------------+-------------------------+ | Old setting | Description/Notes | New setting(s) | +=============================+=================================================+=========================+ | Debug mode | currently not available | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable caching | caching is set by default; no config. here | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Do not htmlentities() | the plugin does not; no config. here | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Don't convert tinyint(...) | not necessary as type is specified manually | data/aField/... | +-----------------------------+-------------------------------------------------+-------------------------+ | Manually set bool fields | not necessary as type is specified manually | data/aField/... | +-----------------------------+-------------------------------------------------+-------------------------+ | Format timestamps as dates | use specific column/field handler | data/Column/Timestamp | +-----------------------------+-------------------------------------------------+-------------------------+ | Show datepicker | depends on column/field handler | e.g. bDatepicker | +-----------------------------+-------------------------------------------------+-------------------------+ | Date/Time format | depends on column/field handler | e.g. sFormat | +-----------------------------+-------------------------------------------------+-------------------------+ | Enable RTE | use specific column/field handler | data/Column/Rte | +-----------------------------+-------------------------------------------------+-------------------------+ | Only those fields editable | set per column/field | aField/.../bEdit | +-----------------------------+-------------------------------------------------+-------------------------+ | Required fields | use validation per column/field | Required | +-----------------------------+-------------------------------------------------+-------------------------+ | Change field on delete | for documentation, check e.g. dbal/MySql | dbal/bSetDeleteFieldInst| | | | eadOfDeletion | +-----------------------------+-------------------------------------------------+-------------------------+ | Timestamp on add | | dbal/sTimestampOnAdd | +-----------------------------+-------------------------------------------------+-------------------------+ | Timestamp on change | | dbal/sTimestampOnEdit | +-----------------------------+-------------------------------------------------+-------------------------+ | Show sum | | data/bSum | +-----------------------------+-------------------------------------------------+-------------------------+ | Foreign keys | use specific column/field handler | ForeignSingle | +-----------------------------+-------------------------------------------------+-------------------------+ | Multiple foreign keys | use specific column/field handler | ForeignMultipleComma | +-----------------------------+-------------------------------------------------+-------------------------+ | Foreign tree keys | use specific column/field handler | ForeignSingleTree | +-----------------------------+-------------------------------------------------+-------------------------+ | Multi-level foreign keys | not yet available | - | +-----------------------------+-------------------------------------------------+-------------------------+ | Additional links | either specific column/field handler or sWrap | Link, aField/.../sWrap | +-----------------------------+-------------------------------------------------+-------------------------+ | Callback functions | | interception/Callback | +-----------------------------+-------------------------------------------------+-------------------------+ | Additional multiple edit | | aMultiple | +-----------------------------+-------------------------------------------------+-------------------------+ | Icons for multiple edit | | aMultiple | +-----------------------------+-------------------------------------------------+-------------------------+ | Initial callback | | interception/PreProcess.| +-----------------------------+-------------------------------------------------+-------------------------+ | Pre-defined values | | dbal/aDefault | +-----------------------------+-------------------------------------------------+-------------------------+ | Don't prepare _GET | due to security reasons not available anymore | - | +-----------------------------+-------------------------------------------------+-------------------------+ | JS code after sorting/... | | interception/PostDisplay| +-----------------------------+-------------------------------------------------+-------------------------+ | JS code after editing/... | | interception/PostAction | +-----------------------------+-------------------------------------------------+-------------------------+ File Handling ------------- Okay, that's quite easy. You need to use the correct column/field handler (data/Column/FileMultiple) and all these settings can be found there.