This is a live blog from the TYPO3 Developer Days in Malmö (Sweden). This is the page for friday, Juli 14th 2017.
If you like the live blog, please do not hesitate to share the URL. Thank you! At the end of the page there are some social media links, you can use to share.
I hope you enjoy reading. If you have feedback, just let me know.
Here are the links to the other days:
Good morning from Malmö for the third day! The night was short for many (most) people.
Here is a picture from last evening. It’s the view from the skybar in the Malmö Arena Hotel.
The sessions will start at 10:15.
You will find me in the talk of Peter Förger about “Deployment Strategies – The Good, the Bad, The Ugly”
Other options would be “t3kit – kickstart a webpage in minutes” (Josef Spisiak) and “Marketing Automatation: an Introduction” (Jurian Janssen)
Here we go now: Peter Förger about deployment … it is not about tools, but about the ideas behind deployment.
The ugly: Deployment with TYPO3 4.1 … Quixplorer and phpMyAdmin FTW!
Antipattern: Deploying software manually
Signs for this anti-pattern
* extensive documentation
* manual testing
* frequent corrections
* unpredictible outcome
Antipattern: Different environments
a.k.a. “It works on my machine”
Signs of this antipattern
* Testing on development machine
* different binaries, installers, config files
* no “devops”
* deploy successful to staging, to production it fails
* manual configuration management
Now we learn the “good part”
The agile commandements
* keep your code in a repository
It eases collaboration and you will love the history
Automate the build and keep it fast and green.
Goal is to deploy often small pieces to the server and only go on, if all is “green”
Further you want to automate deployment to have reliable and reprocable results.
Testing should happen in a clone of the production environment.
Build radical for continuous integration
* Documented => for devs, pm and customers
* Lean => add value rapidly
Commit small steps and squash the work before merging
The Deployment pipeline
=> Commit code
=> Test it automatically
=> Formulate a test case for the customer
=> Deploy to production
Pipelines are configured in Jenkins files within the project. Jenkins can read this and run the jobs.
Now some “best practice” advice from daily work
=> build artifacts once
=> if anything fails, stop the line and kill the whole process
=> use semantic versioning
=> short lived feature branches
=> use feature toggles to provide features only available to a portion of the users
=> use blue / green deployments
Useful for big deployments, f.e. with DB migrations. Deploy it to one node, test it, switch the live site to the new node and than depoly to the remaining node
* Teamity by Jetbrains
* Bamboo by Atlassian
* Jenkins (pipelines)
Cloud deployments must be handled in a totally different way.
Cloud providers take care of deployment. You have to build that what will be shipped. That means deployment must be re-thought
Several service models are available:
* Software as a service
* Platform as a service (like platform.sh)
Deployment models are
* private clouds => within a company
* community clouds => only a certain group has a access
* public clouds => most cases, but pay attention to privacy and legal stuff
Available providers for TYPO3
A test account for platform.sh is available via typo3.org. A configuration boilerplate for this is available at github.
Q: As a small company we do not use nearly nothing of the “good stuff”. how should we start?
A: Use small steps. Start with code reviews and pair programming.
The next session, which I will attend, is at 11:45 with Jigal van Hermert about the “New little gems in TYPO3 V8”.
Other topics in parallel are a Q&A session of the TYPO3 Association and “Getting Started with test-driven development for TYPO3 CMS” by Oli Klee.
Just a couple of minutes to go for the features that did not make it into the headline
There is only one _cli_ user available, who has admin rights. All the others were gone.
In the scheduler it is now possible to manually schedule the run of the task at the next cron run.
this is usefull, if the cli has other user permissions than the webserver user.
The groups in the scheduler are now collapsable, especially useful, if you have many many tasks.
The scheduler has now a link browser to choose a start page.
MySQL strict support is now fully supported from the core. Extensions must add compatilibity on their own.
The core ships a script to check a commit against the Core CGL, which you can use in your IDE.
There is a document for creating custom content elements, which describe it step by step
A hook regarding the post processing of the preview url in the backend. You can change the page id.
The settings for mbstring / iconv are gone, because the conversions are autodetected now,
Multiple locales for the TypoScript setting “config.locale_all” available now. It is a comma seperated list. First working one is used
Some new viewhelpers for the form viewhelper made it into the core => f:form:option and f:form:optgroup
A hook was added to add custom typoscript templates. It makes it possible to define a “virtual” root template, if no one is defined in the DB. No need to configure it in the DB any more.
There is a rst file documenting this feature, which comes with the core.
Jigal shows a practical example of such a hook using a private project.
The backend layout wizard is now available inline. No external window is necessary any more.
The link field was massively improved.
Actions and dialogs from paste icons appear now in modal windows.
If you create a new file in the filelist, the editor opens now per default, to create the contents.
The recycler allows to recover a pagetree until the root page, not only the one page you want to recover.
The “.well-known” directory used by Let’s Encrypt (f.e.) was added to the htaccess, thus it is not rewritten any more.
Because prototype js framework is removed completely, it is now possible to use jQuery just with the normal “$” sign.
It is possible to collapse the page tree and to minimize the module list. But there is no individual with of the page tree any more.
Thanks for your attention. I will be back after lunch at 2:15 p.m. with the lightning talks for the afternoon.
Welcome back! The lightning talks for the afternoon are starting.
First on stage: Jo Hasenau about the T3UXW – TYPO3 User Experience Week
Deployment is a really hot topic nowadays. Thomas Löffler will show us testing and deployment of GitLab CI.
Oliver Klee is organizing a GPG Keysigning party and Threema scanning meetup in the third slot.
The fourth session is by Andrew Melck about “Running TYPO3 in platform.sh”.
In the second set of session from 5:00 p.m. on Frans Saris will give us tips and advice how migrate to the new RTE CKEditor.
Henrik Malmberg will talk about Digital Asset Management in the TYPO3 community (has nothing to do with the old extension). 😉
The third slot is a “soft” one. Dan Untenzu focuses on information overload and how to handle it in your business, voluntary and private life
The third timeslot will be from 5:45 p.m. to 6.30 p.m. Richard Haeser will talk about the challenges of combining TYPO3 and Magento2.
Olivier Dobberkau and Johannes Goslar will present “nreach.io”, which helps to add a semantic layer using AI to a TYPO3 installation.
Jigal van Hermert will show us “His wife’s website” – a talk about his experiences with setting up the website for the business of his wife.
There will a third timeslot for presentations from 6.45 p.m. Helmut Hummel will hold again his talk about the TYPO3 console
At 19:45 there will be a group photo session in front of the hotel. Afterwards the social event will start right after taking the photos.
There is one more thing!
Because it is only possible to pay one’s community membership via paypal, Julian had the idea to pay it with naturals. As the price of the membership is based on the price of a burger … he bought three burgers to pay for the first quarter 🙂
And now and follow me from 3:15 and the talk about the T3UXW.
Hello, back again to the report of the TYPO3 User Experience Week by Jo Hasenau.
The T3UXW is located in the middle of no-where with 30 people, where one does not has the chance to get distracted.
The first T3UXW was held in 2009. TYPO3 profits until now from this event.
After a break, the T3UXW was revived in 2014. It’s not only about icons, colors and UX, but also from many other areas.
The goal is to have a cross functional team at the UXW. Coaches, editors, frontend, developers et al. are welcome to participate.
There are many people who participate several times.
Topics are prioritized with a relevance chart. The picture is for 2014.
Topics are carried out over several years. People meet and find out their ideas are quite similar and join forces. Example is the combination of accessibility and SEO.
And it might take some time and patience “until the ball gets rolling”.
Another result of the UXW are the guided tours. This enables integrators and developers to teach editors how to use your software.
Improvements from the last UXW is already in review regarding the UX while creating a new content element. The future will be a modal dialog to make this process more user friendly.
One of the big and harder topics is the whole language handling thing. The concepts and improvements hit the TYPO3 core code step by step, starting in 6.2 up to 8LTS. Even version 9 will get better in this regard.
Current “Work in Progress” is the install tool. It will be split up into several modules and get new features. (I missed to take a photo )
For developers there will be a new ui element for the TCA group element with many comfortable features, like inline editing out of the box.
Petra Hasenau is organizing the event. The overall cost for this event is about 30k euros. If you have a budget to sponsor the event get in contact with Petra.
The website is available at t3uxw.org
Q&A and feedback minutes upcoming …
So the next coffee break is here … I will join the session about DAM in TYPO3.
Here we go with DAM.
DAM is Digital Asset Management: Organizing digital assets via a central hub. This is QBNK for today.
Key things are to create creative content and to access this. There are 10 core characteristics, which a DAM provider must have.
1) Ingest == upload content
2) Secure == ACL
3) Store == assets, metadata, customizing metadata fields
4) Render == thumbnails
5) Enrich == exif, …
6) Relate == group, show relations,
7) Workflow == standard steps for enriching, reviews, …
8) Search == search metadata
9) Preview == renders preview before downloading and using them
10) Publish == link, share assets outside the DAM and restricting it
DAM enables you to brand your assets … they are yours, not the ones of dropbox or googles.
DAM system can push assets to “clients” or the assets can be pulled from “clients” to use them.
A DAM should track image rights, from authors, stock photos, getty images, … regarding media, time, size, …
Image rights is monkey business …
The original asset should be always in your DAM system to refer to. And you should track where it is used finally.
A live demo is following of the QBNK DAM system and the connection to TYPO3 afterwards.
For TYPO3 there is an extension “qbank_connector” made by Pixelant.
The next approx. 30 minutes is again a break. At 5:45 I will report from the session of Richard Haeser about the integration of TYPO3 with Magento2.
Now on stage Richard Haeser with the topic “Combining TYPO3 and Magento2”
TYPO3 renders Magento content; the checkout pages came from Magento
Challenge was to create a own solution, because no extisting one fitted to the project. Additionally it should not be yet another Magento – TYPO3 solution.
* make a real integration, not only a wrapper
* use the strength of each system
The page request flow: How does rendering work?
The best solution was to put Magento into front, because running TYPO3 headless is fine, but raising severe problems with Magento.
Blocks of content of both system are possible in the content area. TYPO3 content is cached in the Magento cache.
The content containers can be mixed as you need it. Some examples:
The software is in working beta stage, but the project is not finished yet.
Richard is presenting an example how the backend and frontend of both systems fit together
Editors work only in TYPO3 (no admin permissions), because the product data is automatically imported to magento.
There is a plan to publish the source code in Q4 / 2017.
First idea was to give it away totally for free, but this is too big to be able to afford it.
Possibilities: Early access vs. crowdfunding
Decision was not taken yet. Both is possible.
Q&A Part starting
Q: How to Magento & TYPO3 play together?
A: If content in TYPO3 is edited, the Magento cache is invalidated, so the complete page is rendered again.
Q: How does an editor link a product in an CE?
A: Until now there was not the use case. The tricky part is, that you do not want the complete product tree in the page tree. Solution will need some work.
Q: Which versions?
A: Only TYPO3 V8+ and Magento2
Q: Is it possible to run a multi shop installation with it?
A: Technically it should be possible, but not tested yet.
So this was the last session for today. I will leave the liveblog active, because I will post a couple of images from the social event tonight.