Release notes freestyler v6.0301.23

Release summary - brief

The biggest release in 20 year of Freestyler!
This release was first pre-released at 15-09-2022 and 28-10-2022 and 07-11-2022 on a subset of our cms customers. 

Several new important features were implemented to let content managers and SEO experts be able to manage every detail of their online content and sourcecode.
Also a tremendous amount of small changes in relation to small wishes or known/logged content management issues. And finally almost a complete cms engine overhaul, all agent code was centralized in a single script library. Making searching for sourcecode logic and knowledge handover very easy.

Admin findreplace logic extensions:
Added option for updating in (tabbed)forms & inbox selections.

Document conversion:
With hierarchy items, convert, disconnect and move any document to a new type or location.

FORM enhancements:
All new question types supported.
Managable question attributes, for interactive change triggers.
Use custom @formula lookups in field options and default values.
Synchrone processing of forms & a custom (submit) redirect page.

Google and statistics gathering in general:
Gather data with Google GA4, Tag Manager, Universal or any custom statistics tool.

Interface changes (backend):
- The entire backend interface is now scalable (relative object sizes). Making content management through tablets much more pleasant.
- Introduced SubTabs, for presenting more and more backend data without making the interface `to busy`.
- Changed and prepared the entire internal code setup (of subforms) for easier implementation of the newly planned & designed Bootstrap backend interface.

Insight / Usage:
Find out where your website elements are used, by means of the Info - Usage TAB. For forms, banners, labels & templates.

Online caching extensions:
Now also caches filter queries, resulting in ultra fast filterresults.
Caching for authenticated users is now also possible, either shared or private authenticated caching.

PROPERTIES enhancements:
Custom backend property fields now grouped in separate tables.
Display properties anywhere through own hide-when formulas.
Combine data in computed fields (and connect these fields in your backend pages or online web-pages).

Rebuild of code engine:
All agentcode moved to a single code library, for easier future knowledge handover.

SEO enhancements:
Manage html head, body-start, body-end and javascript code directly from a cms document.
Handle a client side 301 redirect.

Release summary - extended


Auto data cleanup:
Check and cleanup admin titles for incomplete html code/tags. To avoid messing up the backend interface due to improper titles being used

Banner management:
- Make it possible to add C8 - Top/Footer objects through banner management.
- Banner management on website doc was introduced to manage bannerListBoe (Body End) and bannerListBos (Body Start) items. These contain a list of coupled, individual, banners (UNIDs).

CSS fixes:
- Freestyler CSS sequence: please load CSS in the following order:
 * third party css
 * screen + print css
 * modules css
 * fixes css
- CSS Editor fixes, do not work, for admin pages of the formbuilder (due to absence of websiteID). This was discovered due to presence of large SVG icons.
- CSS of the searchmodule, when present, is not loaded in the FS3 header code.

Data and document migration:
Make it possible to covert a maindoc in a subdocument and contrariwise:
- Maindoc to subdoc
- Maindoc to mainmenu
- Subdoc to maindoc (disconnect)
- Subdoc to new maindoc/parent (move)
- Mainmenu to maindoc
- Maindoc and mainmenu to other website
- Database to other website
- Database to new maindoc within the same database
- Database to new database (without children)  
- Maindoc with subdocs to database with maindocs (only)
- Submenu to mainmenu (disconnect)
- Label to maindocument or mainmenu

Form builder fixes and enhancements:
- Please add support for phone nr field on the form builder, for better usability of our forms on mobile devices. Dropdown (multi), Date, Number, Phone, Url and Hidden fields are now supported.
- Add a sorting column to the form overview. To be able to quickly track the last altered form.
- Add the possibility to add attributes to form fields. This will allow content managers & developers to make forms much more interactive (without the need of editing the basic responder module).
- Support/autofix use of spaces in entered e-mailadresses of MAILBOXes and EXTRASENDTO field.
- The forms replyto & from addresses are not calculated anymore in case the e-mailadres item is not obligated/required.
- Make use of @formulas/lookups possible in field options and default values (of the form builder).
- Form builder, shows the placholder field, at a strange location in the top corner, in case of an upload field.  
- The upload field does not have the descriptive 'info text / comment field' (i.e. used for displaying online help info with a question).
- Display the MERGEFIELDS table separate and also independant of the tabbed form settings.
- Move the formbuilder mailtemplate selector to the same page-position as the normal template selector.
- Freestyler mailroom cannot handle `&` character in an email/responder reply subject. The text after the `&` is not processed.
- Make use of alias values, like `display value|realvalue`, possible on form fields and property fields.
- Trashed inboxes are not pickable anymore
- Keep formerly saved inbox selection/option (on the document) to avoid data/selector fallback issues due to a trash action.

HTML templates:
- A complete (html)template set can consist of dozens of templates, please make an archive for those unused / disconnected templates.

Merging of data:
- Actively used `Global Mergecommands` are now built-in. The long list of commands can be removed from the Freestyler config (up to the last [bottommerge_dbroot ] command). The built-in commands can be overruled manually by entering a new command with the same name (but new @formula logic).
- Merging in merging not always working due to the order of (custom) mergecommands. Make merging in merging possible everywhere (unregarding the sequence of commands).


Module Usage insight:
It would be very usefull when insight could be given in the usage of some data objects (like Banners, Forms, Labels and Templates).
Insight can now be displayed through the Info tab.

Paginators fixes:
- During pagination on an admin document, i.e. gallery or attachments or referrals, new unsaved data is being lost.
- A [merge_paginator ] mergecode is present in online page content in case the paginator is disabled on a search (or normal) database page.
- Online pagination with value 1 now also possible.

Property & data management fixes:
- Menu & Form sorting option, through up/down arrows, does not always work reliable.
- Menu & Form sorting option, through inline editing of the position number(column), does not work in case the existing menu item has a descriptive name of which the first letter is alphabetically `higher`.
- Make use of @formulas/lookups possible in field options and default values (of the form builder).
- Property saving mechanism, only save property data when it is actually changed, instead of always (re)saving all property data.
- Display property data, when available, in a separate table (on each admin tab)
- In the property overview, on the database settings, show where and on what tab properties are used/present.
- Old residing data items can give content management problems, offer the content managers an overview of present Notes data items (on the info tab) and offer a way to delete those items.
- `Strange characters`, like an &, break the crosslink module.  Make it possible to store all kinds of characters in a crosslink.
- Automaticly adjust the datepicker (future) years range for reference and archive items.
- Make use of alias values, like `display value|realvalue`, possible on form fields and property fields.
- Open a brand new doc, default, as `under construction` this avoids extra clicks during content management.
- Set the default value of the header images module to 'document' instead of 'website'.
- Change the copy logic, to 'copy and direct edit'. So copying a doc results in opening the new copied doc directly. Make it apply for all doc-types.
- Offer a quick export/datadump at the freestyler config. At least with Seo ID, Friendly URL, SEO title & SEO description
- Make labelpages pickable in menu items management, also in news/calendar/homepage management (pickers)
- On the fS3 template management, module responder, the upload and dropdownmulti html inputfield do not scale.
- Wrong trash date in several trashbin overviews (creation date instead of trash date).
- On the headerimages tab, dropdownitem changes: change the default value to `Document` and the option `Website` was omitted/removed on the website document itself.
- Deletion of, crosslink / gallery / attachments, lisitems does not always work (often when strange characters are used in these items). Change the deletion mechanism so deleting is always possible.

Proxyserver:
- Proxyserver management overview is blank in case of multiple (15+) subsites.
- Add subsite domain to proxyserver overview.

Searching:
- Make specific/quick searching in trashbin possible.

Security:
- Hide html (backend) from sourcecode for disabled modules.
- Allow acces for admin views only for Moderator/Admin/ASPerience.
- Where possible run agents as webuser.

Theme handling:
- Theme selector does not work anymore after moving themes back and forth for a few times.
- Default preselect all values for iPad and mobile devices  (otherwise they show an unexpected `0 selected`)

Navigation menu:
- Left navigation menu does not change when editing a database title.
- In case of multi-sites management, the website selector falls back to the previous used website the first time you click the selector.

Performance: 
- Rebuild online filtering (with multiple `select` boxes) from serial to synchrone.
- Also ad filter query caching to save resources and speed up performance in case of complex filtering and searching. 
- Add online freestyler caching voor Authorized users (both shared as individual caching). Making it easier to build closed/secured web-apps with quick response times.

SEO enhancements:
- Add a realtime character counter for the SEO Description item (incl. spaces), so a content manager, can instantly see the size of the entered description.
- Handle a client side 301 redirect.
- Manage html head, body-start, body-end and javascript code directly from a cms document.
- Seo Friendly paste & cleanup. In case of pasting in the SEO Friendly item, directly, clean and convert data. Capitals to Lowercase, spaces and underscore to `-` character.

Statistics and tools:
- For website statistics build a proper solution to support custom measurement with one or more statistics tools in parallel. At least for Google Analytics GA4 and/or GTM (Google tagmanager).