jwtools2 comes with a huge set of tools for TYPO3. Each feature you want has
to be activated first, before using. So, only activate, what you really need.
We deliver a task to update all of your configured Solr indexers. There is no
need to create one Solr indexer task for each PageTree anymore.
In our jwtools2 backend module you have the possibility to clear individual solr
cores by indexer type.
Tasks
Since version 3.0.0 we have a new task to execute your individual SQL-Query. You
can insert multiple queries as long as you divide them by ; + Return.
TYPO3 Settings
There are some settings for TYPO3 you can activate in ExtensionManager instead
of writing PageTSConfig. As an example: One click to show page UID in PageTree.
Commands
jwtools2:cacheQuery
Use this command to show all entryIdentifiers of a cache tag or show cache
content of a specific cache entry.
jwtools2:convertpasswords
Use this command to update plain passwords of be_users or fe_users to hashed
password using the currently configured hashing method. Be careful: This command
does not know, if password in DB is a plain password or a md5 password. The
Command loops over all configured Hash Methods of TYPO3. If no Hash Method was
found for current password in database, the password will be updated.
Database
If you make use of ConnectionPool::getQueryBuilderForTable() in backend you will
also retrieve deleted records. To prevent that we have created a
BackendRestrictionContainer. You can use it on your own or you can use our
method JWeiland\Jwtools2\Database::getQueryBuilderForTable()
ViewHelpers
Format.HtmlViewHelper
This VH is a modified version of the original Fluid f:format.html VH. We have
added a data-attribute where you can assign the data which should be used while
processing lib.parseFunc. You should use this VH, if you have added
if-conditions or CASE on property field or dataWrap to lib.parseFunc.
Solr.MemoryStatusViewHelper
With this ViewHelper you will get the used Memory usage and available system
RAM for selected Solr Site.
Solr.NextRunViewHelper
Calculates next run of Solr Indexer in seconds.
SplitFileRefViewHelper
With version 3.2.0 we have ported functionality of method
GeneralUtility::split_fileref into its own ViewHelper. This is very useful,
if you want your own preview image for videos for example. See an example here:
Add Preview image to your videos
RouteEnhancer
PersistedTableMapper
If you do not have values in URL which have a relation to a table like results
from an API call you do not have any storage to store the mapping from
"Möller Industries" to "moeller-industries" like in realurl times.
This Abstract comes with its own table, where these static values are stored.
Further it implements the static mapper interfaces to prevent generation of
cHash in URL.
See header of Classes/Routing/Aspect/PersistedTableMapper for a full example.
After generating the content of plugin Avalex we call stdWrap and set
current to the output of the plugin with setContentToCurrent. As each
pagetree has its own configuration record assigned, we have to retrieve this
configuration record with CONTENT which sends data to renderObj and now we
have a problem: We only have the data of configuration record available within
renderObj. As we have a completely new ContentObjectRenderer-object here
the current property is empty. So all the replacements in example will be
done on an empty string.
If you activate typo3TransferTypoScriptCurrent we make use of a hook in
TYPO3 and transfer the value of current into child ContentObjects.
This option will only work for cObj types CONTENT and RECORD.
typo3RequiredColumnsForFiles
Add a comma separated list of column names of table sys_file or
sys_file_metadata to set these columns as required. If these columns are not
filled for an image it is not selectable in FileBrowser. It can not be inserted
into a ContentElement or record.
typo3ExcludeVideoFilesFromFalFilter
Hidden files are normally hidden in filelist module of TYPO3. Ok, you can
activate hidden files in filelist in your User settings, but may be this
Checkbox was hidden by an Integrator or Administrator. Or maybe showing all
these system files like .htaccess, .htpasswd, .DS_Store is a little bit too
much. If your editor creates a new external video TYPO3 stored this video
information in a .youtube and/or .vimeo file. If a title could not be created
the files name is still ".youtube". On Mac and Linux Operating Systems files
starting with a dot are handled as hidden files. So it is not possible for an
editor to rename, edit or show this file. Activating this option will still not
show hidden files in general, except files with .youtube and .vimeo file ending.
typo3ApplyFixForMoveTranslatedContentElements
If you move a content element (tt_content) from one col to another
(backend_layout) the related translated records will not be moved to new col.
This is a problem for over 11 years in TYPO3.
Activate this option to apply a patch (hook) to solve this problem. We add the
missing DB queries to move the related translated records to new colPos, too.
BUT: Currently I haven't found a solution to hook into JavaScript of TYPO3 to
move the translated records directly. So after a move of tt_content records you
have to reload the right frame on your own. If you have a cool idea how to solve
that the nice way feel free to create a PullRequest to jwtools2 ;-)
reduceCategoriesToPageTree
Activate this settings to reduce all available sys_category records in
Categorytrees to categories which are created in current pagetree.
We try to get the current Page UID you're editing and slide up until we find a
page which is configured as isSiteRoot. Now we get all sys_category records
for this pagetree and remove all disallowed categories from Categorytrees.
enableSqlQueryTask
Adds a new task to scheduler to execute your individual SQL-Query.
enableContextMenuToUpdateFileMetadata
Adds a new entry Create/Update file metadata into context menu of filelist
module to create a missing file metadata record or to update the existing
metadata record (sys_file_metadata).
This entry will read original width/height from file and uses them to create a
NEW file (imagemagick) with same dimension, 100% quality and colorspace RGB to
update width/height also in EXIF metadata. That's needed for the registered file
extractors like OnlineHelper and EXT:tika which may read width/heigth from EXIF
instead, which could be wrong in some cases. Because of different image tools
(Photoshop, Paint, Gimp) the original file may result in a different image size
after process with imagemagick/graphicsmagick.
enableCachingFrameworkLogger
With help of the Caching Framework Logger you can analyze each cache entry just
before it was written to cache.
This feature is helpful to inform you, if a "wrong" cache entry was written.
If you activate that feature you (as administrator) have to create one or more
cache expression records on root page (PID: 0). Give it a title and enter an
expression. If you just search for a word in a cache entry leave checkbox for
regular expression untouched. Internally it will start a PHP:mb_strpos search,
so please be aware of case sensitive strings. For more complex search activate
checkbox for regular expression. It starts a PHP:preg_match search internally.
You don't need to prepend/append a delimiter. It uses "/" internally and escaped
values for you automatically.
enableReportProvider
If EXT:reports is installed and activated this option will add additional
information to reports module. These information will also be available in
status report mail, if configured in scheduler.
Currently following information will be shown:
List of all (not only security related) updatable extensions incl. version number.
...
sendUpdatableExtensionsWithSeverity
Default: info
Only valid, if option enableReportProvider was activated and you make use
of the System Status Update (reports) task.
The information about updatable extensions has a severity of type INFO by
default. It does not make sense for us to categorize bugfix extensions as
WARNING. But why should YOU decide about that?
There is a checkbox called `Always send notification mail (not only on errors
or warnings)`` in ``System Status Update (reports)` task which is deactivated
by default. As we categorize updatable extensions as INFO you will not be
notified about them in status mail. But if you activate the checkbox in task
you will be notified about various system status and of cause updatable
extensions with each scheduler run. Yes, this can be a lot of mails and a lot
of content to search for the right section. Maybe a frustrating job.
Setting sendUpdatableExtensionsWithSeverity to warning will set severity
of updatable extensions to WARNING. Now, you can leave the checkbox in task
deactivated and you will only get mails, if there are warnings in your TYPO3
system and/or updatable extensions.
solrEnable
Activates Solr feature in our jwtools2 Backend module where you can manage your
Solr cores and clear individual index types.
solrSchedulerTaskUid
If you make use of our Solr Scheduler Task after activating solrEnable you
must copy and paste the UID of our Scheduler Task into this setting. We need it
to show Scheduler Task related information in our Solr backend module.
Known Problems
There may be a problem with our Solr features. We only have a solution for one
EXT:Solr-Version. As we hook into various Solr files, functionality may break if
you update to a newer Solr Version.
Administrator manual
This chapter describes how to manage the extension from a superuser point
of view.
If you upgrade EXT:jwtools2 to a newer version, please read this section
carefully!
Upgrade to Version 7.0.0
Important
This version is not TYPO3 11 compatible!
Removed Option: typo3UploadFieldsInTopOfEB
The typo3UploadFieldsInTopOfEB option has been removed from TYPO3 before 6.2
version. This change was necessitated by the introduction of a paginator in File
Abstraction Layer (FAL). As a result, it's no longer possible to adjust the
position of File upload or create fields above the list without Xclass.
Compatibility Fixes and Updates
Compatibility fix for TYPO3 12
Testing Framework migrated to TYPO3 Testing Framework
Deprecated and Obsolete Features
Remove support for TYPO3 11 and lower versions
Removed jwtools2:executeExtensionUpdate command line controller as it is obsolete.
Removed deprecated functions and usages
Contribute
Contribution to jwtools2 is very welcome.
If you wish to contribute, please follow these conventions:
Writing Issues
If you find a problem in the extension, please write an issue.
If you can fix the problem yourself, please submit a pull request. In this
case, it is not necessary to create an issue first.
Add option to send reports about updatable extensions as INFO or WARNING
Version 5.4.0
Add report to show updatable TYPO3 extensions
Version 5.3.2
Show create/update file metadata item just for images and not SVG, PDF and folders.
Version 5.3.1
Update width/height in EXIF before starting TYPO3s extractor service
Version 5.3.0
Add new context menu item to create/update file metadata incl. width/height
Version 5.2.2
EXT:solr in version 11.0.4 has added some more strict types. To be compatible with new version
we have added these strict types in our XClasses, too. But that way we need EXT:solr at least in version 11.0.4.
Version 5.2.1
Remove "exclude" from sys_language_uid of stored_routes table
Version 5.2.0
Allow execution of multiple SQL queries in task
Version 5.1.0
Add PersistedTableMapper Abstract to store static values without cHash
Change record-Attribute to data in HtmlFormat VH
Version 5.0.0
Add TYPO3 10.4 compatibility
Remove TYPO3 8.7 compatibility
Add HtmlViewHelper with additional record attribute
Version 4.3.0
Add new option "typo3ExcludeVideoFilesFromFalFilter"
Version 4.2.2
Implement better icons
Version 4.2.1
Implement new Extension Icon
Security: Do not show complete hashed password in debug output
Version 4.2.0
Add new Symfony Command to convert plain user passwords to salted hashes
Version 4.1.0
New option to show upload fields in top of LinkHandler and ElementBrowser
Version 4.0.1
CleanUp
Use progress from response in Solr Progressbar
Version 4.0.0
With this Update we do not support EXT:solr versions less than 9.0.0 anymore.
Use of new Site domain model.
Removed Solr.IndexStatusViewHelper as this Feature is completely realized with JavaScript now.
Removed module "Clear full Index Queue" as there is a JS-Button for that in overview now.
Performance: Overview starts much faster now.
Add Button to retrieve Solr Progress for all Solr Sites
Version 3.2.0
Added SplitFileRef ViewHelper to split file paths into pieces
Version 3.1.1
Better support for solr from version 3.0 until 9.0
Version 3.1.0
We have fixed two solr patches. Current they are merged for solr version 10, but if you need them for earlier
versions, you can activate them as XClasses in EM with option 'solrApplyPatches'.
https://github.com/TYPO3-Solr/ext-solr/pull/2323/
https://github.com/TYPO3-Solr/ext-solr/pull/2324/
Version 3.0.1
Add documentation
Better description in ext_emconf.php
Version 3.0.0
Add scheduler task to execute SQL-Queries
Remove TYPO3 7.6 compatibility
Add compatibility for TYPO3 9.5
Links
The links to issue and the GitHub repository are maintained in the Settings.cfg.
You may want to remove this file if all important links are already handled in
Settings.cfg.