Current State of TYPO3 Phoenix (T3CON10)

79
T3CON10 Frankfurt TYPO3 Phoenix Core Team TYPO3 Phoenix Samstag, 2. Oktober 2010

description

Introduction and Presentation of the status of all partsbehind the next major TYPO3 version.Members of the TYPO3 core team outline the current state of TYPO3 Phoenix development and give a live demo of its functions.

Transcript of Current State of TYPO3 Phoenix (T3CON10)

Page 1: Current State of TYPO3 Phoenix (T3CON10)

T3CON10 Frankfurt

TYPO3 Phoenix Core Team

TYPO3 Phoenix

Samstag, 2. Oktober 2010

Page 2: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 3: Current State of TYPO3 Phoenix (T3CON10)

317Samstag, 2. Oktober 2010

Page 4: Current State of TYPO3 Phoenix (T3CON10)

429Samstag, 2. Oktober 2010

Page 5: Current State of TYPO3 Phoenix (T3CON10)

5000 hoursSamstag, 2. Oktober 2010

Page 6: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 7: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 8: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 9: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 10: Current State of TYPO3 Phoenix (T3CON10)

E-Government WebsiteREST & XML Connectors to Backend Services

Samstag, 2. Oktober 2010

Page 11: Current State of TYPO3 Phoenix (T3CON10)

tt_address integrationunobtrusive AJAX

Samstag, 2. Oktober 2010

Page 12: Current State of TYPO3 Phoenix (T3CON10)

Solr Search Engine IntegrationClustered Hosting

Samstag, 2. Oktober 2010

Page 13: Current State of TYPO3 Phoenix (T3CON10)

12,000 Products from ERP SystemLocation Based, Faceted Search

Samstag, 2. Oktober 2010

Page 14: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 15: Current State of TYPO3 Phoenix (T3CON10)

GERRITGITHUDSON

Samstag, 2. Oktober 2010

Page 16: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 FrankfurtSamstag, 2. Oktober 2010

Page 17: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Giteasier to learn as feared

diving in head first helps

really powerful and consistent

more commit discipline

Samstag, 2. Oktober 2010

Page 18: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 19: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Gerritmore than 120 changes pushed to review

very active reviewing, many comments

higher code quality

easier contribution

Samstag, 2. Oktober 2010

Page 20: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 21: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Hudsoncontinuous integration server

runs unit tests

raises Git submodule pointers

runs CI game scorecards

Samstag, 2. Oktober 2010

Page 22: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 23: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 24: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 25: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 26: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 27: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 28: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Security

Samstag, 2. Oktober 2010

Page 29: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Security is more than authentication

Samstag, 2. Oktober 2010

Page 30: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Security is centralized

Samstag, 2. Oktober 2010

Page 31: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Security is handled by FLOW3

Samstag, 2. Oktober 2010

Page 32: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Control by policies, not by PHP code

Samstag, 2. Oktober 2010

Page 33: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

FluidSamstag, 2. Oktober 2010

Page 34: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 35: Current State of TYPO3 Phoenix (T3CON10)

<f:for each="{posts}" as="post"> <li> <h2>{post.title}</h2> [...] </li> </f:for>

Samstag, 2. Oktober 2010

Page 36: Current State of TYPO3 Phoenix (T3CON10)

<f:widget.paginate object="{paginatedPosts}" as="paginatedPosts" itemsPerPage="3"> <f:for each="{paginatedPosts}" as="post"> <li> <h2>{post.title}</h2> [...] </li> </f:for><f:widget.paginate>

Samstag, 2. Oktober 2010

Page 37: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 38: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 39: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 40: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

var match, elem, ret, doc;

// Handle $(""), $(null), or $(undefined)if ( !selector ) { return this;}

// Handle $(DOMElement)if ( selector.nodeType ) { this.context = this[0] = selector; this.length = 1; return this;}

// The body element only exists once, optimize finding itif ( selector === "body" && !context ) { this.context = document; this[0] = document.body; this.selector = "body"; this.length = 1; return this;}

// Handle HTML stringsif ( typeof selector === "string" ) { // Are we dealing with HTML string or an ID? match = quickExpr.exec( selector );

// Verify a match, and that no context was specified for #id if ( match && (match[1] || !context) ) {

// HANDLE: $(html) -> $(array) if ( match[1] ) { doc = (context ? context.ownerDocument || context : document);

// If a single string is passed in and it's a single tag // just do a createElement and skip the rest ret = rsingleTag.exec( selector );

if ( ret ) { if ( jQuery.isPlainObject( context ) ) { selector = [ document.createElement( ret[1] ) ]; jQuery.fn.attr.call( selector, context, true );

} else { selector = [ doc.createElement( ret[1] ) ]; }

} else { ret = buildFragment( [ match[1] ], [ doc ] ); selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes; } return jQuery.merge( this, selector ); // HANDLE: $("#id") } else { elem = document.getElementById( match[2] );

if ( elem ) { // Handle the case where IE and Opera return items // by name instead of ID if ( elem.id !== match[2] ) { return rootjQuery.find( selector ); }

// Otherwise, we inject the element directly into the jQuery object this.length = 1; this[0] = elem; }

this.context = document; this.selector = selector; return this; }

// HANDLE: $("TAG") } else if ( !context && /^\w+$/.test( selector ) ) { this.selector = selector; this.context = document; selector = document.getElementsByTagName( selector ); return jQuery.merge( this, selector );

// HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { return (context || rootjQuery).find( selector );

// HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) } else { return jQuery( context ).find( selector ); }

// HANDLE: $(function)// Shortcut for document ready} else if ( jQuery.isFunction( selector ) ) { return rootjQuery.ready( selector );}

Samstag, 2. Oktober 2010

Page 41: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

JavaScript UI architecture

Initialization Configuration

Base Components

Base UI

I18NSchema

informationSecurity

ACLs

ExtDirectServices

Samstag, 2. Oktober 2010

Page 42: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

JavaScript UI concepts

ModuleInitialization

Helper API

Event container

Configuration

Samstag, 2. Oktober 2010

Page 43: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Creating ModulesApplication.createModule(‘F3...SomeModule‘, {

configure: function(registry) {registry.set(‘form/type/...‘, ‘value‘);

},initialize: function(application) {

application.afterInitializationOf(‘F3...SomeModule‘,function(someModule) { ... }

);}

});

Samstag, 2. Oktober 2010

Page 44: Current State of TYPO3 Phoenix (T3CON10)

Aloha Editor

48.204337,16.356062

Samstag, 2. Oktober 2010

Page 45: Current State of TYPO3 Phoenix (T3CON10)

Haymo Meran

director of product experience @ Gentics

lector @ Danube University of Krems

member @ public W3C HTML working group

Samstag, 2. Oktober 2010

Page 46: Current State of TYPO3 Phoenix (T3CON10)

Jennythe geek girl

Samstag, 2. Oktober 2010

Page 47: Current State of TYPO3 Phoenix (T3CON10)

What is Aloha Editor ?

Samstag, 2. Oktober 2010

Page 48: Current State of TYPO3 Phoenix (T3CON10)

Aloha Editor is a Rich Text Editor.

Samstag, 2. Oktober 2010

Page 49: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 50: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 51: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 52: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 53: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 54: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 55: Current State of TYPO3 Phoenix (T3CON10)

No reload!

!"#$%&

'$

Samstag, 2. Oktober 2010

Page 56: Current State of TYPO3 Phoenix (T3CON10)

No Markup!

!"#$%&'()*

Samstag, 2. Oktober 2010

Page 57: Current State of TYPO3 Phoenix (T3CON10)

No menu rubbish!

!"#$%&'%(

")*+#%

!"#$%&'()*

&+(

Samstag, 2. Oktober 2010

Page 58: Current State of TYPO3 Phoenix (T3CON10)

No iframe!

!"#$%&!'!

()*+!

,-%

Samstag, 2. Oktober 2010

Page 59: Current State of TYPO3 Phoenix (T3CON10)

available now

Samstag, 2. Oktober 2010

Page 60: Current State of TYPO3 Phoenix (T3CON10)

but what they actually do

Samstag, 2. Oktober 2010

Page 61: Current State of TYPO3 Phoenix (T3CON10)

No browser crap!

!"#$%&!'!

()*+!

,-%

Samstag, 2. Oktober 2010

Page 62: Current State of TYPO3 Phoenix (T3CON10)

Aloha Editor is a Rich Text Editor

Samstag, 2. Oktober 2010

Page 63: Current State of TYPO3 Phoenix (T3CON10)

Aloha Editor is not only aRich Text Editor

Samstag, 2. Oktober 2010

Page 64: Current State of TYPO3 Phoenix (T3CON10)

We don’t see content as rich text.

Samstag, 2. Oktober 2010

Page 65: Current State of TYPO3 Phoenix (T3CON10)

For us content is semantically annotated and linked text.

Samstag, 2. Oktober 2010

Page 66: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 67: Current State of TYPO3 Phoenix (T3CON10)

For us content is multimedia, database lists, teaser,slideshows, galleries, products, ...

Samstag, 2. Oktober 2010

Page 68: Current State of TYPO3 Phoenix (T3CON10)

Clemens

Samstag, 2. Oktober 2010

Page 69: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 70: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 71: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 72: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 73: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 74: Current State of TYPO3 Phoenix (T3CON10)

thanks

Join Clemen

s tomorrow

at 11:15am

Samstag, 2. Oktober 2010

Page 75: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010

Page 76: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

DEMO

Samstag, 2. Oktober 2010

Page 77: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 FrankfurtSamstag, 2. Oktober 2010

Page 78: Current State of TYPO3 Phoenix (T3CON10)

TYPO3 Phoenix T3CON10 Frankfurt

Questions

Samstag, 2. Oktober 2010

Page 79: Current State of TYPO3 Phoenix (T3CON10)

Samstag, 2. Oktober 2010