Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

F Files - Learnings from 3 years of Neos Support

123 views

Published on

Held at the Neos Conference 2018 in Hamburg

Published in: Software
  • Be the first to comment

  • Be the first to like this

F Files - Learnings from 3 years of Neos Support

  1. 1. FThe F Files
  2. 2. 3 year investigation
  3. 3. over 1000 files
  4. 4. dramatic pause
  5. 5. Text here.
  6. 6. version control
  7. 7. coding conventions
  8. 8. PSR-1 + PSR-2
  9. 9. Text here.
  10. 10. Context everywhere
  11. 11. Application Context
  12. 12. FLOW_CONTEXT
  13. 13. Development vs Production
  14. 14. Nested Contexts
  15. 15. Security Context
  16. 16. authenticated accounts
  17. 17. Node Context
  18. 18. Node visibility
  19. 19. Workspace
  20. 20. Dimensions
  21. 21. Fusion Context
  22. 22. Current variables in rendering stack
  23. 23. EEL Context
  24. 24. variables available in expressions
  25. 25. using it with your packages
  26. 26. local packages
  27. 27. using composer packages
  28. 28. thephpleague.com
  29. 29. Package Order
  30. 30. Deployment
  31. 31. Deployer
  32. 32. Surf
  33. 33. Flownative Beach
  34. 34. another dramatic pause
  35. 35. Caches
  36. 36. Redis
  37. 37. Fusion Arrays
  38. 38. Content Cache
  39. 39. NodeType vs. Prototype
  40. 40. NodeType
  41. 41. Prototype
  42. 42. Magic binding
  43. 43. prototype(Neos.Neos:ContentCase) < prototype(Neos.Fusion:Case) { default { @position = 'end' condition = TRUE type = ${q(node).property('_nodeType.name')} } }
  44. 44. Prototype Generator
  45. 45. Nodes / FQ in PHP
  46. 46. Context
  47. 47. use NeosContentRepositoryDomainServiceContextFactoryInterface; /** @var ContextFactoryInterface $contextFactory */ $context = $contextFactory->create( ['workspaceName' => ‘live’] );
  48. 48. $defaultContextProperties = [ 'workspaceName' => 'live', 'currentDateTime' => $this->now, 'dimensions' => [], 'targetDimensions' => [], 'invisibleContentShown' => false, 'removedContentShown' => false, 'currentSite' => null, 'currentDomain' => null ];
  49. 49. Node
  50. 50. $nodeByPath = $context->getNode('/some/full/node/path'); $nodeByIdentifier = $context->getNodeByIdentifier( 'some-node-identifier' );
  51. 51. FlowQuery
  52. 52. use NeosEelFlowQueryFlowQuery; $flowQuery = new FlowQuery([$node]); $childNodes = $flowQuery ->children('[instanceof F.Files:File]') ->get();
  53. 53. Routing
  54. 54. sub requests
  55. 55. Policies
  56. 56. Text here.
  57. 57. Versions
  58. 58. node:repair
  59. 59. The Truth is out there
  60. 60. Thank you Christian Müller
 Flownative

×