Page 1
Text
Automation and External services Integration in Neos
explore
tt ttreedigital beans
Page 2
tt ttreedigital beans
Page 3
Building website since 2000
Page 5
Back then a website were just an island
Page 6
But everything changed
Page 8
Define « external service »
Page 9
Why you need external service ?
Page 10
not invented here
Page 11
simple does not mean easy
Page 13
Give me some good external service ?
Page 15
https://dl.dropboxusercontent.com/s/opcxbgkl4znvdc3/2016-04-19%20at%2022.43.png?dl=0
Page 16
FilePreviewsgithub.com/ttreeagency
Page 22
AWS Lambda and many many more
Page 24
has an editor,
I need to preview link to external website in my blog post
Page 25
Let’s build a web scrapper
Page 26
or try to integrate embed.ly
Page 27
/** * Embedly Helper */ class EmbedlyHelper implements ProtectedContextAwareInterface { /** * @param string $url * @return array */ public function oembed($url) { $embedly = new Embedly(); $response = $embedly->oembed([ 'url' => $url ]); $data = json_decode(json_encode(reset($response)), true); return $data; }
/** * All methods are considered safe * * @param string $methodName * @return boolean */ public function allowsCallOfMethod($methodName) { return true;
Page 28
prototype(Ttree.Embedly:Oembed) { @override.response = ${Embedly.oembed(q(node).property('url'))}
content = TYPO3.TypoScript:Case { link { condition = ${response.type == 'link'} type = 'Ttree.Embedly:Oembed.Link' } video { condition = ${response.type == 'video'} type = 'Ttree.Embedly:Oembed.Video' } photo { condition = ${response.type == 'photo'} type = 'Ttree.Embedly:Oembed.Photo' } } }
Page 30
Embedlygithub.com/ttreeagency
Page 31
This world is full of Unicorns
Page 33
Pitfalls and Pain points
Page 35
external downtime
Page 37
hard to code with external dependencies
Page 38
ngrok is your best friend
make your web hooks available online
Page 39
# ngrok http -host-header=rewrite \ -subdomain=cloud-butler \ master-dev.neos-workplace.dev:80
Page 42
What about automation ?
Page 44
CloudButlerproject under development
Page 45
trigger based on temporal data
Page 46
Schedulergithub.com/ttreeagency
Page 47
sync data from external source
Page 48
Aggregatorgithub.com/ttreeagency
Page 49
Aggregatorgithub.com/ttreeagency
Page 50
opensource & sharingis part of our DNA
we love client project to support our open source efforts
Page 51
hello@ttree.ch - @ttreeagency - github.com/ttreeagency
tt ttreedigital beans
you are welcome in our office @ lausanne don’t be shy ping us is you are in the area