#TYPO3camp Venlo 2016
\url{http://www.typo3campvenlo.nl/en/schedule/}
Big data, smart machines and the changes it will cause in HR and the job market. - Han Stoffels
\url{http://www.typo3campvenlo.nl/fileadmin/user\_upload/pdf/presentations\_2016/Big\_data\_smart\_machines\_changes\_HR\_Market.pdf}
TYPO3 inc. - Alain Veuve
\url{http://de.slideshare.net/electronicfastforward/typo3-inc-slides-for-typo3-camp-venlo-2016}
Content Marketing for Online Shops - with TYPO3 - Boris Hinzer
\url{http://de.slideshare.net/BorisHinzer/content-marketing-for-online-shops-like-magento-with-typo3}
A PHP Journey - Jurian Janssen
\url{https://github.com/Woeler}
Composer \& Frameworks - Tobias Derksen
\url{https://github.com/lukeelten}
Building a TYPO3 website with composer - Ruud Silvrants
\url{https://github.com/beechit/TYPO3\_Welcome}
Easily review TYPO3 changes using TYPO3 Homestead and a Chrome extension - Michiel Roos
\url{https://github.com/Tuurlijk/TYPO3.Homestead}
Principles of software architecture - Gernot Schulmeister
\url{http://de.slideshare.net/GernotSchulmeister/architecture-principles-in-relation-to-typo3}
Security in web development - Helmut Hummel
\url{https://speakerdeck.com/helhum/diary-of-a-hack}
Theming in TYPO3 - Thomas Deuling
\url{http://typo3-themes.org/}
\url{http://docs.typo3-themes.org/}
Ext commerce - TYPO3 shop - Sebastian Fischer
\url{http://www.evoweb.de/fileadmin/presentation/commerce\_eap\_for7/#/}
\url{http://blog.marketing-factory.de/typo3/camp-report-venlo-2016/}
Doctrine DBAL - Morton Jonuschat
\url{https://speakerdeck.com/yabawock/moving-typo3-cms-to-doctrine-dbal}
Posts:
Armin Vieweg: \url{https://www.facebook.com/notes/typo3-dce-extension/typo3-camp-venlo-2016-review/1695564650712330}
DKD \url{http://blog.dkd.de/typo3camp-venlo-2016/}
Photo's
\url{https://www.flickr.com/photos/137609839@N02/sets/72157667314112450/}
#TYPO3camp Venlo
##Intro by Edward
##Han Stoffels - Big Data
Wacom
Uk is the worstmarket
Interview in Dubaisounded good
Nothing heard aboutthe guy afterwards
Our activities
Technology Big DataSemantics
Solve this with dataoutside
Aima is a virtualcareer and recruitment assistant Job mobility and talent acquisition Labourmarket
Sierlok is a bigdata detective for retrieval of stolen objects etc Insurance
Domizz is a virtualreal estat agent for finding and buying property
8vance strategybuilding blocks
Transformationbusiness models
Old values
New technologies bigdata
Exponentialparadigms (faster better cheaper)
Experience economy
Transformationeconomy
Profile that doesthe work for you
Of looking for jobs
Linear vsexponential value creation
Traditionalmarketplaces
The nextmarketplaces
Expectation intechnology is rising
Lots of technologiesfly out
Innovation Trigger
Peak of inflatedexpectations
Through ofdislusionment
Slope of enlightment
Plateau ofproductivity
The digital mesh
IBM Watson can standthe turing test
Big super computer
Cog : Zahn
TYPO3 ist startingto program itself
A printer who canprint itself and repair itself
Computer basedpersonality judgements are more reliable than those of humans
Facebook reveils alot what someone does and feels
How the people judgeother people
All voted for thewinner of the election
People with a bigmouth (man) seem to be more trustworthy
4th industrialrevolution
Smart machinesprogram websites
Smart machine makesmarter machines
Job and skillsmismatch
87% not happy atwork
Flexibilisation\& on demand workforce
Half of current jobsdisappear
Broad skillset
80 to 90% fixedstuff rest 20%
Trend: 20% fixedstuff
24% activelyundermining the company
Skills mismatch
Automaticintelligent matching agent
Automated talentscouting and matching on hard and soft skills
Soft skills areignored
Perfect team
Expected recruiteradvantage
More engaged becausethe match is better
Talent advantage
People overestimatethemselves (man, underestimate women)
Neural algorithm
Statistics
Building a hypercube
Expert system
Vita is path throughthat cube
What can i do, whathave i done, what want i do
Aima in whatsappdoes not allow to use the interface
Sources xing,linkedIn, data aggregation, interpretation of data, the profiles are alwaysoutdated
Add competences tothe profile which are not explicit mentioned
I
##Mattes - Future of TYPO3
* Customer needs
* Easier access for community
* Accesibility (core is ready - editors are not)\
People are afraidwhat they dont understand
General topic
Grow typo3
Help growing yourbusiness
Spread the word
A lot of satelites
Increase visibility
Make it easier andaccessibility
Reduce entrybarriers
Marketing solutions
Hubspot
Oracle Eloqua
Marketing is notselling stuff but understanding your customer
Central Reporting
Channel monitoring
Personalization
Personalized content
For differentchannels you need different content
A/B tests
Central reporting
Accessibility
We are done
Editors are not
Education
Help the editorwhile creating the content
Inline as you type
SEO
Same asaccessibility
Improve settings
Supply help
Supply reports
Content channels
Multichannel RSSfeed
Aida cruises typo3
Level on top oflanguages english mobile
Visual augmentation
Fallback chains
Dedicated contentfor special channels
Building system tohelp editors
New rich text component
CK editor
Support contentediting
Wizards (explain tothe editor what is going on)
Unified lingo (inpop ups)
Guided tours: user onboarding design
Developers
Reduce time tomarket
Remove settings
Ease technicalcomplexity
Frontend developers had to understand typoscript
Code migrations(automated)
Automated fix of breaking changes
Backend ConfigWizards
DevOps
Composer Composer,Composer
Web based ComposerUI
Extension Manager UI will be composer
Upgrades on CommandLine
University: 400Typo3 sites
Installation on Command Line
Simplify deployments
ExtJS will be removed
Typo3 Surf
#TYPO3 INC
#Alain Veuve
Strategic approach
Abusing business teampower our cause
We did not grow as fast as the others
NEOS somehow a failure
Ensure development of the typo3 cms product at a pace that fits the demand of the market
Structure has been very complicated
Generate more money for the cause of TYPO3
Core Business Model:Revenue streams
Partners:Integrators, Hosters, Consultants, Ad-Agencies
Donations \& events
We dont share code enough
Collect money for an extension
Different thing:code ready for production and a product
Enterprise SLAs
No project, but products and marketing organisation
#Content Marketing
#Boris Hinzer
T3con
Entering eCommercewith a new online shop
The market
Casino Dilemma
More and morecompetitors hit the same market
Throwing in more money in slot machines
Content marketing
Only a few content related solution
TYPO3 for contentmarketing
Magento in Typo3wrong approach
Magento api does nothave that much speed
Typo3 in magento
Mage Unity
Content in Magento
Basic features
Dynamically mergecontent inside in magento
Title tag from typo3
Merged sitemaps
Mixed dynamic navigations
Fliesenmax Shop
Templating generallydone in Magento
Typo3 contenttemplating is done in typo3
Can use stylingsalready in magento
Rise of killerfeature
Use pagination for SEO and content marketing
Title Tag and RealUrl changes within pagination
The return of the filter options
Also Filters with content marketing
Magento Content in TYPO3
As add on
1000 keywords for fliesen max in the index oktober now 1500
Online value index
Ranking on pages 300page 1 rankings
Now 600 page 1rankings
Hits and infrastructure raised
At the moment magento and TYPO3 is on the same server
Rule based content
Shopping cart rules
Male customer: youshow only male content
Customer journey,magento shop information
#**Sessions Saturday**
**FE image rendering - Mattes - Sebastian Fischer**
|| PRO || CON
data attr. JS replace || simple, browser support || JS files
soutsrc set sout || || soutDebugging not goodsout
<picture> || standard, , FallBack || Support in browser
#***Deployment***
Peter Förger
Ruby based solution for deployment used by DKD
Shared folder for configuration
One command possible but 4 steps is better to configure in stead of working on conventions.
Composer based install because we live in composer world...
Usable with any container vagrant or docker but also localhost etc
Auto activate maintanance message to website user
Clearing caches
Then upload to releases
Symlink to current
Keeps last 5 releases
Clears upcode caches
Uses doctrine to check migration status
And apply migrations
Task removing inactive extentions in production
Auto create extention folders if needed
Clear cache again
Swich off maintenance mode en set symlink
And 3 times cache flush is not needed ;)
A Concept for database and restoring database is hard
To sync with local
Download resources
Dowload database but users are removed and databased are cleaned.
To use fake files you can dump the files table and regenerate fake files.
The deployment will be released on github
Working title is dkdeploy it is an extend of capistrano 3.4
Is build up out of four ruby gems
Todo
State is documentation had to be completed.
And dependencies in testing gems to dkd enviroment need to be removed
Release should be this year
TYPO3 surf has same concept
But was not feature complete when dev started.
Landrush plugin
DNS forVagrant
Simple cross-platform DNS that's visible onboth the guest and the host. Landrush spins up a small DNS server and redirectsDNS traffic from your VMs to use it, automatically registering/unregistering IPaddresses of guests as they come up and down.
Capistrano
**Capistrano** ist ein Open Source Werkzeug,um Skripte auf mehreren Servern laufen zu lassen. Sein Hauptzweck besteht inderSoftwareverteilung von Webapplikationen. Es automatisiert den Prozess der Erstellung einer neuen Applikation,die auf einem oder mehreren Webservern verfügbarist, einschließlich unterstützender Aufgaben wie Änderungen von Datenbanken
Local deploymentuser
Cap dev deploy todeploy with capistrano
.htaccess fileshould be different on every node of deployment
Developers see onwhich branch they work
Typoscript:merge\_configs on every machine different root domains
Clear the caches
Capistrano bringsthe sources to the release folder
Switches the symlinkto the newest release
Clear opcode cache
Doctrine for themigration status
Never findphpmyadmin in production
Remove inactive coreextension
Create extensionfolder to write things to
Dkdeploydocumentation
Rubygems
Dkdeploy core
Dkdeploy php
Dkdeploy cms
Dkdeploy cucumber
Dkdeploy test
4 years ago did notknow Ruby at all
It is easy to learn
Typo3 surf is acapistrano clone in php
Complicated: whattask should run in which order for what
#Database layer: Doctrine DBAL
Doctrine DBAL
Morton Jonuschat
Database connectionhandling MySQL only
Behaviour dependenton MySQL features
Ext:dbal
Not a first classcitizen
Code is fucking ugly
Multiple connectionsin parallel
Remapping tablestonon default databases
Mapping too longtables
How to proceed
Find\_in\_set uniquein mysql
Solution
Replace homegrown dbabstraction layer
Remove dependency onadodb
Replace mysqlspecific connection handling
Architecture
The players
connectionPool
Connection
expressionBuilder
Querybuilder
queryContext
QueryRestrictionBuilder
expressionBuilderbuilds the where part
queryBuilder: objectoriented interface
Insert, select,update, delete, truncate
Automatically takesquery context into account (enable fields)
Not a magic bulletfor sql injection
QueryRestrictionBuilder
Automaticallyenabled in backend and frontend
Builds constraintsfor select statements
If you are usingExtbase: done* unless you use query statement
getConnectionForTable($tableName)
getQueryBuilderForTable($tableName)
Postgres has foreigndata wrappers
Create globals afterthe extension
Values -> quotesfields
Bitwise AND
Aggregations (WIP)some need to be quoted others will not be quoted
Database ConnectionHelpers
Doctrine always workwith prepared statements
fullQuoteStr() now
User Input is justnot save
Named Parameters
PositionalParameters
Use the Querybuilderas your preferred tool
Use theExpressionBuilder to build your query conditions
Composite Expression
Add expression
$constraint =$expressionBuilderAndX
selectLiteral doesnot quote anything
For 8 the api willstay the same
Slides: \url{https://speakerdeck.com/yabawock/moving-typo3-cms-to-doctrine-dbal}
#Fluid, ViewHelpers
Helmut Hummel
It is a quiz
Fluid in javascript-> cross site scripting
Rule 1 don't use inline javascript in fluid templates
Use data Tags in order to expose fluid data to Javascript
ViewHelperrenderChildren, content is escaped
renderChildren: only variables are escaped
Fluid does not escape variables
Content ="{foo}"
Second rule: never pass html to the children or the argument
Chaining:
{foo ->fs:escapingInterceptorEnabled} escaped
{fs:escapingInterceptorEnabled(content:foo)}
Not escaped
{fs:escapingInterceptorEnabled(content:'{foo)}'} escaped
InfluenceescapingBehaviour
$escapeChildren =true
$escapeOutput = true
Is good for security
<f:uri.pagepageUid="{page.uid}" addQueryString="1">
Now with additional security
.format = json
Json is not escaped
E-Commerce in TYPO3 with EXT:commerce
\url{http://www.evoweb.de/fileadmin/presentation/commerce\_eap\_for7/}