86
1 Comparison of CMS : improving TYPO3 functionality Fedir Rykhtik, September 10, 2009, Frankfurt am Main Comparison of CMS : Improving TYPO3 functionality T3CON09, Frankfurt am Main Fedir RYKHTIK [email protected] September 10, 2009

Comparision of CMS : Improving TYPO3 functionality

Embed Size (px)

DESCRIPTION

Slides of tutorial "Comparision of CMS : Improving TYPO3 functionality" presented on T3CON09 conference in Frankfurt, 10 September 2009

Citation preview

Page 1: Comparision of CMS : Improving TYPO3 functionality

1 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Comparison of CMS : Improving TYPO3 functionality

T3CON09, Frankfurt am Main

Fedir [email protected]

September 10, 2009

Page 2: Comparision of CMS : Improving TYPO3 functionality

2 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Comparison of CMS : Comparison of CMS : Improving TYPO3 functionalityImproving TYPO3 functionality

● Tutorial 3hTutorial 3h

● 2 parts with coffee break in the middle2 parts with coffee break in the middle

● Be ready to the dialogueBe ready to the dialogue

● Feel free to propose Your ideasFeel free to propose Your ideas

Page 3: Comparision of CMS : Improving TYPO3 functionality

3 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

About the speaker

Fedir RYKHTIK

Education : M.Sc. in Communication networks,Kharkiv National University of Radioelectronic, Ukraine.

Position : Open Source CMS Web developer in BleuRoy.com (Marseille, France).

Specialisation : large scalable CMS sites with advanced information architecture.

Page 4: Comparision of CMS : Improving TYPO3 functionality

4 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Speaker relationship with CMS

● Technology : LAMP (Linux-Apache-MySQL-PHP)

● Preferable licence : GNU GPL

● Priority to scalable modular solutions

Page 5: Comparision of CMS : Improving TYPO3 functionality

5 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

About the audience

● Do You make code contributions to the TYPO3 ?

● Do You make sites with CMS others than TYPO3 ?

● Did You saw in other CMS features interesting stuff,

which not exists in TYPO3 ?

Page 6: Comparision of CMS : Improving TYPO3 functionality

6 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Tutorial objective

● To show how we could improve the quality and the

logic of the TYPO3 Core and community extensions

● To help to adapt the TYPO3 to the future tendencies

of CMS Web development

Page 7: Comparision of CMS : Improving TYPO3 functionality

7 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Tutorial structure

● Analysing TYPO3● Here FLOW3 comes● Diving into the world of CMS● A little bit of Frameworks● Improving TYPO3● The consequences of TYPO3 improving● Questions & Answers● Contact exchange

Page 8: Comparision of CMS : Improving TYPO3 functionality

8 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Analysing TYPO3Analysing TYPO3

● Common overviewCommon overview● ArchitectureArchitecture● AdministrationAdministration● DevelopmentDevelopment● InterfacesInterfaces● Collaborative workCollaborative work

Page 9: Comparision of CMS : Improving TYPO3 functionality

9 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Common overview

● Chronicles of TYPO3 : 1997- 2009, long way, full of experience

● Intelligent multidimensional structure● Adapted for big sites, with complex architecture

Page 10: Comparision of CMS : Improving TYPO3 functionality

10 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://demo.opensourcecms.com/typo3/typo3/index.php

● Username : admin● Password : demo123

Page 11: Comparision of CMS : Improving TYPO3 functionality

11 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

TYPO3 Architecture

● Flexible structure● FE / BE functions separation, different API● TCA / TCE / TSFE● InstallTool● TypoScript for FE & BE structure (TSConfig)

Page 12: Comparision of CMS : Improving TYPO3 functionality

12 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Administration

● FE Users / FE Groups● BE Users / BE Groups● User TSConfig patterns

Page 13: Comparision of CMS : Improving TYPO3 functionality

13 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Development

● Extensions with FE Plugins & BE Modules● Kickstarter● XCLASS● Hooks● Complex API; probably, not always intuitive

Page 14: Comparision of CMS : Improving TYPO3 functionality

14 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Interfaces

● FE● TemplaVoila!● Substitution's mechanism● Clean FE output

● BE● Very complete (too much sometimes)● Possibility of easy integration of 3rd part modules● Hardcoded

Page 15: Comparision of CMS : Improving TYPO3 functionality

15 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Collaborative work

● Flexible system of rights● Documents workflow● Separated workspaces● System of versionning● Task center

Page 16: Comparision of CMS : Improving TYPO3 functionality

16 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Here FLOW3 comesHere FLOW3 comes

● Real MVC frameworkReal MVC framework● Brings new methodologiesBrings new methodologies● Better code quality Better code quality ● New template engineNew template engine● Content repositoryContent repository● Adapted PHP 5.3Adapted PHP 5.3

Page 17: Comparision of CMS : Improving TYPO3 functionality

17 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Is it enough ?

Is an intelligent framework is enough to satisfy all CMS needs ?

Framework is the fundamental base of the application, but after there the application logic defines the behaviour of the system.

Let's see what else could we find next door.

Page 18: Comparision of CMS : Improving TYPO3 functionality

18 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Diving into the world of CMS

Hundreds of CMS, in different languages : Hundreds of CMS, in different languages :

PHP, Java, Python, Ruby, ASP, .Net, …PHP, Java, Python, Ruby, ASP, .Net, …

Page 19: Comparision of CMS : Improving TYPO3 functionality

19 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

CMS types

● General Web purpose (WCM)

● Blog / multiblog CMS

● Educational CMS

● Enterprise CMS (ECM, DM, CRM, ERP)

● e-Commerce

● Team collaboration CMS ( Groupware CMS)

● Media content management CMS

● Mobile CMS

● Component Content Management Systems

Page 20: Comparision of CMS : Improving TYPO3 functionality

20 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Evolution of CMS concept

● Before : Time of identical solutions with gadgets. It's enough just to have CMS, with everything ready, use it, with a bit of parameters changing. Only site template and site content are different.

● Now : Time of own application, efficient & functional. To have a CMS like a base, create personalized projects with custom logic. Sites becomes to be functionally different, even if the CMS is the same.

Page 21: Comparision of CMS : Improving TYPO3 functionality

21 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

The main difference between CMS

● Adopted to Your project● Flexibility (all the levels)● Performance● CMS power

+ Quantity of community members

+ Quality of members communication

+ Quality of developed packages (verified, supported)

- Quantity of developed packages

● Cost of development● Cost of support

Page 22: Comparision of CMS : Improving TYPO3 functionality

22 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Wordpress

Page 23: Comparision of CMS : Improving TYPO3 functionality

23 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Wordpress

● Big community● Clean logic● Themes● A lot of widgets● Simple but smart architecture● GNU GPL

Page 24: Comparision of CMS : Improving TYPO3 functionality

24 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://demo.opensourcecms.com/wordpress/wp-login.php

● Username : admin● Password : demo123

Page 25: Comparision of CMS : Improving TYPO3 functionality

25 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Drupal

Page 26: Comparision of CMS : Improving TYPO3 functionality

26 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Drupal

● Friendly style● Very extendible● Taxonomies● Themes● Custom content types● Simple API – hook based● GNU GPL

Page 27: Comparision of CMS : Improving TYPO3 functionality

27 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://demo.opensourcecms.com/drupal/● Username : admin● Password : demo123

Page 28: Comparision of CMS : Improving TYPO3 functionality

28 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

SilverStripe

Page 29: Comparision of CMS : Improving TYPO3 functionality

29 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

SilverStripe

● Simple CMS with high usability● All basic needs● OOP code● Modules, widgets, themes● BSD license

Page 30: Comparision of CMS : Improving TYPO3 functionality

30 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://demo.opensourcecms.com/silverstripe● Username : admin● Password : demo123

Page 31: Comparision of CMS : Improving TYPO3 functionality

31 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

eZ Publish

Page 32: Comparision of CMS : Improving TYPO3 functionality

32 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

eZ Publish

● Complex multifunctional CMS● Fine multilingual support● SEO-friendly● Workflows● Original template system● CNU GPL + Proprietary licence

Page 33: Comparision of CMS : Improving TYPO3 functionality

33 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://ez.no/ezpublish/demo● http://now.ezpublish.no/● Username : editor● Password : publish

Page 34: Comparision of CMS : Improving TYPO3 functionality

34 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Liferay

Page 35: Comparision of CMS : Improving TYPO3 functionality

35 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Liferay

● Java● Nice Apple inspired default style● Good busyness strategy● Portal ● Social Offic : Cloud edition● Export/Import data● Licence : MIT

Page 36: Comparision of CMS : Improving TYPO3 functionality

36 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Jahia

Page 37: Comparision of CMS : Improving TYPO3 functionality

37 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Jahia

● Java● Complete solution : WCM / DM / Portal● Licence : GPL + Proprietary● CNU GPL + Proprietary licence

Page 38: Comparision of CMS : Improving TYPO3 functionality

38 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://demo.jahia.org/cms● Username : admin● Password : password

Page 39: Comparision of CMS : Improving TYPO3 functionality

39 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Plone

Page 40: Comparision of CMS : Improving TYPO3 functionality

40 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Plone

● Python● Built on the Zope application server● Document publishing / collaboration tool● Very rich in functionalities● Huge community● Interface conforms to WCAG-AAA and U.S. section 508● GNU GPL

Page 41: Comparision of CMS : Improving TYPO3 functionality

41 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

On-line demo

● http://plone3.sixfeetup.com/● Username : siteadmin● Password : siteadmin01

Page 42: Comparision of CMS : Improving TYPO3 functionality

42 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Nuxeo

Page 43: Comparision of CMS : Improving TYPO3 functionality

43 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Nuxeo

● Document Management● SaaS : Cloud Edition● MS Office & Open Office support● Collaborative work● Workflow● DAM● Licence : GNU LGPL

Page 44: Comparision of CMS : Improving TYPO3 functionality

44 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

A little bit of FrameworksA little bit of Frameworks

● Today almost any advanced OSS CMS has own Today almost any advanced OSS CMS has own framework, which implement the philosophy of the framework, which implement the philosophy of the CMS, helps to standardise the code of the extensions CMS, helps to standardise the code of the extensions and Core.and Core.

● Standalone frameworks are good examples for Standalone frameworks are good examples for teams who are working on the code of TYPO3.teams who are working on the code of TYPO3.

Page 45: Comparision of CMS : Improving TYPO3 functionality

45 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Django

Page 46: Comparision of CMS : Improving TYPO3 functionality

46 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Django

● Python● Object-relational mapper● Advanced caching framework● Syndication framework● Designer-friendly template language● Code based on DRY principle● Licence : BSD

Page 47: Comparision of CMS : Improving TYPO3 functionality

47 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Symfony

Page 48: Comparision of CMS : Improving TYPO3 functionality

48 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Symfony

● Clean design● Code readability● Good ORM support● Documentation● DRY, KISS, XP● MIT License

Page 49: Comparision of CMS : Improving TYPO3 functionality

49 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Where is the way of TYPO3 evolution ?Where is the way of TYPO3 evolution ?

● Each of CMS has its own auditory, its own structure, Each of CMS has its own auditory, its own structure,

pluses and minuses in realization.pluses and minuses in realization.

● The question is : where the Internet goes ?The question is : where the Internet goes ?

● The time to decide the Future of TYPO3 – is Now !The time to decide the Future of TYPO3 – is Now !

Page 50: Comparision of CMS : Improving TYPO3 functionality

50 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Improving TYPO3Improving TYPO3

TYPO3 Curve of learningTYPO3 Curve of learning● TYPO3 ImprovementsTYPO3 Improvements

Page 51: Comparision of CMS : Improving TYPO3 functionality

51 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Improving TYPO3Improving TYPO3

● Optimize curve of learning

● Explore the ways of TYPO3 improving

● Taxonomies● Interactivity● Usability● Dynamic SEO Management● Hooks library● Dynamic Templating System● Default Templates

● Content import / Export● Custom Workflows● Flexible data object model● Security paradigms for

development● DAM Integration● Clustering● Places of social exchange● Extension repository

Page 52: Comparision of CMS : Improving TYPO3 functionality

52 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Optimization of curve of learningOptimization of curve of learning

Different roles, different problemsDifferent roles, different problems● Server AdministratorsServer Administrators● DevelopersDevelopers● Site ManagersSite Managers● IntegratorsIntegrators● EditorsEditors

Page 53: Comparision of CMS : Improving TYPO3 functionality

53 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Curve of learning : Server Admins

Primary functions : TYPO3 installation, state control

Possible difficulties : configuration of system modules, security fails

Recommended actions : ready to use bash installation scripts; VM (VMWare, kvm, OpenVZ, Proxmox) TYPO3 images on P2P networks, automatic control & update mechanism of the Core & extensions

Page 54: Comparision of CMS : Improving TYPO3 functionality

54 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Curve of learning : Developers

Primary functions : new extension writing, modification/tuning of public extensions;

Possible difficulties : unstandardised code; loose of the time of development.

Recommended actions : Core advanced API creation, enlarging of main Core framework functionality, coding guidelines popularization.

Page 55: Comparision of CMS : Improving TYPO3 functionality

55 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Curve of learning : Site Managers

Primary functions : site configuration & process managing

Possible difficulties : distributed processes, hard to look for everything, especially in the case of large sites with complex workflows

Recommended actions : administrator panel creation, with possibility to add selectors and indicators to manage the site

Page 56: Comparision of CMS : Improving TYPO3 functionality

56 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Curve of learning : Integrators

Primary functions : templating, site organization

Possible difficulties : not usual for other CMS methods like TypoScript & TemplaVoila

Recommended actions : predefined packages of TYPO3 with explicative commentaries

Page 57: Comparision of CMS : Improving TYPO3 functionality

57 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Curve of learning : Editors

Primary functions : Content editing, Workflow editing

Possible difficulties : non-ergonomic editing

Recommended solutions : possibility of offline editing

Page 58: Comparision of CMS : Improving TYPO3 functionality

58 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Explore the ways of TYPO3 improvingExplore the ways of TYPO3 improving

Page 59: Comparision of CMS : Improving TYPO3 functionality

59 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Taxonomies

Objective : Content structuring

Problem : Many content / objects, hard to find, hard to manage

Solution : Using vocabularies and terms to tag the content / objects

Participants : Site Administrators, Integrators, Internet Visitors

Consequences : Associative organization of content

Implementation in TYPO3 : TCA-based module

Reference CMS : Drupal (PHP), Liferay (Java)

Page 60: Comparision of CMS : Improving TYPO3 functionality

60 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Taxonomies

TYPO3 already has a taxonomy, a simple one.

● Linear content sequences – monocriterial ● Tree hierarchy : parent – child relationship● Semantic relationship via taxonomies

Page 61: Comparision of CMS : Improving TYPO3 functionality

61 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Taxonomies

● Object● Term● Vocabulary

Terms could have complex hierarchy, with parents/child relationships, synonyms.

Taxonomies are object-types independent, could be used with different types of objects.

Page 62: Comparision of CMS : Improving TYPO3 functionality

62 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Content Organisation

● Organization & presentation of large data volumes with proposition of navigation between the elements by custom rule

● Optimization of system resources to work with well ranged data

● Flexible site structure

Page 63: Comparision of CMS : Improving TYPO3 functionality

63 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Semantic Search

● RDF, Turtle, OWL (Web Ontology Language)● Google Squared :

http://www.google.com/squared

Page 64: Comparision of CMS : Improving TYPO3 functionality

64 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Interactivity

Objective : Give to the visitor the possibility to exchange with system and other visitors in custom way

Problem : absence of standards in TYPO3 to automatize the exchange with FE User

Solution : advanced interface API development

Participants : Web Developers, Integrators, Internet Visitors

Consequences : easy and secure creation of interfaces stimulate community-driven module

Implementation in TYPO3 : advanced interface API as Core feature (form API, advanced user model API)

Reference CMS : Drupal (PHP)

Page 65: Comparision of CMS : Improving TYPO3 functionality

65 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

BE Usability

Objective : Usable & ergonomic BE interface

Problem : A lot of fields, tabs, buttons,

Solution : Optimization of representation with possibility to enlarge the functionality for the custom needs, creation of profiles by default.

Participants : Web Developers, Integrators, Site Administrators

Consequences : Efficacy in work of administrator

Implementation in TYPO3 : Presets into BE users administration panel, BE interface visual configurator.

Reference CMS : SilverStripe (PHP)

Page 66: Comparision of CMS : Improving TYPO3 functionality

66 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Dynamic SEO Management

Objective : Providing to the site administrator a powerful instrument for search engine optimisation

Problem : Currently SEO in TYPO3 – it's developer work, sometimes it's some heavy to change the URL rewrite model

Solution : tool for clean & elegant URL, with easy interface

Participants : Web Developers, Site Administrators

Consequences : Administrator could manage SEO without technical skills

Implementation in TYPO3 : SEO administrator module

Reference CMS : eZ Publish (PHP), Drupal (PHP)

Page 67: Comparision of CMS : Improving TYPO3 functionality

67 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Hooks library

Objective : Extension & core synergy

Problem : Standalone extensions, many sub-APIs

Solution : Core API with clearly declared hooks and explications where and how to use, standardization of each basic hook

Participants : Web Developers

Consequences : Complexes of extensions working in synergism with each other

Implementation in TYPO3 : Documentation, additional hooks

Reference CMS : Wordpress (PHP), Drupal (PHP)

Page 68: Comparision of CMS : Improving TYPO3 functionality

68 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Dynamic Templating System

Objective : Dynamic templating providing

Problem : Static templates, integrators are depended from developers

Solution : Template scripting, “pipe”-methodology

Participants : Web Developers, Integrators

Consequences : Optimization of site creation process

Implementation in TYPO3 : Additional script language

Reference CMS : Django (Python), eZ Publish (PHP)

Page 69: Comparision of CMS : Improving TYPO3 functionality

69 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Default Templates

Objective : BE & FE accessible templates

Problem : Unexisting FE templates, not accessible BE templates

Solution : Basic FE templates creation; norms of accessibility

Participants : Interface Experts, Site Administrators, Internet Visitors

Consequences : more wide distribution of TYPO3, faster site construction for some kind of projects,

Implementation in TYPO3 : Templates library on typo3.org

Reference CMS : Plone (Python), Wordpress (PHP), Drupal (PHP)

Page 70: Comparision of CMS : Improving TYPO3 functionality

70 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Content import / export

Objective : Migration facility.

Problem : Currently API is on-line editing oriented.

Solution : Change the paradigm of data processing.

Participants : Web Developers

Consequences : Data automatic exchange Possibility of offline editing.

Implementation in TYPO3 : Data API

Reference CMS : Liferay (Java), Nuxeo (Java), eZ Publish(PHP)

Page 71: Comparision of CMS : Improving TYPO3 functionality

71 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Custom Workflows

Objective : Flexible workflows

Problem : Workflow could have custom number of stages

Solution : Construct workflow from elements

Participants : Web Developers, Site Administrators, Editors

Consequences : Possibility of custom processes

Implementation in TYPO3 : Workspace system reorganization

Reference CMS : Drupal, eZ Publish

Page 72: Comparision of CMS : Improving TYPO3 functionality

72 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Traditional stages in TYPO3

● Editing Reviewing Publishing→ →● 2 validation could be not enough● Custom stages

Page 73: Comparision of CMS : Improving TYPO3 functionality

73 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Flexible data object model

Objective : Custom content types

Problem : Pages types or separated tables. No API.

Solution : System of internal Data management

Participants : Web Developers, Integrators

Consequences : Development cycle optimization. Data exchange simplification. New powerful extensions.

Implementation in TYPO3 : TYPO3 CR in TYPO3 5 ?

References : Drupal, eZ Publish

Page 74: Comparision of CMS : Improving TYPO3 functionality

74 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Security paradigms for development

Objective : Make code secure

Problem : SQL Injections, XSS, hacker attacks ...

Solution : Data filtering API

Participants : Web Developers, Server Administrators, Site Administrators

Consequences : Secure code in Core & in extensions

Implementation in TYPO3 : Core code libraries

Reference CMS : TYPO3 5

Page 75: Comparision of CMS : Improving TYPO3 functionality

75 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

DAM Integration

Objective : Store/manage the files in dB, to manage data on the level of objects

Problem : Versionning, security, import/export.

Solution : dB driven content managing

Participants : Web Developers, Site Administrators

Consequences : Better security. Facility of clustering.

Implementation in TYPO3 : DAM

Reference CMS : MediaWiki, Nuxeo, eZ Publish, Liferay

Page 76: Comparision of CMS : Improving TYPO3 functionality

76 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Clustering

Objective : Provide easy implemented clustering mechanism

Problem : Cache, data storage

Solution : Fully distributed cache, DAM

Participants : Server Administrators, Web Developers

Consequences : Easy clustering.

Implementation in TYPO3 : DAM, modification of cache mechanism

Reference CMS : MediaWiki, Alfresco

Page 77: Comparision of CMS : Improving TYPO3 functionality

77 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Places of social exchange

Objective : Exchange experience between the members

Problem : Separation of TYPO3 experience information, insufficiency of mailing lists

Solution : Moving typo3.org to Web2.0

Participants : Server Administrators, Web Developers, Integrators, Site Administrators

Consequences : better TYOP3 quality

Implementation in TYPO3 : System of forums, RSS

Reference CMS : Wordpress, Drupal

Page 78: Comparision of CMS : Improving TYPO3 functionality

78 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Extension repository

Objective : Optimization of the TYPO3 extension repository

Problem : Many extensions, hard to find the extension You need

Solution : Supplementary mechanisms of search and transversal navigation, provide a connection with the Forge

Participants : Server Administrators, Web Developers, System Administrators

Consequences : More active extensions distribution, concentration on the development of the more interesting extensions

Implementation in TYPO3 : Advanced search on typo3.org

Reference CMS : Plone, Wordpress, Drupal

Page 79: Comparision of CMS : Improving TYPO3 functionality

79 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Extension repository

● http://plone.org/products● http://wordpress.org/extend/● http://drupal.org/project/Modules

Page 80: Comparision of CMS : Improving TYPO3 functionality

80 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

The consequences of TYPO3 improvingThe consequences of TYPO3 improving

● Bigger audienceBigger audience● Evolution TYPO3 APIEvolution TYPO3 API● Better code qualityBetter code quality● Simple & clear developmentSimple & clear development● More interesting projectsMore interesting projects● Personalization cost is lessPersonalization cost is less

● Bigger audienceBigger audience● Evolution TYPO3 APIEvolution TYPO3 API● Better code qualityBetter code quality● Simple & clear developmentSimple & clear development● More interesting projectsMore interesting projects● Personalization cost is lessPersonalization cost is less

Page 81: Comparision of CMS : Improving TYPO3 functionality

81 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Implementation of proposed improvements

● The major modifications could be done only in TYPO3 v.5, as they ask complete rebuild of some part of the system.

● Some of proposed modifications could be ported to the TYPO3 v.4.4 as FLOW3 & Fluid parts are implemented in v.4.3.

Page 82: Comparision of CMS : Improving TYPO3 functionality

82 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Questions & AnswersQuestions & Answers

● Questions ?Questions ?

Page 83: Comparision of CMS : Improving TYPO3 functionality

83 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Contact exchangeContact exchange

● Social NetworksSocial Networks● LinkedInLinkedIn● ViadeoViadeo● FacebookFacebook

● www.fedir.frwww.fedir.fr

Page 84: Comparision of CMS : Improving TYPO3 functionality

84 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

These slides

Available to download on slideshare.net :● http://www.slideshare.net/fedir

Page 85: Comparision of CMS : Improving TYPO3 functionality

85 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Credits

Abstractions

http://www.imageabstraction.com/

TYPO3 Analysing

http://www.flickr.com/photos/loungeonflickr/2674483278

Page 86: Comparision of CMS : Improving TYPO3 functionality

86 Comparison of CMS : improving TYPO3 functionalityFedir Rykhtik, September 10, 2009, Frankfurt am Main

Special thanks

● http://www.opensourcecms.com ● OpenOffice project