Current State of TYPO3 Phoenix (T3CON10)

Preview:

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.

Citation preview

T3CON10 Frankfurt

TYPO3 Phoenix Core Team

TYPO3 Phoenix

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

317Samstag, 2. Oktober 2010

429Samstag, 2. Oktober 2010

5000 hoursSamstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

E-Government WebsiteREST & XML Connectors to Backend Services

Samstag, 2. Oktober 2010

tt_address integrationunobtrusive AJAX

Samstag, 2. Oktober 2010

Solr Search Engine IntegrationClustered Hosting

Samstag, 2. Oktober 2010

12,000 Products from ERP SystemLocation Based, Faceted Search

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

GERRITGITHUDSON

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 FrankfurtSamstag, 2. Oktober 2010

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

Samstag, 2. Oktober 2010

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

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Hudsoncontinuous integration server

runs unit tests

raises Git submodule pointers

runs CI game scorecards

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Security

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Security is more than authentication

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Security is centralized

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Security is handled by FLOW3

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Control by policies, not by PHP code

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

FluidSamstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

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

Samstag, 2. Oktober 2010

<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

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

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

TYPO3 Phoenix T3CON10 Frankfurt

JavaScript UI architecture

Initialization Configuration

Base Components

Base UI

I18NSchema

informationSecurity

ACLs

ExtDirectServices

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

JavaScript UI concepts

ModuleInitialization

Helper API

Event container

Configuration

Samstag, 2. Oktober 2010

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

Aloha Editor

48.204337,16.356062

Samstag, 2. Oktober 2010

Haymo Meran

director of product experience @ Gentics

lector @ Danube University of Krems

member @ public W3C HTML working group

Samstag, 2. Oktober 2010

Jennythe geek girl

Samstag, 2. Oktober 2010

What is Aloha Editor ?

Samstag, 2. Oktober 2010

Aloha Editor is a Rich Text Editor.

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

No reload!

!"#$%&

'$

Samstag, 2. Oktober 2010

No Markup!

!"#$%&'()*

Samstag, 2. Oktober 2010

No menu rubbish!

!"#$%&'%(

")*+#%

!"#$%&'()*

&+(

Samstag, 2. Oktober 2010

No iframe!

!"#$%&!'!

()*+!

,-%

Samstag, 2. Oktober 2010

available now

Samstag, 2. Oktober 2010

but what they actually do

Samstag, 2. Oktober 2010

No browser crap!

!"#$%&!'!

()*+!

,-%

Samstag, 2. Oktober 2010

Aloha Editor is a Rich Text Editor

Samstag, 2. Oktober 2010

Aloha Editor is not only aRich Text Editor

Samstag, 2. Oktober 2010

We don’t see content as rich text.

Samstag, 2. Oktober 2010

For us content is semantically annotated and linked text.

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

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

Samstag, 2. Oktober 2010

Clemens

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

thanks

Join Clemen

s tomorrow

at 11:15am

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

DEMO

Samstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 FrankfurtSamstag, 2. Oktober 2010

TYPO3 Phoenix T3CON10 Frankfurt

Questions

Samstag, 2. Oktober 2010

Samstag, 2. Oktober 2010