I currently got the task to upgrade a custom made CRM extension named "kbs". It was developed on TYPO3 4.7 and using old namespaces in its classes like "Tx_Kbs_Service_TestService" etc.
I want to upgrade this whole extension to be able to work properly with our current backend version of 6.2. More specifically i want to be able to use the extension builder to make changes to this extension which i am currently not able to do on the 6.2 TYPO3 backend. It is not even an option to select the "kbs" extension in the extension builder.
Of course i reasearched the web but I find it very difficult to find information what you have to do in order to addapt a custom extension.
So far I assume that i will have to change all the namespaces in all my classes manually and maybe watch out for decrecated classes. But I do not really know if that is the way to go.
Does anyone have and guidelines, links or tipps for me? I would really appreciate it!
Thanks in advance,
Simon
To the first question:
In extension_builder only extensions are changeable, they had their original configuration made by extension_builder.
Extension builder itself is only an option to use, and there were also other options to kickstart an extension.
Update:
This is true, that extension builder is not an "editor" for extensions but a tool to help kickstarting an extension.
If I would get the task and extension_builder would be available I would not use it to make changes on the code. It is not 100% sure, that manually changes were not made on the code after its last automatically generated version. And if dummy actions were changed and properly excluded from the config they could be also deleted.
I think your best choice to change the things manually.
There are two source to read first:
TYPO3 6.2 Release Notes.
What's new presentation (TYPO3 6.2)
They contains breaking changes and some example.
If you do not change the PHP version, than changing the Namespaces and some deprecated functions. (The sources above could help to get an idea on those)
One tricky part could be to migrate old image logic into the "new" FAL (File Abstraction Layer). If you don't need to deal with images, then it must be an easier thing to go with.
There is also an extension to help with some migration stuff: smoothmigration.
You can find some hints in this presentation also:
jweiland: Smooth Migration TYPO3 4.5 > 6.2 LTS
Related
I have to refactor a few very old TYPO3 extensions. they are compatible with ^4 but the company I'm working for now needs them for ^8 (the development for this extensions stopped for whatever reason).
I was wondering what is the best approach for me to get this task done -
are there some major resources I could use to get into that topic?
or a general changelog for TYPO3 extensions based on the version up from 4-9?
Any information is much appreciated.
Trying best to answer this, it's up to you how you maintain your site. Off course you need to check the complexity of the extension you build.
Check a few parameters below:
1. Complexity of the extension
Off course you have a big challenge to maintain code (Probably PI-Base extension). Your code should work with TYPO3 8.x as well as PHP 7.0.
2. Code Scalability
A simple thing, your code must be clean so understand better.
Now, you have two way to maintain your extension which is:
Re-build
Use existing extension (Migrate & make this compatible)
Re-build Extension
If you don't have complex application in your web site, you can follow #Aristeidis Karavas and rebuild the completely new extension (Extbase approach off course).
I'll recommend, re-develop for better quality product and to get optimized speed! What do you say?
Migrate Extension
For TER extension (which is available at extensions.typo3.org) might provide migration extension, such as EXT:tt_news to EXT:tx_news. For the custom extension, you can write your own SQL script which migrates your extension data to the new extension.
Compatibility Extension:
You can use compatibility extension available at TER which provide some easy solution to map TYPO3 classes.
Useful Links:
Here is some useful link could bring you to the bright side and will make your stuff easier:
EXT:compatibility6
EXT:compatibility7
Blog: Upgrade Guide
Bernd has given deprecation lists Links here
Hope this will help you!
I want to set up an open data website with the typo3 cms. For open data I do not know how I can manage with typo3. After a tour on google I found the CKAN API.
My questions: is it possible to integrate them? If not, are there any other solutions with Typo3?
Thank you for your possible answers
I don't know an implementation of the CKAN API and a quick search in the TER (TYPO3 extension repository) never showed any results.
Nevertheless there exists an extension filemetadata which is doing probably partially the requested features. Here the links:
filemetadata on Packagist.org
filemetadata on github.com
For the case that the features are not enough or the structure is not like desired a new extension could be programmed where some basics could be taken from the extension above, at least it could serve as example how some things are done.
It has to be mentioned that some extensions are never registered in TER but only available on github perhaps. So before programming something a deeper search might be advisable.
In former times another extension was common for Digital Asset Management, the extension-key and Name was dam. That extension is not compatible with current TYPO3 versions and taking it as example is probably no good idea as much outdated code had to be adjusted.
Nevertheless the advised example above is not the only possibility, the search for file metadata still shows other extensions that are compatible to current TYPO3 versions 7 and 8 which could be taken as examples. Perhaps changed search-words still let you discover more useful extensions.
The mentioned extension in the top is supported by the TYPO3 core team, the others are provided by other developers. I never compared the extensions and you had to see code or/and features by yourself. So I never endorse any of these solutions as usage is rarely requested.
If you search for the most recent code it's always good to search on github first for the development branch or a release that is not (yet) published in TER. Another source of information is forge.typo3.org, there many extensions are listed too, some even with repository on git.typo3.org, perhaps it's worth it to mention that this source is abandoned by some developers in favor of github.
Technically it would be even possible to extend any found extension and add more features or change something just by another extension - without touching the original extension. But before thinking too far you should first have a look if any found extension could satisfy your needs already.
For further questions that might be already related to coding you should open new question(s) with more detailed explanation and code-examples, even if that doesn't work yet.
EDIT 15th Oct 2018:
Just got a hint about a helpful extension for those purposes: extractor. Additional fields shall go to sys_file_metadata and be a part of the extraction service.
As I never did verified it by myself I can't give further hints in the moment.
It's just a simple question but couldn't find any helpful solution or hints...I have the current TYPO3 version and watched some videos on YouTube about it and wondered why I have no autocomplete when writing some TypoScript.
I saw it in this video: https://www.youtube.com/watch?v=ZCSIK3lFfwM&list=PL1D69sw7eWECaiqIOLhcSnjgTTjLJdd4I&index=5 at 03:45
Is it possible to do it in the newest version or do I have to use an IDE?
First install the extension ts3editor.
Then you can "activate" auto complete just by pressing CTRL+SPACE. For example, write:
->config.
then press
->"CTRL+SPACE"
then the autocomplete advice/suggestion will pop-up.
I use version 9 and it works fine.
The TYPO3 core offers the extension "t3editor", which is based on CodeMirror and provides syntax highlighting and codecompletion.
I suspect it just isn't activated in your TYPO3 instance. You can check this in the Extension Manager in your TYPO3 backend.
1st edit: As the extension seems to be working in general – please try writing config. on a new line in your editor. The Top Level Objects (e.g. config) aren't auto-completed in the backend, but it should open a box with suggested configurations after you wrote the dot.
t3editor has some restrictions: Nesting isn't supported (see example below). I read it can have problems inside conditions, too.
// This is auto-completed:
config.no_cache = 1
// This isn't:
config {
no_cache = 1
}
In short: t3editor can only help you to a certain degree. It is considered best practice to save all TypoScript (and everything else related to templating) in files into a dedicated templating extension (or sitepackage) and use an IDE. There are TypoScript auto-complete plugins for several editors and IDEs, for example PhpStorm.
If you want more information about using sitepackages, see this video series on YouTube by the offical TYPO3 account, or take a look at my personal templating extension which I use for new websites.
2nd edit: After you wrote you're using the Sprint Release 9.1.0, I was able to test the behaviour in this version and can confirm that code completion won't work in it.
Actually, that seems to be the intended future behaviour of t3editor for the TYPO3 core team. They want to remove this extension in TYPO3 v10 altogether (it's planned to be available on GitHub then). The reason is that they don't recommend to use/save TypoScript directly in the database, but in a separate template extension (see explanation above).
Sources:
TYPO3 Bug tracker, issue #81885
Communication platform TYPO3 Slack, Channel #typo3-cms-coredev, Nov 19th, 2017
So again, I recommend to use an API instead.
I recently switched from Contao 3.X to Contao 4.4. So far so good. I like it very much. Especially working with composer.
Currently, I am looking for a solution, to create custom content elements. In Contao 3.X I could do this with the extension dma_elementgenerator (https://github.com/DMAGmbH/dma_elementgenerator). Now it looks like it's deprecated and not usable in any Contao 4.X version.
Has anyone a solution (or at least an idea) how to create custom content elements?
Example: I have to display a section with some progress bars:
I'm just looking for a way to manage those stats from the backend. Actually, I just need following custom fields:
Title
Percent
Colour
I was looking for a possibility in the last few days, but I couldn't find any. If there is no direct solution: has anyone a tip/howto, so I can possibly create a new Contao 4 extension by myself?
Never created an extension in Contao 4.
Currently you can use rocksolid custom-elements[1] by Martin Auswoeger.
He has already ported them to Contao 4.
Other extensions will follow soon.
If you really want to create your own extension, there is plenty of information available in German from various talks on the conference website, the website of the Contao Nordtag and so on.
Sadly almost none in English so far but we will change that.
For beginners, I always suggest to grab a small contao extension (nowadays called "contao-bundle") from github or packagist and read the code.
[1] https://github.com/madeyourday/contao-rocksolid-custom-elements
Received a solution from another forum. There is a way to install Contao 3.X extensions in Contao 4.X.
The how to is in german, but maybe someone will need it too:
https://www.marcosimbuerger.ch/contao-kurzanleitungen-details/contao-3-erweiterung-in-contao-4-installieren.html
I successfully upgraded TYPO3 version 4.7.12 to 6.1.7, and also followed all steps for upgrading.
http://wiki.typo3.org/Upgrade
All functionality works fine in both side frontend and backend.
But the backend content view looks ugly, see attachment image.
Templating method: TemplaVoila
Please help me where I missed something.
You should be aware, that TemplaVoila is not actively developed any more. It also is not 6.x compatible and will most likely not be fixed to become compatible.
From the looks of things I'd say either TemplaVoila or any other non compatible extension break your backend view. I'd suggest you disable all extensions that are not explicit 6.x compatible and try to enable your way back until you know which extension causes this, and TV is a good candidate for this.
As a possible replacement have a look at fluidcontent or write your own content elements via a simple extension.