Where to find a TYPO3 extension? - typo3

What's the best practice to find a TYPO3 extension for my website? Where to look and how to find the best extension for my use case?

The main source for finding a TYPO3 extension is the TYPO3 Extension Repository (TER): https://extensions.typo3.org.
There you can search and filter extensions and see if they support your TYPO3 version.
If you are using TYPO3 in Composer Mode, another source is https://packagist.org/.
There you can search for TYPO3 extensions using https://packagist.org/?type=typo3-cms-extension.
Notice that the TER also displays how to install an extension package with Composer if an installation is supported this way:

Related

How can I remove merged-xyz.js from Typo3 8.7 Backend?

I have a problem with the extension alm_iconpicker. This creates a new content element with a popup window and some Javascript. I deleted the typo3temp folder, and now I get a 404 of a merged js-file:
/typo3/typo3temp/assets/compressed/merged-adc822bc42f4d0d49c1bddf919a03b2a.js
I uninstall the extension and install it again, I clear all caches from TYPO3 but this file doesn't be created new. In earlier versions of TYPO3 I could say, no concatenates in the backend. But in 8.7 I don't find this option. Also I change the Mode to develope but still the same error. I search in the Database for the file, but I don't find it.
What can I do?

Upgrade kentico from 9 to 10

When i trying update kentico to 10 version i have a some problem:
"the selected folder is missing a vital kentico component"
but I'm sure I chose the right folder. Who mean why?
It looks as if you are attempting to use the Kentico Hotfix Utility to upgrade from v9.0.50 to hotfix v10.0.41, which is not supported by Kentico. You cannot use the Kentico Hotfix Utility to upgrade Kentico from one major version to another. You need to:
First upgrade the project from 9.0.X => 10.0 - upgrade documentation available at https://docs.kentico.com/k10/installation/upgrading-to-kentico-10
Then you will need to run the project.
Then you can apply the latest hotfix utility - available at https://devnet.kentico.com/download/hotfixes
Then run the project again.
I appreciate you had a missing lib folder, but even if this were present, you still can't perform a major version upgrade using the hotfix utility.
I think in your case, you only have the CMS folder from deployment. But the upgrade needs the Lib folder which was not needed for deployment.
What you can do is to find the Lib folder from another instance or just install V9 of CMS, and you can find the missing Lib folder in C:\Program Files (x86)\Kentico\9.0\Webinstaller\Web
Few things can cause this:
Customized core files
Missing dll's
Changes in the web.config which cause Kentico references to be broken
and some other issues, but these are the most common we see.
Have you tried to open the project within Visual Studio and build the project? Secondly, are you selecting the directory with the CMS and Lib directory in it?
Does your project has the default structure or is it loke it was installed to the root of the web site? Default structure is some folder and underneath are the CMS, Lib and also the .sln file and few others. Looks like you have just the content of the CMS folder. In this case you either need the original project or upgrade the manual way.
You may also run CodeUpgrade tool from Kentico
Basic detection
Run CodeUpgrade.exe from the command line, with the path to your project’s solution file as the parameter (WebSite.sln or WebApp.sln).
For example:
CodeUpgrade.exe C:\inetpub\wwwroot\Kentico9\WebSite.sln
The tool generates a csv file containing a list of custom code occurrences in your project that are no longer valid in Kentico 10. The information will help you update your custom code after you perform the upgrade.
Source - Kentico documentation The documentation has all the commands to run and detect the incompatible code. This might help you.
Kentico 9 to 10 Upgrade tool - http://download.kentico.com/CMSUpgrades/Upgrade/Upgrade_9_0_10_0.exe
Basic steps to ensure before you perform upgrade - https://docs.kentico.com/k10/installation/upgrading-to-kentico-10

How to install extensions in contao 4.4

I installed contao 4.4 in my localhost successfully.After successful installation I tried to install an extension via contao manager.Unfortunately it fails with console error.So I download zip file of extenson from codefog
and put it in the folder root/system/modules .But the extension is not found in backend.I think the extension is not installed successfully. How to make it works? Please help me.
This is how i install extensions in my contao 4 standard-edition. As commented, this only applies to the standard-edition, not the managed-edition. If you don't want to change to the standard-edition, you may better wait, until they fix the problem in the contao manager... Otherwise this is how it works:
Installing a Contao 4 bundle
Info: A bundle is the best thing you can find for extending contao.
It is the cleanest way of adding functionality to the contao cms.
Find the module on https://packagist.org/
Get the "require ..." command from under the title
Connect to your hosting (or if local, open cmd or terminal)
Change to the root of your hosting
Execute the require ... command for this extension
composer require madeyourday/contao-rocksolid-columns
Add the module to AppKernel (File: app/AppKernel.php)
In the "$bundles" array we can now add our bundle to the list of bundles, that contao should load: (the bundle name used in this line can be found in vendor/%developer%/%extension%/src/ and then there is a ...Bundle... php File there, that tells you the name of the bundle)
new MadeYourDay\RockSolidColumns\RockSolidColumnsBundle(),
Open the installtool of contao (contao/install) and update the database
Installing a Contao 4 extension
Info: A contao 4 extension is defined by it's developer, it is actually still the same method of programming like in 3.5 but someone has tested it in contao 4 and approved of its functionality. This is the second best thing you can find for extending contao.
Find the module on https://packagist.org/
Get the "require ..." command from under the title
Connect to your hosting (or if local, open cmd or terminal)
Change to the root of your hosting
Execute the require command for this extension
composer require heimrichhannot/dlh_googlemaps
Add the module to AppKernel (File: app/AppKernel.php)
In the "$bundles" array we can now add our extension to the list of extensions, that contao should load:
new ContaoModuleBundle('dlh_googlemaps', $this->getRootDir()),
Open the installtool of contao (contao/install) and update the database
Installing a Contao 3.5 extension
Info: A contao 3.5 extension is your last hope, it is the same code as in contao 3.5 may or may not work - you have to test it yourself.
Find the module on github (or some other repo)
Conntect to your hosting with ssh (or if local, just open cmd or terminal)
Change into "system/modules"
Download the repo (e.g. git clone https://github.com/ContaoBlackForest/contao-system-notification system-notification) - notice the added "system-notification" at the end, that should be the foldername, in which the extions has to be (you can find the folder in the composer.json file inside the extension under "Resources/contao")
Create syslinks (bin/console contao:symlinks)
Add the module to AppKernel (File: app/AppKernel.php)
This line should be added once, just after "use Symfony\Component\HttpKernel\Kernel;" (this only has to be added once and only if you are using contao 3.5 extensions)
use Contao\CoreBundle\HttpKernel\Bundle\ContaoModuleBundle;
In the "$bundles" array we can now add our extension to the list of extensions, that contao should load:
new ContaoModuleBundle('system-notification', $this->getRootDir()),
Open the installtool of contao (contao/install) and update the database
Your Question
To awnser your question, as the module you want to install, is a contao 4 extension, you could use the according instructions from above.
contao 4 extension - https://packagist.org/packages/codefog/contao-news_categories
You do not need to install this extension manually. Simply run
composer require codefog/contao-news_categories
in the root folder of your Contao installation. Depending on how you installed composer the command might be different.

How can I add a composer.json to a static TYPO3 project?

I am using a working TYPO3 7.6.14 environment with many extensions. Now I want to add a composer.json file manually. I do not want to create a new project which will download the latest TYPO3 core and TYPO3 extensions. I am afraid that this could accidently overwrite some extension's PHP files.
I need a safe way to add a composer.json file which will not change the present TYPO3 PHP files automatically. I prefer to download TYPO3 and the extensions manually. Therefore I do not want to use the composer mode. I must find a way to prevent composer from overwriting my self written PHP files.
I need a composer.json file because I want to add the external TCPDF library which is on its own place on the file system and not inside of a vendor folder inside of TYPO3. And the file ext_autoload.php is not supported any more by TYPO3 7.6.
I have read the https://usetypo3.com/typo3-and-composer.html#c51 recommendations. But it only shows the way how to create a new TYPO3 project using the command line and the composer command. Is it also possible to download a composer.json file into a TYPO3 folder (which?) in order to tell the autoloader where it will find the external TCPDF library?
I have unzipped the TCPDF file under /var/www/html/TCPDF-master/tcpdf.php . I want to use TCPDF, TYPO3 and its extensions unchanged and never updated by any composer command.
Introducing Composer for not using it's features seems a bit strange to me, but yes, it's possible to define a dedicated version or commit-hash in a repository to disable updates.
However, I would recommend to make use of the tilde ~ operator to enable updates on the accordant branch, to e.g. include security updates automatically. For TYPO3 CMS this dependency would look like the following, to stay on the 7.6 branch:
"require": {
"typo3/cms": "~7.6.14"
}
Find further details on how to declare versions in the Composer documentation.
Besides that, it seems, that you're not using Composer at all for the root project. You could then create a wrapper extension for TCPDF with one of these options:
use Composer for that extension to require TCPDF and load the generated autoload file (e.g. in typo3conf/ext/tcpdf/vendor/autoload.php) in your wrapper extension
directly copy & paste TCPDF's source (which seems to be the scenario you're up to) and add the autoloading information to ext_emconf.php, which is similar to previous ext_autoload.php - find details about that in a blog post about class loading

How to create a new extension in typo3 6?

How to create a new extension in typo3 6?
Is the kickstarter extension compatible with typo3 6?
You can use the extension "extension_builder". It generates (skeletons for) extbase/fluid based extensions and is compatible with TYPO3 6.0 (Makes even use of namespaces in generated extensions, which were only introduced in 6.0).
If you want to build fluid/exbase extensions, you should read this book to get familiar with these extensions. In german it is also available as paperback.
I'm not sure the "kickstarter" extension still works, but its last update is a maintainance release to make it work in TYPO3 v4.6, so there is a good chance it does.
Q: How to create a new extension in typo3 6?
A: There are two ways to create a new extension in typo3 6.
The first way is described in this post: See accepted answer on this
page. It is a point and click user interface. You have to install the extension "extension_builder"
The second way is via command line. It is described here: "Generating a Provider extension".
Simple example for the second way of creating an extension:
Log into your typo3 v6.2 project
Install extension "builder"
Open a shell
cd to document root of your typo3 project
type in this command to create an extension with the extension key "test":
./typo3/cli_dispatch.phpsh extbase builder:providerextension \
--extension-key test --author "Your name your#email.tld" \
--pages 1 --content 1 --controllers 1 --git 1 --travis 1 --use-vhs 1
Fire up your php editor and go to path_to_your_typo3_project/typo3conf/ext/test and edit your brand new extension.
For more information visit https://fluidtypo3.org/documentation/templating-manual/templating/provider-extension/generating-extensions.html
Q: Is the kickstarter extension compatible with typo3 6?
A: No. But the "old" pi-based extensions, you create with the kickstarter will still run on typo3 6.