FED presentation
Upcoming SlideShare
Loading in...5

FED presentation



T3CON11 Presentation of the TYPO3 community project FED - Fluid Extbase Development Framework.

T3CON11 Presentation of the TYPO3 community project FED - Fluid Extbase Development Framework.



Total Views
Views on SlideShare
Embed Views



1 Embed 7

http://dev.dudenstrasse.rts.de 7



Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

FED presentation FED presentation Presentation Transcript

  • FED – Fluid Extbase Development Framework
    • TYPO3 Content Development powered by Fluid and Extbase
    • Apologies in advance; we have a lot of bullet-points to wade through
  • What is FED?
    • Based on Extbase and Fluid
    • A huge collection (110+) of ViewHelpers divided into almost 20 areas
    • A collection of Extbase Services
    • A collection of built-in, general purpose content elements
    • A way to replace TemplaVoila with pure Fluid templates
  • Feature Highlights
    • Fluid Page Templates
    • Fluid Content Elements
    • Very flexible configuration
    • Extremely light-weight
      • Runs on just one TypoScript template and the “content” static template included
      • No extension config and almost no database
  • How does it work?
    • Uses TypoScript and TYPO3 hooks
    • Is The Missing Link
      • Extbase provides great MVC
      • Fluid provides great templating
      • FED uses these to make TYPO3 pages and content elements render through Fluid.
      • FED enables you to do this with great ease and portability.
  • Sneak Peek
    • (Screenshots, BE editing and FE result)
  • Benefits
    • Extreme portability.
      • Page and Content Element templates can be packaged as extensions
      • Resources can be placed in an extension
      • No need for database operations on installing new templates – can be moved/copied without database
  • Benefits
    • Flexible Configuration
      • The power of FlexForms and Fluid combined
      • Fluid renders FlexForms which configure the TYPO3 BE editing
      • Can use saved values to affect configuration – also in conditions, loops, etc.
      • Page content editing and access controlled by BE layouts
  • Benefits
    • Lightning Fast and Light Weight
      • New Fluid compiles and caches templates to PHP which executes even faster
      • Supports all TYPO3 caching features, including disableNoCache
      • Supported by Extbase object caches
    • Fluid based
      • Templating engine from the future
  • Feature Comparison Feature TV FED Replaces TYPO3 Backend Editing experience YES NO Supports standard TYPO3 content render hooks NO YES Supports Fluid and ViewHelpers NO YES Extbase DomainObject aware NO YES FlexForm Content Element / Page Template config NO YES Access Control to templates YES NO Access Control to content areas YES YES(1) Requires database to store configuration YES NO Has extensions which add new features or changes behavior YES NO Page Templates and Content Elements in extensions NO YES Page Templates and Content Elements as database content YES NO
  • Summary:
    • TemplaVoila good for mass editor environments; FED good for individual web sites with one or few content editors
    • TemplaVoila is tried and trusted; FED is still beta software
    • FED has no supporting extensions
    • FED has, however, the combined power of Extbase, Fluid and barebone TYPO3 performance on its side
  • Can be mixed
    • You don't have to leave TemplaVoila behind; you can have subsections of your web site use FED and others TemplaVoila
    • Fluid Content Elements work in TemplaVoila pages
    • TemplaVoila Flexible Content Elements work in Fluid pages
  • Feature Walkthrough
    • A few slides to explain just a handful of the features FED enables
  • Content Elements
    • FED Includes generic elements which can be easily copied and modified or used as-is
    • Elements can reference DomainObjects selected in FlexForm, ObjectStorage supported
    • Use DomainObjects' show/list templates as Content Elements with custom selections
  • ViewHelper Collection
    • Massive library
    • Additional Structure ViewHelpers: Loop, Switch, If (extended), Hide and Comment
    • Resource ViewHelpers: Files, Images, SQL Queries, JSON sources etc.
    • Data Helpers: AJAX Form Validator, MultiUpload, DataSorter etc.
  • Service Collection
    • DomainObjectInfo
      • Quickly access information about DomainObjects: repository class names, extension name, controller name, etc.
      • Read values based on special, custom annotations, like @mobile or @print. For example, can be used to generate limited sets of JSON data for mobile agents or disable fields in a print view by hiding certain properties.
  • Service Collection
    • Cloning Service
      • Copy DomainObjects
      • Relations either cloned, referenced or ignored
      • Works recursively
  • Service Collection
    • File Service
      • Automatically upload files from Extbase forms, compatible with TYPO3 BE editing
      • Load files as Objects containing properties for paths, size, etc.
      • Copy, Move, Delete files or whole collections of files
  • Service Collection
    • ExtJS
      • Automatically generates ExtJS4 models based on Extbase DomainObjects
      • Model Definitions can be rendered through Fluid using a custom template
      • Model Configuration can be shared between DomainObjects
  • Enough feature descriptions
    • Now for something completely different
  • An integration example
    • Selective Product Listing Extension
      • Has Controller with show and list actions but no defined plugins
    • Products / Lists as Content
      • Path to “Templates” folder used as path
      • Layouts and Partials supported
      • Select which Product(s) to display
      • Choose between List and Show, separate configuration
  • Product List Template
    • Still to come
  • Product Show Template
    • Still to come
  • Purpose Ideas
    • Custom top-five lists
    • Selective product highlights
    • Time-limited displays which changes based on time settings from “access” tab
    • Entire pages which are specially rendered presentations of a single product
    • And that's just for a product-based extension...
  • Integration Summary
    • Replaces many controller actions
    • Can skip work on controllers completely for display-only extensions
    • Especially good for imported display data
    • Very flexible; content editors decide what to show
    • Very extensible; developers or even designers can quickly add completely new content displays
  • Fluid Page Templates
    • Source code is worth 1,000 pictures
  • Integrating Content Elements and Pages
    • Create your extension and Fluid Content Element / Page template folders and files
    • Add this piece of TypoScript – you can do this from ext_localconf.php or Configuration/TypoScript/setup.txt:
    • (TS piece)
  • Documentation
    • Pride taken in full documentation
    • Example extension provided
    • Code Review
    • Live examples and dedicated documentation and guide web site
  • Community Goal
    • Contributions of repeatedly used ViewHelpers and Services wanted
    • Developer contributions always welcome
    • Document and illustrate live all contributed ViewHelpers
    • Ideas, suggestions, comments...
  • In summary
    • Lightweight, Fluid-based TYPO3 sites
    • Portable: no DB, pre-packaged config
    • Flexible: FlexForms to configure display
    • Developers: Contains many helpers for getting things done quickly
    • Designers: Easy to implement highly customizable templates
    • Open to contributions
  • Future Plans
    • Even better configuration options for FCEs and Pages. Additional field types, wizards, configuration options – help wanted!
    • Feedback from experienced TYPO3 users to further improve integration approaches
    • More devs to contribute ViewHelpers, Services and Fluid Content Elements
  • I leave you with this image
    • Only bit of TSconfig (optional!) for a TYPO3 site on FED and Fluid/Extbase:
    • TCEFORM.pages.layout.removeItems = 0,1,2,3
    • And the only static template requirements: “FED” and “content”
    • Further TS setup 100% optional
    • The rest is entirely up to your Fluid templates and Backend Layouts