Contao 4.4 custom elements - element

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

Related

installing ckan with typo3

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.

TYPO3 – TypoScript auto-complete in backend

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.

Custom Extension Adjustment to 6.2

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

TYPO3 upgrade 4.7.12 to 6.1.7 backend content view issue

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.

How to use Plone as Document Management?

I wish to create a document repository for my company. Reason is because my company have many documents and they did not have a version tracking in place. This means everyone is using different version all the time.
Plone is something new to me and i got to know from a good friend of mine. And too bad he is not around anymore to answer my question. I believed in him and i wish to materialize his idea, to use Plone as a document repository for my company.
I have install Plone and manage to view the default Plone page, add all company's username and change the logo to my company's logo. And now the biggest question is, how to setup the document repository? What i have in mind was to create a "page" for the user to add files, download files, search for files and read its description.
Any lead for me to go about?
Reusable,
Same problem here. We started to use Plone as our main DMS 4 weeks ago (inserting existing docs at present).
For working copies, we use iterate (insert plone.app.iterate under eggs in your buildout.cfg).
For versioning, Products.CMFEditions. I believe this worked out of the box.
For creating new workflow, look into plone.app.workflowmanager and read the docs.
In a previous question we asked, we were still looking at Dexterity which has alot going for it but eventually we decided on adapting an existing content type based on Archetypes.
As for inserting files, as long as the description is ok, they will be found through the in-built search functionality, but you might consider using Iterate mentioned above to make sure that nobody is using the same file twice.
As your new, as I am, the docs seem hard at first but are actually quite good.
And this book is still giving me the foundation we need to keep adding functionality.
Good luck
I think, you should get pretty far with vanilla Plone installation, without developing your own extensions or other customization add-on-products. Therefore, I'd recommend you to start with Plone 4 User Manual to find out everything you could do out-of-the box.
As #Speediro mentioned, versioning support comes built-in for the main content types (and you don't actually see CMFEditions mentioned anywhere), but it's not activated for file uploads. Although, as briefly mentioned in the manual: Content items can be configured to have versioning enabled/disabled through the Site Setup → Plone Configuration panel under "Types".
Working Copy Support (plone.app.iterate) should also be there already waiting for activation on Site Setup's add-ons-panel.
Yet, before the Plone Collective (=community) Developer Docs or Professional Plone 4 Development, I'd recommend Practical Plone 3. It has a bit outdated graphics (because it was made for Plone 3), but it's great next step after the user manual. E.g. how to define content rules to send e-mails notifications for content updates (still through the browser without coding). Or how to create custom forms using Products.PloneFormGen.
When you really need to write your own code, it'd be time for Professional Plone 4 and the Collective Docs.
If you can't have a developer to manage your stuff, I would recommand to stay on official Plone, no custom code and use only widly used addons.
I mean:
stay on the default theme (sunburst)
use the default plone content types
only customize the logo
activate plone.app.iterate in the addon controlpanel
do not play with workflow because they need to know what you are doing. by default a file has the visibility of it's folder. It mean if you can see the folder you will be able to see all files inside. You can just activate default worklfow for files under the ZMI.
Use collective.quickupload addon
Your database will going really fast to a huge size because Plone is doing indexing and indexing means lot's of spaces. So you will have to handle this as system adminstrator;