[t3con12ca] typo3 phoenix - the current state

87
TYPO3 Phoenix The Current State Christian Müller Tuesday 26 June 12

Upload: christian-mueller

Post on 29-Aug-2014

916 views

Category:

Technology


0 download

DESCRIPTION

Held at the T3CON12CA in Québec, Canada on 15th of June 2012.

TRANSCRIPT

Page 1: [T3CON12CA] TYPO3 Phoenix - The Current State

TYPO3 PhoenixThe Current State

Christian Müller

Tuesday 26 June 12

Page 2: [T3CON12CA] TYPO3 Phoenix - The Current State

Christian Müller

@daskitsunet

Tuesday 26 June 12

Page 3: [T3CON12CA] TYPO3 Phoenix - The Current State

Content Model

Plugin System

Module System

What did we do?

UserInterface

TypoScript Foundations

Tuesday 26 June 12

Page 4: [T3CON12CA] TYPO3 Phoenix - The Current State

Content Model

Tuesday 26 June 12

Page 5: [T3CON12CA] TYPO3 Phoenix - The Current State

Node Treesite root

page

content section

content element

representation of domain models

and just anything you want them to be!

Tuesday 26 June 12

Page 6: [T3CON12CA] TYPO3 Phoenix - The Current State

Node Paths

/sites/typo3org/home/subpage/main/text1

Tuesday 26 June 12

Page 7: [T3CON12CA] TYPO3 Phoenix - The Current State

/sites/typo3org/home/subpage/main/text1

site root

Node Paths

Tuesday 26 June 12

Page 8: [T3CON12CA] TYPO3 Phoenix - The Current State

/sites/typo3org/home/subpage/main/text1

site root

pages

Node Paths

Tuesday 26 June 12

Page 9: [T3CON12CA] TYPO3 Phoenix - The Current State

/sites/typo3org/home/subpage/main/text1

site root

pages

section

Node Paths

Tuesday 26 June 12

Page 10: [T3CON12CA] TYPO3 Phoenix - The Current State

/sites/typo3org/home/subpage/main/text1

site root

pages

section

content

Node Paths

Tuesday 26 June 12

Page 11: [T3CON12CA] TYPO3 Phoenix - The Current State

Context

Tuesday 26 June 12

Page 12: [T3CON12CA] TYPO3 Phoenix - The Current State

Context is

• an environment a node exists in

• for example a workspace or a language

Tuesday 26 June 12

Page 13: [T3CON12CA] TYPO3 Phoenix - The Current State

Plugin System

Tuesday 26 June 12

Page 14: [T3CON12CA] TYPO3 Phoenix - The Current State

Plugin System

• Every FLOW3 Package can be used as Phoenix Plugin

• Just needs a few lines of configuration

Tuesday 26 June 12

Page 15: [T3CON12CA] TYPO3 Phoenix - The Current State

Module System

Tuesday 26 June 12

Page 16: [T3CON12CA] TYPO3 Phoenix - The Current State

Single Page Modules

• Backend Modules!• Use the Javascript Framework you like• Style it to fit your needs• reuse our interface widgets

Tuesday 26 June 12

Page 17: [T3CON12CA] TYPO3 Phoenix - The Current State

User Interface

Tuesday 26 June 12

Page 18: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 19: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 20: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 21: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 22: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 23: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 24: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Progressvery slow

Tuesday 26 June 12

Page 25: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Why... no progress?

Tuesday 26 June 12

Page 26: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Why... no progress?

• Difficult to build stable + extensible JS application

Tuesday 26 June 12

Page 27: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Why... no progress?

• Difficult to build stable + extensible JS application

• we could not use FLOW3 strenghts for Phoenix

Tuesday 26 June 12

Page 28: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Why... no progress?

• Difficult to build stable + extensible JS application

• we could not use FLOW3 strenghts for Phoenix

• styling and adjusting ExtJS very complex

Tuesday 26 June 12

Page 29: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/1281342

Why... no progress?

• Difficult to build stable + extensible JS application

• we could not use FLOW3 strenghts for Phoenix

• styling and adjusting ExtJS very complex

• un-agile development process

Tuesday 26 June 12

Page 30: [T3CON12CA] TYPO3 Phoenix - The Current State

The UX Concept from Last Year

Tuesday 26 June 12

Page 31: [T3CON12CA] TYPO3 Phoenix - The Current State

The UX Concept from Last Year

Visionary!

Tuesday 26 June 12

Page 32: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 33: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 34: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 35: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 36: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 37: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 38: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 39: [T3CON12CA] TYPO3 Phoenix - The Current State

Which kind of web applications

do I use?

Tuesday 26 June 12

Page 40: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 41: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 42: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 43: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 44: [T3CON12CA] TYPO3 Phoenix - The Current State

Web-StyleApplication

Desktop-StyleApplication

Tuesday 26 June 12

Page 45: [T3CON12CA] TYPO3 Phoenix - The Current State

Try outsomethingnew...

Tuesday 26 June 12

Page 46: [T3CON12CA] TYPO3 Phoenix - The Current State

Try outsomethingnew...

take thebird-eyeview

Tuesday 26 June 12

Page 47: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 48: [T3CON12CA] TYPO3 Phoenix - The Current State

ReliableEditing

Tuesday 26 June 12

Page 49: [T3CON12CA] TYPO3 Phoenix - The Current State

ReliableEditing

PredictableBehavior

Tuesday 26 June 12

Page 50: [T3CON12CA] TYPO3 Phoenix - The Current State

ReliableEditing

PredictableBehavior

ImmediateUser Feedback

Tuesday 26 June 12

Page 51: [T3CON12CA] TYPO3 Phoenix - The Current State

ReliableEditing

PredictableBehavior

ImmediateUser Feedback

Built With The Web - For The Web

Tuesday 26 June 12

Page 52: [T3CON12CA] TYPO3 Phoenix - The Current State

more pragmatic

Tuesday 26 June 12

Page 53: [T3CON12CA] TYPO3 Phoenix - The Current State

Technical Foundations

• ExtJS where it makes sense

• good mixture of Server- and Client Side

• SproutCore 2

Tuesday 26 June 12

Page 54: [T3CON12CA] TYPO3 Phoenix - The Current State

Wanna See It Live?

Tuesday 26 June 12

Page 55: [T3CON12CA] TYPO3 Phoenix - The Current State

Really?

Tuesday 26 June 12

Page 56: [T3CON12CA] TYPO3 Phoenix - The Current State

Demo!

Tuesday 26 June 12

Page 57: [T3CON12CA] TYPO3 Phoenix - The Current State

UI Architecture

Tuesday 26 June 12

Page 58: [T3CON12CA] TYPO3 Phoenix - The Current State

EmberJS

Tuesday 26 June 12

Page 59: [T3CON12CA] TYPO3 Phoenix - The Current State

About EmberJS

• build on top of jQuery

• strong MVC concept

• MIT license

• mobile.me and iWork

Tuesday 26 June 12

Page 60: [T3CON12CA] TYPO3 Phoenix - The Current State

Data Binding

Tuesday 26 June 12

Page 61: [T3CON12CA] TYPO3 Phoenix - The Current State

Data Binding truly connects your UI and data

Content (Data)

UI ComponentUI Component

Tuesday 26 June 12

Page 62: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 63: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 64: [T3CON12CA] TYPO3 Phoenix - The Current State

<div class="t3-inspect">{{view T3.Content.UI.InspectButton pressedBinding="T3.Content.Controller.Inspect.inspectMode" label="Inspect"}}

</div>

How Handlebars Templates Look Like

Tuesday 26 June 12

Page 65: [T3CON12CA] TYPO3 Phoenix - The Current State

Content Module Architecture

Tuesday 26 June 12

Page 66: [T3CON12CA] TYPO3 Phoenix - The Current State

DOM Manipulation allows us

• integration into the existing website

• no frames needed

• content editing wysiwyg

Tuesday 26 June 12

Page 67: [T3CON12CA] TYPO3 Phoenix - The Current State

Using FLOW3

Tuesday 26 June 12

Page 68: [T3CON12CA] TYPO3 Phoenix - The Current State

•use Fluid templates•request pre-made elements from server•separate modules•security

Use the strengths of the foundation

Tuesday 26 June 12

Page 69: [T3CON12CA] TYPO3 Phoenix - The Current State

Productivity!

Tuesday 26 June 12

Page 70: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 71: [T3CON12CA] TYPO3 Phoenix - The Current State

TypoScript 2

Tuesday 26 June 12

Page 72: [T3CON12CA] TYPO3 Phoenix - The Current State

TypoScript 2 usage

• mainly dealing with nodes

• but not always involving a node

• nodes can be rendered multiple times

• flexibility needed

• hierarchical access to nodes

Tuesday 26 June 12

Page 73: [T3CON12CA] TYPO3 Phoenix - The Current State

• TypoScript v4: extensibility, stdWrap

• Fluid: HTML Templating

• JavaScript: Prototype-based inheritance

• jQuery: selecting nodes, fluent interface

• CSS: set-based API; Selector Syntax

• XPath: Traversal Operations

Inspirations

Tuesday 26 June 12

Page 74: [T3CON12CA] TYPO3 Phoenix - The Current State

Foundations

Tuesday 26 June 12

Page 75: [T3CON12CA] TYPO3 Phoenix - The Current State

FLOW3 1.1

• Internationalisation

• Speed Improvements

• HTTP Foundations

Tuesday 26 June 12

Page 76: [T3CON12CA] TYPO3 Phoenix - The Current State

Node Repository

• Polishing API

• Sorting Nodes

Tuesday 26 June 12

Page 77: [T3CON12CA] TYPO3 Phoenix - The Current State

Installation Tool

• Almost ready

• Few simple steps to get your Phoenix installation running

Tuesday 26 June 12

Page 78: [T3CON12CA] TYPO3 Phoenix - The Current State

The Future

Tuesday 26 June 12

Page 79: [T3CON12CA] TYPO3 Phoenix - The Current State

http://www.sxc.hu/photo/107023

Tuesday 26 June 12

Page 80: [T3CON12CA] TYPO3 Phoenix - The Current State

Next Steps

• System / Reports Views

• fine-tune editing and module API

• Implement a proper design

• find a name

RELEASE!

Tuesday 26 June 12

Page 81: [T3CON12CA] TYPO3 Phoenix - The Current State

Running Phoenix Yourself

• Follow http://wwwision.de/githelper/#TYPO3v5/Distributions/Base.git for checking out from Git

• Follow http://flow3.typo3.org/fileadmin/manual/nightly/Quickstart/Index.html#setting-file-permissions for setting permissions

• create database, adjust /Configuration/Settings.yaml

• ./flow3 doctrine:migrate

• ./flow3 site:import --packageKey TYPO3.PhoenixDemoTypo3Org

• Point your Firefox or Chrome browser to your local installation

Tuesday 26 June 12

Page 82: [T3CON12CA] TYPO3 Phoenix - The Current State

Wrap-Up

Tuesday 26 June 12

Page 83: [T3CON12CA] TYPO3 Phoenix - The Current State

Thank You!

Tuesday 26 June 12

Page 84: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 85: [T3CON12CA] TYPO3 Phoenix - The Current State

?????????????

Tuesday 26 June 12

Page 86: [T3CON12CA] TYPO3 Phoenix - The Current State

Tuesday 26 June 12

Page 87: [T3CON12CA] TYPO3 Phoenix - The Current State

inspiring people to share.

Tuesday 26 June 12