SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
FThe F Files
3 year investigation
over 1000 files
dramatic pause
Text here.
version control
coding conventions
PSR-1 + PSR-2
Text here.
Context everywhere
Application Context
FLOW_CONTEXT
Development vs
Production
Nested Contexts
Security Context
authenticated
accounts
Node Context
Node visibility
Workspace
Dimensions
Fusion Context
Current variables in
rendering stack
EEL Context
variables available in
expressions
using it with your
packages
local packages
using composer
packages
thephpleague.com
Package Order
Deployment
Deployer
Surf
Flownative Beach
another
dramatic
pause
Caches
Redis
Fusion Arrays
Content Cache
NodeType vs.
Prototype
NodeType
Prototype
Magic binding
prototype(Neos.Neos:ContentCase) < prototype(Neos.Fusion:Case)
{
default {
@position = 'end'
condition = TRUE
type = ${q(node).property('_nodeType.name')}
}
}
Prototype Generator
Nodes / FQ in PHP
Context
use
NeosContentRepositoryDomainServiceContextFactoryInterface;
/** @var ContextFactoryInterface $contextFactory */
$context = $contextFactory->create(
['workspaceName' => ‘live’]
);
$defaultContextProperties = [
'workspaceName' => 'live',
'currentDateTime' => $this->now,
'dimensions' => [],
'targetDimensions' => [],
'invisibleContentShown' => false,
'removedContentShown' => false,
'currentSite' => null,
'currentDomain' => null
];
Node
$nodeByPath = $context->getNode('/some/full/node/path');
$nodeByIdentifier = $context->getNodeByIdentifier(
'some-node-identifier'
);
FlowQuery
use NeosEelFlowQueryFlowQuery;
$flowQuery = new FlowQuery([$node]);
$childNodes = $flowQuery
->children('[instanceof F.Files:File]')
->get();
Routing
sub requests
Policies
Text here.
Versions
node:repair
The Truth is out there
Thank you
Christian Müller

Flownative

Más contenido relacionado

La actualidad más candente

Twisted logic
Twisted logicTwisted logic
Twisted logic
ashfall
 

La actualidad más candente (20)

Overloading Perl OPs using XS
Overloading Perl OPs using XSOverloading Perl OPs using XS
Overloading Perl OPs using XS
 
Downsampling your data October 2017
Downsampling your data October 2017Downsampling your data October 2017
Downsampling your data October 2017
 
Gsummit apis-2013
Gsummit apis-2013Gsummit apis-2013
Gsummit apis-2013
 
Asynchronous IO in Rust - Enrico Risa - Codemotion Rome 2017
Asynchronous IO in Rust - Enrico Risa - Codemotion Rome 2017Asynchronous IO in Rust - Enrico Risa - Codemotion Rome 2017
Asynchronous IO in Rust - Enrico Risa - Codemotion Rome 2017
 
Briefly Rust - Daniele Esposti - Codemotion Rome 2017
Briefly Rust - Daniele Esposti - Codemotion Rome 2017Briefly Rust - Daniele Esposti - Codemotion Rome 2017
Briefly Rust - Daniele Esposti - Codemotion Rome 2017
 
Rust vs C++
Rust vs C++Rust vs C++
Rust vs C++
 
GlusterFS As an Object Storage
GlusterFS As an Object StorageGlusterFS As an Object Storage
GlusterFS As an Object Storage
 
Large scale nlp using python's nltk on azure
Large scale nlp using python's nltk on azureLarge scale nlp using python's nltk on azure
Large scale nlp using python's nltk on azure
 
ReactPHP – reaktor jądrowy w PHP
ReactPHP – reaktor jądrowy w PHPReactPHP – reaktor jądrowy w PHP
ReactPHP – reaktor jądrowy w PHP
 
Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics Natural Language Toolkit (NLTK), Basics
Natural Language Toolkit (NLTK), Basics
 
maxbox starter72 multilanguage coding
maxbox starter72 multilanguage codingmaxbox starter72 multilanguage coding
maxbox starter72 multilanguage coding
 
zmq.rs - A brief history of concurrency in Rust
zmq.rs - A brief history of concurrency in Rustzmq.rs - A brief history of concurrency in Rust
zmq.rs - A brief history of concurrency in Rust
 
SequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational DatabaseSequoiaDB Distributed Relational Database
SequoiaDB Distributed Relational Database
 
Codable routing
Codable routingCodable routing
Codable routing
 
「DDD 完全に理解した」の次
「DDD 完全に理解した」の次「DDD 完全に理解した」の次
「DDD 完全に理解した」の次
 
Twisted logic
Twisted logicTwisted logic
Twisted logic
 
Devel::NYTProf::Apache
Devel::NYTProf::ApacheDevel::NYTProf::Apache
Devel::NYTProf::Apache
 
Improving go-git performance
Improving go-git performanceImproving go-git performance
Improving go-git performance
 
Developing High Performance Application with Aerospike & Go
Developing High Performance Application with Aerospike & GoDeveloping High Performance Application with Aerospike & Go
Developing High Performance Application with Aerospike & Go
 
CL-NLP
CL-NLPCL-NLP
CL-NLP
 

Similar a F Files - Learnings from 3 years of Neos Support

Tips
TipsTips
Tips
mclee
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
David Cunningham
 
Sedna XML Database: Executor Internals
Sedna XML Database: Executor InternalsSedna XML Database: Executor Internals
Sedna XML Database: Executor Internals
Ivan Shcheklein
 
Github.com anton terekhov-orientdb-php
Github.com anton terekhov-orientdb-phpGithub.com anton terekhov-orientdb-php
Github.com anton terekhov-orientdb-php
San jay
 

Similar a F Files - Learnings from 3 years of Neos Support (20)

Tips
TipsTips
Tips
 
Jsonnet, terraform & packer
Jsonnet, terraform & packerJsonnet, terraform & packer
Jsonnet, terraform & packer
 
Clug 2011 March web server optimisation
Clug 2011 March  web server optimisationClug 2011 March  web server optimisation
Clug 2011 March web server optimisation
 
EKAW - Publishing with Triple Pattern Fragments
EKAW - Publishing with Triple Pattern FragmentsEKAW - Publishing with Triple Pattern Fragments
EKAW - Publishing with Triple Pattern Fragments
 
Native REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11gNative REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11g
 
PHP 5.3
PHP 5.3PHP 5.3
PHP 5.3
 
General Functions
General FunctionsGeneral Functions
General Functions
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
 
Exploring Node.jS
Exploring Node.jSExploring Node.jS
Exploring Node.jS
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Sedna XML Database: Executor Internals
Sedna XML Database: Executor InternalsSedna XML Database: Executor Internals
Sedna XML Database: Executor Internals
 
Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4
 
Easy native wrappers with SWIG
Easy native wrappers with SWIGEasy native wrappers with SWIG
Easy native wrappers with SWIG
 
Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016
 
DevOps Enabling Your Team
DevOps Enabling Your TeamDevOps Enabling Your Team
DevOps Enabling Your Team
 
cq_cxf_integration
cq_cxf_integrationcq_cxf_integration
cq_cxf_integration
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
tree-sitter-objc-slides.pptx
tree-sitter-objc-slides.pptxtree-sitter-objc-slides.pptx
tree-sitter-objc-slides.pptx
 
Github.com anton terekhov-orientdb-php
Github.com anton terekhov-orientdb-phpGithub.com anton terekhov-orientdb-php
Github.com anton terekhov-orientdb-php
 
Php Documentor The Beauty And The Beast
Php Documentor The Beauty And The BeastPhp Documentor The Beauty And The Beast
Php Documentor The Beauty And The Beast
 

Más de Christian Müller

TYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer HappinessTYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer Happiness
Christian Müller
 
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
Christian Müller
 
[T3CON13NA] Integrating Websites With Neos
[T3CON13NA] Integrating Websites With Neos[T3CON13NA] Integrating Websites With Neos
[T3CON13NA] Integrating Websites With Neos
Christian Müller
 
[T3CON12CA] TYPO3 Phoenix Templating Workshop
[T3CON12CA] TYPO3 Phoenix Templating Workshop[T3CON12CA] TYPO3 Phoenix Templating Workshop
[T3CON12CA] TYPO3 Phoenix Templating Workshop
Christian Müller
 
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
Christian Müller
 

Más de Christian Müller (15)

Neos Agile Teams
Neos Agile TeamsNeos Agile Teams
Neos Agile Teams
 
Perfect Neos Team For Success
Perfect Neos Team For SuccessPerfect Neos Team For Success
Perfect Neos Team For Success
 
Neos Bloopers [Inspiring 2016]
Neos Bloopers [Inspiring 2016]Neos Bloopers [Inspiring 2016]
Neos Bloopers [Inspiring 2016]
 
Neos 2.0 [Inspiring Conference 2015]
Neos 2.0 [Inspiring Conference 2015]Neos 2.0 [Inspiring Conference 2015]
Neos 2.0 [Inspiring Conference 2015]
 
Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]Neos 101 [Inspiring Con 2014]
Neos 101 [Inspiring Con 2014]
 
TYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer HappinessTYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer Happiness
 
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
[T3CON13NA] TYPO3 Flow And Neos In Enterprise Applications
 
[T3CON13NA] Integrating Websites With Neos
[T3CON13NA] Integrating Websites With Neos[T3CON13NA] Integrating Websites With Neos
[T3CON13NA] Integrating Websites With Neos
 
[T3CB13] Integrating websites with neos
[T3CB13] Integrating websites with neos[T3CB13] Integrating websites with neos
[T3CB13] Integrating websites with neos
 
TypoScript and EEL outside of Neos [InspiringFlow2013]
TypoScript and EEL outside of Neos [InspiringFlow2013]TypoScript and EEL outside of Neos [InspiringFlow2013]
TypoScript and EEL outside of Neos [InspiringFlow2013]
 
TYPO3 Neos In Enterprise Applications
TYPO3 Neos In Enterprise ApplicationsTYPO3 Neos In Enterprise Applications
TYPO3 Neos In Enterprise Applications
 
Integrating Websites With TYPO3 Neos
Integrating Websites With TYPO3 NeosIntegrating Websites With TYPO3 Neos
Integrating Websites With TYPO3 Neos
 
[T3CON12CA] TYPO3 Phoenix - The Current State
[T3CON12CA] TYPO3 Phoenix - The Current State[T3CON12CA] TYPO3 Phoenix - The Current State
[T3CON12CA] TYPO3 Phoenix - The Current State
 
[T3CON12CA] TYPO3 Phoenix Templating Workshop
[T3CON12CA] TYPO3 Phoenix Templating Workshop[T3CON12CA] TYPO3 Phoenix Templating Workshop
[T3CON12CA] TYPO3 Phoenix Templating Workshop
 
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
[T3CON12CA] Content Model and TypoScript in TYPO3 Phoenix
 

Último

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 

F Files - Learnings from 3 years of Neos Support