Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TYPO3 CMS 6.2 LTS - what's new

2,128 views

Published on

Today we present our Polish translation of the "TYPO3 CMS 6.2 LTS - What's New" slides. It contains a summary of the new features, changes and improvements in the new version of CMS TYPO3 6.2 LTS.

The current version is a beta version, so please let us know if you find any errors so we can put our description on the typo3.org alongside eight other translations.

We hope our slides will be useful!

Published in: Internet
  • Be the first to comment

TYPO3 CMS 6.2 LTS - what's new

  1. 1. TYPO3 CMS 6.2 LTS - Co nowego Podsumowanie nowych funkcjonalno±ci, zmian i ulepsze« Created by: Patrick Lobacher and Michael Schams Polskie tªumaczenie: Tymoteusz Motylewski, Bartªomiej Matyla, Jakub Idziak
  2. 2. TYPO3 CMS 6.2 LTS - Co nowego Spis tre±ci Wstep Instalator Responsywne Obrazki Panel administracyjny TSconfig & TypoScript Zarzadzanie pakietami Istotne zmiany Interfejs programowania aplikacji Extbase & Fluid Aktualizacja do TYPO3 CMS 6.2 LTS Pogromca mitów Zródła i autorzy TYPO3 CMS 6.2 LTS - Co nowego
  3. 3. Wst¦p Wst¦p (Najwa»niejsze fakty) TYPO3 CMS 6.2 LTS - Co nowego
  4. 4. Wst¦p TYPO3 CMS 6.2 LTS: Fakty Nacisk poªo»ono na: Šatwo±¢ aktualizacji Stabilno±¢ i bezpiecze«stwo framework’u Zadowolenie u»ytkowników Nowoczesne technologie/interoperacyjno±¢ Menad»er wydania: Ernesto Baschny ernesto.baschny (at) typo3.org Twitter: @baschny TYPO3 CMS 6.2 LTS - Co nowego
  5. 5. Wst¦p TYPO3 CMS 6.2 LTS: Fakty Data wydania: 25 marca 2014 O± czasu wydania: TYPO3 CMS 6.2 LTS - Co nowego
  6. 6. Wst¦p TYPO3 CMS 6.2 LTS: Fakty Wymagania systemowe PHP v5.3.7 - v5.5.x MySQL v5.1.x - v5.6.x Koniec wsparcia: marzec 2017 TYPO3 CMS 6.2 LTS jest wersj¡ o wydªu»onym czasie wsparcia (Long Term Support). B¦dzie wspierana przez az 3 lata! TYPO3 CMS 6.2 LTS - Co nowego
  7. 7. Wst¦p TYPO3 CMS 6.2 LTS: Fakty Plan wyda« kolejnych wersji TYPO3 CMS: TYPO3 CMS 6.2 LTS - Co nowego
  8. 8. Instalator Rozdziaª 1: Instalator TYPO3 CMS 6.2 LTS - Co nowego
  9. 9. Instalator Instalacja Tylko jedna paczka wymagana jest do instalacji: typo3_src-6.2.x.tar.gz (rozmiar pliku: ok 20MB) Paczki "Dummy" oraz "Blank" staªy si¦ niepotrzebne Przebieg instalacji: Wypakuj archiwum z kodem ¹ródªowym Stwórz odpowiednie dowi¡zania symboliczne Otwórz stron¦ w przegl¡darce Pod¡»aj za kolejnymi krokami instalatora TYPO3 TYPO3 CMS 6.2 LTS - Co nowego
  10. 10. Instalator Instalacja Instalator sprawdza czy wszystkie potrzebne pliki i foldery s¡ na miejscu Automatycznie tworzy pliki konguracyjne Poni»sze dowi¡zania symboliczne musz¡ istnie¢: typo3_src (wskazuje na folder ze ¹ródªami TYPO3) typo3 (wskazuje na folder: typo3_src/typo3) index.php (wskazuje na plik: typo3_src/index.php) Nie potrzeba »adnych dodatkowych plików/folderów do instalacji TYPO3! Folder t3lib zostaª usuni¦ty Wi¦cej informacji - zobacz: Poradnik instalacji i aktualizacji TYPO3 http://docs.typo3.org/typo3cms/InstallationGuide TYPO3 CMS 6.2 LTS - Co nowego
  11. 11. Instalator Zmiany w instalatorze Zostaª przepisany od nowa z u»yciem szablonów Fluid Pierwszy krok testuje system i raportuje problemy Znalezione problemy mog¡ zosta¢ naprawione (i przetestowane ponownie) lub zignorowane Nieprawidªowa instalacja j¡dra systemu (np. brak dowi¡za« symbolicznych) jest równie» raportowana jako problem TYPO3 CMS 6.2 LTS - Co nowego
  12. 12. Instalator Zmiany w instalatorze Drugi krok pozwala u»ytkownikowi na konguracje poª¡czenia do bazy danych Mozna wybra¢ sposób poª¡czenia: przez port TCP/IP poª¡czenie przez gniazdo uniksowe Inne systemy baz danych ni» MySQL s¡ równie» wspierane TYPO3 CMS 6.2 LTS - Co nowego
  13. 13. Instalator Zmiany w instalatorze Trzeci krok pozwala u»ytkownikom wybranie/utworzenie bazy danych (podobnie jak w TYPO3 6.2) Czwarty krok pozwala na ustawienia hasªa dla u»ytkownika admin (to hasªo staje si¦ równie» hasªem do instalatora) oraz nazwy strony internetowej TYPO3 CMS 6.2 LTS - Co nowego
  14. 14. Instalator Czyszczenie caªego cache’u (Clear all cache) Nowa funkcja Clear all cache w menu Important actions pozwala na wyczyszczenie caªej pami¦ci podr¦cznej Dziaªa nawet je±li pami¦¢ podr¦czna zawiera nieprawidªowy kod PHP Instalator jest dost¦pny pod adresem: http://example.com/typo3/install TYPO3 CMS 6.2 LTS - Co nowego
  15. 15. Instalator Czyszczenie caªego cache’u (Clear all cache) Akcje wykonywane po wybraniu Clear all cache: 1. Usuwana jest zawarto±¢ folderu typo3temp/Cache 2. Czyszczone s¡ tabele cf_* w bazie danych 3. Pliki ext_localconf.php oraz ext_tables.php wczytywane s¡ z rozszerze« 4. Uruchamiana jest metoda flushCaches() TYPO3 CMS 6.2 LTS - Co nowego
  16. 16. Instalator Sprawdzenie niepewnych rozszerze« (Check For Broken Extensions) Nowa funkcja Check For Broken Extensions dost¦pna w menu Important actions pozwala sprawdzi¢, czy zainstalowanie rozszerzenia nie popsuje instalacji Bardzo przydatna funkcja przy aktualizacji z TYPO3 4.5 do 6.2 TYPO3 CMS 6.2 LTS - Co nowego
  17. 17. Instalator Salted Passwords Przy tworzeniu konta administracyjnego w Instalatorze, hasªo jest szyfrowane z u»yciem ci¡gu zaburzaj¡cego (ang. salt) (wymaga rozszerzenia EXT:saltedpasswords) Hasªo do Instalatora jest równie» solone (istniej¡ce hasªa s¡ konwertowane automatycznie przy pierwszym logowaniu) TYPO3 CMS 6.2 LTS - Co nowego
  18. 18. Instalator Kontekst Aplikacji (Application Context) (1) TYPO3 = 6.2 bierze pod uwag¦ Kontekst Aplikacji (znany z TYPO3 Flow) Zmienna ±rodowiskowa TYPO3_CONTEXT ustawia aktualny kontekst (domy±lnie: Production, pod-konteksty, np. Production/Staging s¡ mo»liwe) # File: .htaccess # Rules to set Application Context based on hostname: RewriteCond %{HTTP_HOST} ^dev.example.com$ RewriteRule (.*) $1 [E=TYPO3_CONTEXT:Development] RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule (.*) $1 [E=TYPO3_CONTEXT:Production] # Sets an environment variable, which is then available to TYPO3 CMS: SetEnv TYPO3_CONTEXT Production TYPO3 CMS 6.2 LTS - Co nowego
  19. 19. Instalator Szablony ustawie« TYPO3_CONF_VAR Niektóre ustawienia TYPO3_CONF_VAR mog¡ mie¢ rózn¡ warto±¢ w zale»no±ci od Kontekstu Aplikacji Wbudowane s¡ 2 konteksty: Production oraz Development (mozna tez tworzy¢ wªasne) Ustawienia takie jak debug output, deprecation log, devIPmask i inne takie jak logi systemu i poziomy logów TYPO3 CMS 6.2 LTS - Co nowego
  20. 20. Instalator Poprawiona Uzyteczno±¢ Poprawiona pozycja lewego menu podczas skrolowania (1) Poprawiona pozycja przycisku Write Conguration na dole (2) Wpisy w All Conguration s¡ pogrupowane (kliknij na nagªówek by rozwin¡¢ sekcje) i posortowane (3) TYPO3 CMS 6.2 LTS - Co nowego
  21. 21. Instalator Bardziej przyjazne kody bª¦dów Znacz¡ce sªowa kluczowe mog¡ by¢ uszyte dla poszczególnych opcji: (TYPO3 6.2: tylko warto±ci numeryczne) [SYS][errorHandlerErrors] [SYS][exceptionalErrors] [SYS][syslogErrorReporting] [SYS][belogErrorReporting] Extbase ViewHelper format.phpErrorCode jest odpowiedzialny za konwersje warto±ci do kodów bª¦dów PHP TYPO3 CMS 6.2 LTS - Co nowego
  22. 22. Instalator Bª¦dy w Folder Structure Bª¦dy w Folder Structure s¡ podliczone i pokazane jako numer w kóªku TYPO3 CMS 6.2 LTS - Co nowego
  23. 23. Instalator Aktualizacje Aktualizacja TYPO3 do najnowszej wersji za pomoc¡ klikni¦cia w przycisk Zmienna TYPO3_DISABLE_CORE_UPDATER=1 wyª¡cza t¦ funkcj¦ TYPO3 CMS 6.2 LTS - Co nowego
  24. 24. Instalator Ró»ne Wszystkie formy s¡ chronione przed atakiem CSRF(cross-site request forgery) Narz¦dzie instalacyjne u»ywa uproszczonego Fluid Standalone View Zaªadowane s¡ tylko podstawowe funkcje TYPO3 (wyst¡pienie bª¦du w ext_localconf.php lub ext_tables.php nie mo»e przerwa¢ pracy instalatora) Nowy punkt startowy: typo3/sysext/install/Start/Install.php Przedtem: typo3/install/index.php (istnieje przekierowanie ze starego do nowego URL) TYPO3 CMS 6.2 LTS - Co nowego
  25. 25. Instalator Ró»ne Po wyª¡czeniu pami¦ci podr¦cznej mo»liwe jest u»ywanie instalatora nawet je±li zawieraª on nieprawidªowy kod PHP Sprawd¹ czy opcja PHP xdebug.max_nesting_level pokazuje warto±¢ 250 lub wy»sz¡ (domy±lna warto±¢ 100 prawdopodobnie mo»e powodowa¢ problemy) Relaxed permission check: Je±li gªówny folder nie posiada poprawnie ustawionych praw (np 2770), a te prawa nie mog¡ zosta¢ ustawione np. dlatego ze folder instalacji nie nale»y do u»ytkownika który uruchomiª instalator, pierwszy krok instalacji zostanie przerwany. Opcja targetPermissionRelaxed zmniejsza zapotrzebowanie na prawa je±li nie s¡ idealne i pozwala na kontynuowanie instalacji do momentu do którego b¦dzie mo»liwe tworzenie podfolderów. TYPO3 CMS 6.2 LTS - Co nowego
  26. 26. Instalator Ró»ne Usuni¦to opcje (keys) z Instalatora (i nast¦pnie z pliku LocalConfiguration.php, oraz: BE/loginLabels BE/loginNews BE/useOnContextMenuHandler EXT/em_mirrorListURL EXT/em_wsdlURL EXT/extList EXT/extList_FE EXT/noEdit FE/defaultTypoScript_editorcfg FE/simulateStaticDocuments GFX/noIconProc GFX/TTFLocaleConv SYS/additionalAllowedClassPrefixes SYS/caching/cacheBackends SYS/caching/cacheFrontends SYS/extCache SYS/T3instID TYPO3 CMS 6.2 LTS - Co nowego
  27. 27. Responsywne Obrazki Rozdziaª 2: Responsywne Obrazki TYPO3 CMS 6.2 LTS - Co nowego
  28. 28. Responsywne Obrazki Wybierz Wielko±¢ Ekranu W Podgl¡dzie Strony W edytorze w module View mo»emy wybra¢ ró»ne rozmiary ekranu, aby testowa¢ responsywne strony TYPO3 CMS 6.2 LTS - Co nowego
  29. 29. Responsywne Obrazki Dost¦pne Niestandardowe Rozmiary Ekranu Rozmiary Ekranu s¡ kongurowalne przez PageTScong: mod.web_view.previewFrameWidths { 1780.label = any LLL or string 1780.height = 145 } Szeroko±¢ jest deniowana przez klucz (tutaj: 1780), podanie wysoko±ci nie jest obowi¡zkowe Domy±lne rozmiary mo»na znale¹¢ w pliku: typo3/sysext/core/Configuration/DefaultConfiguration.php Etykiety mog¡ by¢ zdeniowane przez PageTScong: mod.web_view.previewFrameWidths { 1280.label = LLL:EXT:viewpage/Resources/Private/Language/locallang.xlf:computer 1024.label = LLL:EXT:viewpage/Resources/Private/Language/locallang.xlf:tablet } TYPO3 CMS 6.2 LTS - Co nowego
  30. 30. Responsywne Obrazki Responsywne Galerie Obrazków Dodane atrybuty do implementacji responsywnych galerii obrazków Rozszerzony CSS styled content na potrzeby responsywnych galerii obrazków Przykªad: HTML5 (wymaga config.doctype = html5) TYPO3 CMS 6.2: div class=csc-textpic-imagewrap.../div TYPO3 CMS = 6.2: div class=csc-textpic-imagewrap data-csc-images={register:imageCount} data-csc-cols={field:imagecols}.../div TYPO3 CMS 6.2 LTS - Co nowego
  31. 31. Responsywne Obrazki Responsywne Renderowanie Obrazków Obrazy cObject renderuje tzw. sourceCollection do wspierania ró»nych rozdzielczo±ci ekranu Responsywne renderowanie obrazu dla cObjects text/image i image wymaga dwóch ustawie« w staªym Edytorze: styles.content.imgtext.responsive styles.content.imgtext.layoutKey Opcje: default: domy±lnie img-tag srcset: img-tag z alternatywnymi ¹ródªami takimi jak srcset-attribute picture: picture-tag z source-child-tags data: img-tag z alternatywnymi ¹ródªami jak data-attributes TYPO3 CMS 6.2 LTS - Co nowego
  32. 32. Responsywne Obrazki Wªa±ciwo±¢: layoutKey layoutKey deniuje renderowany wygl¡d (jest to kod HTML, u»ywany przy tagu img) Ka»da opcja pokazuje unikalne zachowania przy renderowaniu HTML-a Opcja default renderuje tag img tradycyjnie (powinna by¢ u»yta, je±li frontend nie jest responsywny) Wdro»enie responsywnego wygl¡du wymaga ró»nych rozmiarów obrazków przy ró»nych rozdzielczo±ciach i rozmiarach ekranu W zale»no±ci od HTML-a, mo»liwo±ci przegl¡darki i JavaScript-u: u»ycie jednego z domy±lnych wygl¡dów lub zdeniowanie wªasnego TYPO3 CMS 6.2 LTS - Co nowego
  33. 33. Responsywne Obrazki Wªa±ciwo±¢: layoutKey layoutKey = {$styles.content.imgtext.layoutKey} layout { default { element = img src=###SRC### width=###WIDTH### height=###HEIGHT### ###PARAMS### ###ALTPARAMS### ###BORDER######SELFCLOSINGTAGSLASH### } srcset { element = img src=###SRC### srcset=###SOURCECOLLECTION### ###PARAMS### ###ALTPARAMS### ###SELFCLOSINGTAGSLASH### source = |*|###SRC### ###SRCSETCANDIDATE###,|*|###SRC### ###SRCSETCANDIDATE### } picture { element = picture###SOURCECOLLECTION###img src=###SRC### ###PARAMS### ###ALTPARAMS######SELFCLOSINGTAGSLASH###/picture source = source src=###SRC### media=###MEDIAQUERY######SELFCLOSINGTAGSLASH### } data { element = img src=###SRC### ###SOURCECOLLECTION### ###PARAMS### ###ALTPARAMS######SELFCLOSINGTAGSLASH### source = data-###DATAKEY###=###SRC### } } TYPO3 CMS 6.2 LTS - Co nowego
  34. 34. Responsywne Obrazki Wªa±ciwo±¢: layout.[layoutKey].element ###SRC### URL w atrybucie (patrz poni»ej): src ###WIDTH### Szeroko±¢ obrazka (w pikselach) dla atrybutu: width ###HEIGHT### Wysoko±¢ obrazka (w pikselach) dla atrybutu: height ###PARAMS### Dodatkowe parametry zdeniowane w cObject IMAGE ###ALTPARAMS### Dodatkowe alternatywne parametry zdeniowane w cObject IMAGE TYPO3 CMS 6.2 LTS - Co nowego
  35. 35. Responsywne Obrazki Wªa±ciwo±¢: layout.[layoutKey].element ###BORDER### Ramka (w pikselach) atrybutu: border ###SELFCLOSINGTAGSLASH### Tag zamykaj¡cy, przykªad img ... / vs. img ... (zale»y od config.xhtmlDoctype albo config.doctype) ###SOURCECOLLECTION### Opcjonalne obrazki, w zale»no±ci od u»ywania responsywnego design-u. Dokªadne warto±ci okre±la klucz: layout.[layoutKey].source TYPO3 CMS 6.2 LTS - Co nowego
  36. 36. Responsywne Obrazki Wªa±ciwo±¢: sourceCollection.[dataKey] Domy±lnie sourceCollection z EXT:css_styled_content Rekomenduje si¦ napisanie wªasnego sourceCollection sourceCollection { small { width = 200 srcsetCandidate = 600w mediaQuery = (max-device-width: 600px) dataKey = small } smallRetina { if.directReturn = 1 width = 200 pixelDensity = 2 srcsetCandidate = 600w 2x mediaQuery = (max-device-width: 600px) AND (min-resolution: 192dpi) dataKey = smallRetina } } TYPO3 CMS 6.2 LTS - Co nowego
  37. 37. Responsywne Obrazki Przydatne linki Przykªady dziaªaj¡cego kodu: http://wiki.typo3.org/Responsive_Image_Rendering Artykuªy Svena Wolfermanna na typo3.org: http://typo3.org/news/article/ responsive-image-rendering-in-typo3-cms-62/ Specykacja W3C: http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/ http://www.w3.org/TR/html-picture-element/ Projekt grupy Responsive Image Community Group: http://responsiveimages.org TYPO3 CMS 6.2 LTS - Co nowego
  38. 38. Panel administracyjny Rozdziaª 3: Zmiany w panelu administracyjnym TYPO3 CMS 6.2 LTS - Co nowego
  39. 39. Panel administracyjny Logowanie do panelu administracyjnego Autofokus w polu username w formularzu logowania do panelu administracyjnego (HTML5 atrybut: autofocus=autofocus) TYPO3 CMS 6.2 LTS - Co nowego
  40. 40. Panel administracyjny Wygl¡d Ulepszono obsªug¦ za pomoc¡ techniki livening Zwi¦kszono marginesy mi¦dzy moduªami (left-hand-side column) Wykorzystano 12 pikselow¡ siatk¦, któr¡ podwojono Po lewej: TYPO3 4.5 Po prawej: TYPO3 6.2 TYPO3 CMS 6.2 LTS - Co nowego
  41. 41. Panel administracyjny Wygl¡d Zreorganizowano moduªy w lewej kolumnie. Moduª ADMINTOOLS podzielono na dwie cz¦±ci: ADMINTOOLS (Languages i Extension Manager) SYSTEM (niskopoziomowe narz¦dzia, które nie pokazuj¡ 3-kolumnowej strony) Usuni¦to przestarzaªy moduª TypoScript Help TYPO3 CMS 6.2 LTS - Co nowego
  42. 42. Panel administracyjny Wygl¡d h1-nagªówki w gªównym obszarze korzystaj¡ konsekwentnie z czcionki TYPO3 Share TYPO3 CMS 6.2 LTS - Co nowego
  43. 43. Panel administracyjny Wygl¡d Moduª Reports ma now¡ ikonk¦ TYPO3 CMS 6.2 LTS - Co nowego
  44. 44. Panel administracyjny Przesyªanie plików metod¡ Przeci¡gnij i Upu±¢ (ang.DragDrop) (1) Udost¦pniona funkcjonalno±¢ przesyªania plików HTML5 DragDrop w li±cie plików TYPO3 CMS 6.2 LTS - Co nowego
  45. 45. Panel administracyjny Przesyªanie plików metod¡ Przeci¡gnij i Upu±¢ (ang.DragDrop) (2) ...jak i przez elementy tre±ci (przycisk: Select upload les) TYPO3 CMS 6.2 LTS - Co nowego
  46. 46. Panel administracyjny U»yteczno±¢: Lista uzytkowników w panelu administracyjnym Pokazana nazwa u»ytkownika, prawdziwe imi¦ i nazwisko (pierwsza kolumna na li±cie) Klikni¦cie na nazw¦ u»ytkownika (imi¦ i nazwisko) edytuje dane u»ytkownika Dodany przycisk usuwania u»ytkownika z listy TYPO3 CMS 6.2 LTS - Co nowego
  47. 47. Panel administracyjny Wyszukiwanie z podpowiedziami (ang.autocompletion) Tooltip pokazuje UID oraz PID w livesearch Po zako«czeniu wyszukiwania formularz zostanie ponownie zamkni¦ty i zostaje pokazany widok listy (na niepustej stronie) TYPO3 CMS 6.2 LTS - Co nowego
  48. 48. Panel administracyjny Wyszukiwanie z podpowiedziami (ang.autocompletion) W TYPO3 6.2, dla stron, pod uwag¦ s¡ brane tylko kolumny tabel title i uid W TYPO3 = 6.2, pola alias mog¡ by¢ dodawane do wyszukiwania (wymaga UserTScong: options.pageTree.searchInAlias = 1) TYPO3 CMS 6.2 LTS - Co nowego
  49. 49. Panel administracyjny Warstwa Abstrakcyjna Pliku Tytuª i nazwa pliku w nagªówku WAP TYPO3 CMS 6.2 LTS - Co nowego
  50. 50. Panel administracyjny Warstwa Abstrakcyjna Pliku (EXT:lemetadata) Rozszerzenie systemowe lemetadata dodaje nowe zakªadki aby wy±wietli¢ dane meta (rozszerzenie jest ªadowane wraz z j¡drem, ale nie jest domy±lnie zainstalowane) TYPO3 CMS 6.2 LTS - Co nowego
  51. 51. Panel administracyjny Warstwa Abstrakcyjna Pliku (EXT:lemetadata) TYPO3 CMS 6.2 LTS - Co nowego
  52. 52. Panel administracyjny Warstwa Abstrakcyjna Pliku Mo»liwo±¢ tªumaczenia danych meta WAP na j¦zyk lokalizacji strony. TYPO3 CMS 6.2 LTS - Co nowego
  53. 53. Panel administracyjny Moduª: Documentation Moduª Documentation pozwala u»ytkownikom panelu administracyjnego pobiera¢ lub ogl¡da¢ instrukcje Nowe instalacje TYPO3 wczytuj¡ ten moduª domy±lnie Funkcja Download Documentation pobiera instrukcje (spójrz na ilustracj¦) U»yj Menad»era Rozszerze« aby wczyta¢ Documentation na zaktualizowanej instalacji TYPO3 TYPO3 CMS 6.2 LTS - Co nowego
  54. 54. Panel administracyjny Moduª: Documentation Funkcja Show Documentation wy±wietla pobrane instrukcje TYPO3 CMS 6.2 LTS - Co nowego
  55. 55. Panel administracyjny Usuni¦te: TypoScript Help EXT:tscong_help (TScong Quick Reference) usuni¦te (nieaktualne informacje nie aktualizowane od TYPO3 CMS 4.1) TYPO3 CMS 6.2 LTS - Co nowego
  56. 56. Panel administracyjny Planowanie zada« Mo»liwo±¢ usuni¦cia zadania z poziomu widoku edycji (w TYPO3 6.2, funkcja usuwania byªa dost¦pna tylko w widoku listy) TYPO3 CMS 6.2 LTS - Co nowego
  57. 57. Panel administracyjny Planowanie zada« Opis mo»e by¢ przypisany do zada« harmonogramu i pokazany jako krótki nagªówek w widoku listy lub jako tooltip (zobacz nast¦pny slajd) TYPO3 CMS 6.2 LTS - Co nowego
  58. 58. Panel administracyjny Planowanie zada« Opis zadania jako krótki nagªówek (ta wªa±ciwo±¢ musi by¢ aktywowana w konguracji rozszerze«) Opis zadania jako tooltip (hover) TYPO3 CMS 6.2 LTS - Co nowego
  59. 59. Panel administracyjny Planowanie zada« Mo»liwo±¢ grupowania zada« Dodaj rekordy scheduler task group do strony ¹ródªowej (UID: 0) i wybierz grup¦ w edycji zadania TYPO3 CMS 6.2 LTS - Co nowego
  60. 60. Panel administracyjny Rozszerzenia Systemowe: Form Nowy postprocesor dla cObject FORM: redirect (przekierowuje po zapisaniu formularza) Warto±¢ jest parsowana przez typolink (funkcja TypoScript), co oznacza, »e mo»e by¢ zarówno ID strony jak i URL-em TYPO3 CMS 6.2 LTS - Co nowego
  61. 61. Panel administracyjny Lista moduªów Dodatkowe kolumny UID i PID w widoku listy dla wszystkich u»ytkowników TYPO3 CMS 6.2 LTS - Co nowego
  62. 62. Panel administracyjny Warstwa Abstrakcyjna Pliku Je»eli plik nie zostanie odnaleziony, pojawi si¦ informacja i zostanie ustawiona aga dla rekordu w bazie danych Moduª Reports wykazuje to jako problem Je»eli plik pojawi si¦ ponownie, wiadomo±¢ i aga zostan¡ zresetowane TYPO3 CMS 6.2 LTS - Co nowego
  63. 63. Panel administracyjny Menu oparte na kategoriach (1) Element tre±ci Menu/Sitemap mo»e stworzy¢ menu oparte na kategoriach TYPO3 CMS 6.2 LTS - Co nowego
  64. 64. Panel administracyjny Menu oparte na kategoriach (2) Kolejny nowy typ menu: Content elements for selected categories TYPO3 CMS 6.2 LTS - Co nowego
  65. 65. Panel administracyjny Sortowanie kategorii Teraz kategorie mog¡ by¢ sortowane (w TYPO3 6.2, kategorie zawsze s¡ sortowane alfabetycznie) TYPO3 CMS 6.2 LTS - Co nowego
  66. 66. Panel administracyjny Widoczno±¢ kategorii Widoczno±¢ kategorii mo»e by¢ ograniczona dla u»ytkowników/grup w panelu administracyjnym TYPO3 CMS 6.2 LTS - Co nowego
  67. 67. Panel administracyjny Uzyteczno±¢ Ikona new content jest zawsze widoczna je±li kolumna jest pusta (pomaga to zrozumie¢ edytuj¡cym co mog¡ robi¢) TYPO3 CMS 6.2 LTS - Co nowego
  68. 68. Panel administracyjny Funkcje Kiedy edytuj¡cy tworz¡ wielokrotne strony w module functions, nowe pole wyboru pozwala im ukry¢ te strony w menu (bardzo przydatne podczas tworzenia wielu stron jednocze±nie) TYPO3 CMS 6.2 LTS - Co nowego
  69. 69. Panel administracyjny Menadzer Rozszerze« Przesyªanie moduªów poprzez funkcj¦ Get Extensions TYPO3 CMS 6.2 LTS - Co nowego
  70. 70. Panel administracyjny Recykler Rekordy recyklera mog¡ by¢ sortowane wedªug znacznika czasu (pomaga to u»ytkownikom zdecydowa¢ czy odzyska¢ wªa±ciwy rekord czy nie) TYPO3 CMS 6.2 LTS - Co nowego
  71. 71. Panel administracyjny Uprawnienia plików/katalogów Bardziej szczegóªowe uprawnienia plików/katalogów dla u»ytkowników/grup w panelu administracyjnym (1) Jest to mo»liwe od TYPO3 6.0, lecz tylko przez UserTScong (2) TYPO3 CMS 6.2 LTS - Co nowego
  72. 72. Panel administracyjny OpenID (1) OpenID do autoryzacji u»ytkowników panelu administracyjnego mo»na skongurowa¢ za pomoc¡ kreatora EXT:openid (rozszerzenie systemowe) jest wymagane przez t¦ funkcj¦ TYPO3 CMS 6.2 LTS - Co nowego
  73. 73. Panel administracyjny OpenID (2) OpenID do autoryzacji u»ytkowników panelu administracyjnego mo»na skongurowa¢ za pomoc¡ kreatora EXT:openid (rozszerzenie systemowe) jest wymagane przez t¦ funkcj¦ Wi¦cej informacji o OpenID: http://openid.net TYPO3 CMS 6.2 LTS - Co nowego
  74. 74. Panel administracyjny Obszary robocze Edytorzy/u»ytkownicy mog¡ zdeniowa¢ kogo zawiadomi¢, bez ograniczania tego na poziomie systemu Zakªadka All jest teraz widoczna dla wszystkich u»ytkowników TYPO3 CMS 6.2 LTS - Co nowego
  75. 75. TScong TypoScript Rozdziaª 4: TScong TypoScript TYPO3 CMS 6.2 LTS - Co nowego
  76. 76. TScong TypoScript Doª¡czanie TypoScript-u Doª¡cz wszystkie pliki TypoScript-u z folderu (rekurencyjnie) INCLUDE_TYPOSCRIPT: source=DIR:directory INCLUDE_TYPOSCRIPT: source=DIR:EXT:myextension/res/setup Kolejno±¢ w której doª¡czane s¡ pliki: alfabetycznie, najpierw pliki a pó¹niej foldery Ograniczenia plików, które b¦d¡ doª¡czone przez dodanie rozszerzenia=... INCLUDE_TYPOSCRIPT: source=DIR:directory extensions=ts Domy±lnie, tylko pliki z rozszerzeniami ts, t3, t3s, t3c, txt mog¡ by¢ doª¡czone Lista ta jest kongurowalna (Instalator): $TYPO3_CONF_VARS[’SYS’][’tsfile_ext’] TYPO3 CMS 6.2 LTS - Co nowego
  77. 77. TScong TypoScript Doª¡czanie TypoScript-u ‘cie»ki wzgl¦dne mog¡ by¢ wpisane w INCLUDE_TYPOSCRIPT, je±li wª¡czanie jest wywoªane rekurencyjnie z pliku Pierwsze doª¡czenie musi by¢ bezwzgl¦dne ./ odzwierciedla aktualny folder ostatniego doª¡czenia ../ odzwierciedla folder rodzica folderu ostatniego doª¡czenia Przykªady: INCLUDE_TYPOSCRIPT: source=FILE:directory/typoscript/setup.ts INCLUDE_TYPOSCRIPT: source=FILE:./filename.ts INCLUDE_TYPOSCRIPT: source=FILE:../filename.ts INCLUDE_TYPOSCRIPT: source=FILE:../directory/filename.ts TYPO3 CMS 6.2 LTS - Co nowego
  78. 78. TScong TypoScript strPad Opcja stdWrap zostaªa dodana do wªa±ciwo±ci strPad page = PAGE page.10 = TEXT page.10 { value = Hello World! strPad { length = 5 length { current = 1 setCurrent.data = TSFE:page|uid setCurrent.wrap = | + 80 prioriCalc = 1 } padWith = . } } TYPO3 CMS 6.2 LTS - Co nowego
  79. 79. TScong TypoScript _DEFAULT_PI_VARS stdWrap zostaªo dodane do _DEFAULT_PI_VARS _DEFAULT_PI_VARS jest u»ywane do ustawiania domy±lnej warto±ci dla piVars (zmienne GET/POST jako rozszerzenie) TYPO3 6.2 plugin.tt_news._DEFAULT_PI_VARS { year = 2013 } TYPO3 = 6.2 plugin.tt_news._DEFAULT_PI_VARS { year.stdWrap.data = date:Y } TYPO3 CMS 6.2 LTS - Co nowego
  80. 80. TScong TypoScript Debugowanie wyj±cia Debugowanie wyj±cia dla rejestru i zmiennych na stronie: $GLOBALS[’TSFE’]-register $GLOBALS[’TSFE’]-page Przykªady: 10 = LOAD_REGISTER 10.variable = value 20 = TEXT 20.data = debug:register 30 = TEXT 30.data = debug:page TYPO3 CMS 6.2 LTS - Co nowego
  81. 81. TScong TypoScript Linki do plików Odno±niki do plików oferuj¡ opis, tytuª tekstu i alternatywn¡ etykiet¦ dla ka»dego pliku. Wszystkie trzy mog¡ by¢ dost¦pne z rejestru: register:description register:titleText register:altText Przykªad: # filelinks tt_content.uploads.20 { # link description instead of filename labelStdWrap.data = register:description # output alternative text itemRendering.20.data = register:titleText } TYPO3 CMS 6.2 LTS - Co nowego
  82. 82. TScong TypoScript funkcja stdWrap : wymiana (1) Opcja replace w funkcji-stdWrap replacement wspiera teraz optionSplit Przykªad 1: 10 = TEXT 10.value = TYPO3_inspires_people_to_share 10.replacement.10 { search = _ replace = 1 || 2 || 3 useOptionSplitReplace = 1 } Wyj±cie: TYPO31inspires2people3to3share TYPO3 CMS 6.2 LTS - Co nowego
  83. 83. TScong TypoScript funkcja stdWrap : wymiana (2) Opcja replace w funkcji-stdWrap replacement wspiera teraz optionSplit Przykªad 2: 10 = TEXT 10.value = TYPO3 inspires people to share 10.replacement.10 { search = #(TYPO3|people|share)#i replace = ${1} CMS || all ${1} || collaborate and ${1} useOptionSplitReplace = 1 useRegExp = 1 } Wyj±cie: TYPO3 CMS inspiruje wszystkich ludzi do współpracy i dzielenia sie TYPO3 CMS 6.2 LTS - Co nowego
  84. 84. TScong TypoScript cObject FILE Dwa rejestry dodane do PLIKÓW cObject: FILE_NUM_CURRENT and FILES_COUNT Przykªad: 10 = FILES 10 { references { table = tt_news uid.field = uid fieldName = media } renderObj = COA renderObj { 10 = TEXT 10.value = Renders first file twice 10.if.isFalse.data = register:FILE_NUM_CURRENT 20 = TEXT 20.value = file {register:FILE_NUM_CURRENT} of {register:FILES_COUNT} 20.insertData = 1 } } TYPO3 CMS 6.2 LTS - Co nowego
  85. 85. TScong TypoScript Menu kategorii Generowanie menu z kategoriami w TypoScript-cie Przykªad: page.20 = HMENU page.20 { special = categories special { # comma-separated list of categories value = 1 # sort by title (stdWrap) sorting = title # sorting asc or desc (stdWrap) order = desc 1 = TMENU 1.NO { allWrap = li | /li } } } TYPO3 CMS 6.2 LTS - Co nowego
  86. 86. TScong TypoScript Kategoria dost¦pu Wªa±ciwo±¢ categories zezwala na dost¦p do kategorii dla REKORDÓW cObject Przykªad: # menu of categorized content elements categorized_content = RECORDS categorized_content { categories.field = selected_categories categories.relation.field = category_field tables = tt_content conf.tt_content = TEXT conf.tt_content { field = header typolink.parameter = {field:pid}#{field:uid} typolink.parameter.insertData = 1 wrap = li|/li } wrap = ul|/ul } TYPO3 CMS 6.2 LTS - Co nowego
  87. 87. TScong TypoScript Pliki CSS i JavaScript splitChar teraz mo»e by¢ zdeniowany dla wszystkich wªa±ciwo±ci allWrap Wrap dziaªa teraz jak standardowa metoda stdWrap.wrap Domy±lnie znacznik-splitChar to symbol | Zmiana ta dotyczy: includeCSS includeJSlibs includeJSFooterlibs includeJS includeJSFooter TYPO3 CMS 6.2 LTS - Co nowego
  88. 88. TScong TypoScript Warunki Warunki userFunc akceptuj¡ teraz wiele argumentów TYPO3 6.2 [userFunc = user_function(argument1)] TYPO3 = 6.2 [userFunc = user_function(argument1, argument2, ...)] Przykªad: [userFunc = user_match(checkSubnet, 192.168)] function user_match($command, $subnet) { switch($command) { case ’checkSubnet’: if (strstr(getenv(’REMOTE_ADDR’), $subnet)) { ... } } } TYPO3 CMS 6.2 LTS - Co nowego
  89. 89. TScong TypoScript Warunki Kontekst aplikacji mo»e by¢ okre±lony w warunkach Symbol + i * oraz wyra»enia regularne sa wspierane Przykªad: [applicationContext = Development/Debugging, Development/Profiling] # TYPO3 site in development stage [global] [applicationContext = Production*] # TYPO3 site in production stage # for example Production/Live or Production/Staging [global] [applicationContext = /^TestServerd+$/] # TYPO3 site on TestServer1 or TestServer2 or TestServer3, etc. [global] TYPO3 CMS 6.2 LTS - Co nowego
  90. 90. TScong TypoScript Warunki Podczas korzystania z warunku IP devIP mo»e by¢ u»ywany do sprawdzenia czy IP klienta zgadza si¦ z warto±ci¡ przypisan¡ devIpMask w instalatorze Przykªad: [IP = devIP] page.10 = TEXT page.10.value = Hello Developer! [global] TYPO3 CMS 6.2 LTS - Co nowego
  91. 91. TScong TypoScript Rekordy Bez Domy±lnej Translacji Nowa opcja includeRecordsWithoutDefaultTranslation pobiera rekordy bez lokalizacji rodzica (ale languageField dopasowuje aktualny j¦zyk) Przykªad: pageContent = CONTENT pageContent { table = tt_content select.includeRecordsWithoutDefaultTranslation = 1 ... } TYPO3 CMS 6.2 LTS - Co nowego
  92. 92. TScong TypoScript PLIKI cObject Pliki cObject wspieraj¡ teraz begin i maxItems jako wªa±ciwo±ci Przykªad: page.10 = FILES page.10 { references { table = pages uid.data = page:uid fieldName = media } # retrieve up to 5 files, beginning at the first (0): begin = 0 maxItems = 5 renderObj = TEXT renderObj { data = file:current:size wrap = pFile size:strong|/strong/p } } TYPO3 CMS 6.2 LTS - Co nowego
  93. 93. TScong TypoScript Wykluczenie doktypes z drzewa strony Niektóre doktypes mog¡ by¢ wyª¡czone z drzewa strony Plikiem konguracji jest UserTScong (dla u»ytkownika lub odpowiedniej grupy) Przykªady: # exclude folder pages options.pageTree.excludeDoktypes = 254 # exclude folder and standard pages options.pageTree.excludeDoktypes = 254,1 TYPO3 CMS 6.2 LTS - Co nowego
  94. 94. TScong TypoScript Ukryte moduªy w panelu administracyjnym Moduªy mog¡ by¢ schowane w panelu administracyjnym Ukrycie moduªu nie ma wpªywu na dost¦p do niego (U»ywaj ACL by by¢ u»ytkownikiem albo nale»e¢ do grupy z ograniczonym dost¦pem) Przykªady: options.hideModules = file, help options.hideModules.web := addToList(func,info) options.hideModules.system = BelogLog TYPO3 CMS 6.2 LTS - Co nowego
  95. 95. TScong TypoScript Podgl¡d domeny Alternatywna domena mo»e by¢ ustawiona dla strony/portalu w PageTS Przydatne dla stron z wieloma domenami Przykªad: TCEMAIN.viewDomain = example.com TYPO3 CMS 6.2 LTS - Co nowego
  96. 96. TScong TypoScript Warunki w layout-ach panelu administracyjnego Layout-y panelu administracyjnego wspieraj¡ warunki Przykªad: backend_layout { colCount = 2 rowCount = 1 rows { 1 { columns { 1.name = Main 1.colPos = 0 2.name = Right 2.colPos = 1 } } } } [PIDupinRootline = 123] # remove right column in branch of page ID 123 backend_layout.rows.1.columns.2 [global] TYPO3 CMS 6.2 LTS - Co nowego
  97. 97. TScong TypoScript Ró»ne Wª¡czenie/wyª¡czenie linku forgot password jest opcjonalne showForgotPassword (u»yteczne je±li wiele formularzy logowania jest doª¡czonych przez EXT:felogin na jednej stronie) Domy±lnie odpowied¹ HTTP zawiera nagªówek Content-length Je±li w Apache-u jest wª¡czony pipeling przyspiesza to rendering Mo»e to by¢ kongurowane przez config.enableContentLengthHeader Lista wyników EXT:indexed_search ma ustawienia-stdWrap (opcja: plugin.tx_indexedsearch.resultlist_stdWrap) TYPO3 CMS 6.2 LTS - Co nowego
  98. 98. Zarz¡dzanie pakietami Rozdziaª 5: Zarz¡dzanie pakietami TYPO3 CMS 6.2 LTS - Co nowego
  99. 99. Zarz¡dzanie pakietami Menad»er pakietów Zarz¡dzanie pakietami z TYPO3 Flow przeniesione do TYPO3 CMS Rozwój rozpocz¦ty podczas pracy nad TYPO3 CMS 6.1 Ten projekt d¡»y do harmonizacji formatów pakietów Rozszerzenia w TYPO3 CMS to tylko szczególny rodzaj pakietów Gªówne cele projektu: Wªa±ciwe API do zarz¡dzania pakietami Wsparcie dla nazw rm dostawców Wsparcie dla pakietów Composer’a Wsparcie dla pakietów Flow Refaktoryzacja Autoloader’a TYPO3 CMS 6.2 LTS - Co nowego
  100. 100. Zarz¡dzanie pakietami Integracja Menad»era Pakietów Usuni¦cie $TYPO3_CONF[’EXT’][’extListArray’] z pliku typo3conf/LocalConfiguration.php Plik typo3conf/LocalConfiguration.php skopiowany do typo3conf/LocalConfiguration.beforePackageStatesMigration.php Plik typo3conf/PackageStates.php zawiera: status pakietu (aktywny/nieaktywny) lokalizacja rozszerzenia w systemie plików Rozszerzenia w nast¦puj¡cych katalogach s¡ wykrywane automatycznie: typo3/sysext/ typo3/ext/ typo3/contrib/ typo3conf/ext/ Packages/ (rekurencyjnie) TYPO3 CMS 6.2 LTS - Co nowego
  101. 101. Zarz¡dzanie pakietami Integracja Menad»era Pakietów Dwa nowe (dodatkowe) pliki w katalogu rozszerze«: composer.json Classes/Package.php Je»eli wymagane jest rozszerzenie, aga protected ma by¢ ustawiona w pliku composer.json Je»eli plik PackageStates.php nie istnieje, zostanie (ponownie) stworzony, wraz z wszystkimi rozszerzeniami, których warto±¢ zostanie ustawiona na TRUE Autoloader otrzymuje wªasny, zbuforowany panel administracyjny Wi¦cej informacji: http://wiki.typo3.org/Blueprints/Packagemanager TYPO3 CMS 6.2 LTS - Co nowego
  102. 102. Zarz¡dzanie pakietami Integracja Menad»era Pakietów Przykªad: typo3conf/PackageManager.php return array (’packages’ = array ( ’core’ = array ( ’manifestPath’ = ’’, ’composerName’ = ’typo3/cms/core’, ’state’ = ’active’, ’packagePath’ = ’typo3/sysext/core/’, ’classesPath’ = ’Classes/’, ), ’workspaces’ = array ( ’manifestPath’ = ’’, ’composerName’ = ’typo3/cms/workspaces’, ’state’ = ’inactive’, ’packagePath’ = ’typo3/sysext/workspaces/’, ’classesPath’ = ’Classes/’, ), ... ), ’version’ = 4, ); TYPO3 CMS 6.2 LTS - Co nowego
  103. 103. Zarz¡dzanie pakietami Integracja Menad»era Pakietów Przykªad: composer.json { name: typo3/cms-indexed-search, type: typo3-cms-framework, description: TYPO3 Core, homepage: http://typo3.org, license: [GPL-2.0+], version: 6.2.0, require: { typo3/cms-core: * }, replace: { indexed_search: * } } TYPO3 CMS 6.2 LTS - Co nowego
  104. 104. Zarz¡dzanie pakietami Integracja Menad»era Pakietów Pakiety mog¡ by¢ tak»e aktywowane w czasie wykonywania przy u»yciu klucza: $GLOBALS[’TYPO3_CONF_VARS’][’EXT’][’runtimeActivatedPackages’] = array( packageKey ); Ten klucz jest aktywowany natychmiast po inicjalizacji Menad»era Pakietów TYPO3 CMS 6.2 LTS - Co nowego
  105. 105. Istotne zmiany Rozdziaª 6: Istotne zmiany TYPO3 CMS 6.2 LTS - Co nowego
  106. 106. Istotne zmiany Normalize.css Interfejs u»ytkownika w panelu administracyjnym korzysta z normalize.css, co sprawia, »e przegl¡darki renderuj¡ wszystkie elementy bardziej konsekwentnie i zgodnie z nowoczesnymi standardami Nowoczesno±¢, zgodno±¢ z HTML5, alternatywa dla resetu CSS Cele normalize.css to: zachowywanie u»ytecznych, domy±lnych ustawie« przegl¡darki a nie ich usuwanie, normalizacja stylów dla szerokiej gamy elementów HTML, poprawienie bª¦dów i niespójno±ci popularnych przegl¡darek, zwi¦kszenie u»yteczno±ci subtelnymi udoskonaleniami, wyja±nienie kodu poprzez u»ycie komentarzy i szczegóªowej dokumentacji. TYPO3 CMS 6.2 LTS - Co nowego
  107. 107. Istotne zmiany TCA: opcje displayCond BIT i !BIT Sprawdzanie wielowarto±ciowych pól w displayCond (bitowe) BIT: bit jest ustawiony, !BIT: bit nie jest ustawiony Assuming this TCA: ’content’ = array( ’label’ = ’...’, ’config’ = array( ’type’ = ’check’, ’items’ = array( array(’Content A’, ’’), array(’Content B’, ’’), array(’Content C’, ’’), ), ) ), Examples: ’content_a’ = array( ’label’ = ’...’, ’displayCond’ = ’FIELD:content:BIT:1’, ’config’ = array( ’type’ = ’text’, ) ), ’content_b’ = array( ’label’ = ’...’, ’displayCond’ = ’FIELD:content:!BIT:2’, ’config’ = array( ’type’ = ’text’, ) ), TYPO3 CMS 6.2 LTS - Co nowego
  108. 108. Istotne zmiany Aktualizacje j¦zykowe Extabase Command Controller wprowadza aktualizacje j¦zykowe w rozszerzeniach: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’][’extbase’] [’commandControllers’][] = ’TYPO3CMSLangCommandLanguageCommandController’; Przykªad u»ycia: typo3/cli_dispatch.phpsh extbase language:update de,en,fr Lista j¦zyków oddzielona przecinkami (np. en,de,pl) ogranicza aktualizacje tylko do tych j¦zyków Bez tego argumentu wszystkie j¦zyki zawarte w module Languages zostan¡ zaktualizowane TYPO3 CMS 6.2 LTS - Co nowego
  109. 109. Istotne zmiany Rozszerzenia systemowe: instrukcje w formacie ReST wszystkie instrukcje rozszerze« systemowych s¡ w formacie reStructeredText, instrukcje w formacie OpenOfce zostaªy usuni¦te i nie b¦d¡ ju» u»ywane, ReST jest to ªatwa do oczytania skªadnia WYSIWYG, ze znacznikami zwykªego tekstu jak i system parsowania, pliki ReST rozszerze« systemowych s¡ przechowywane w: typo3/sysext/extensionkey/Documentation/* Wi¦cej informacji: http://de.wikipedia.org/wiki/ReStructuredText http://wiki.typo3.org/ReST TYPO3 CMS 6.2 LTS - Co nowego
  110. 110. Istotne zmiany Niestandardowe Serwery Tªumacze« wdro»ono obsªug¦ Niestandardowych Serwerów Tªumacze« rozszerze«, dzi¦ki zastosowaniu formatu XLIFF i nowego mechanizmu Signal/Slot staªo si¦ to o wiele ªatwiejsze, proponowany serwer tªumacze« to Pootle narz¦dzie do zarz¡dzania tªumaczeniem online wraz z interfejsem napisane w Python/Django pierwotnie opracowane i wydane przez translate.org.za licencja GNU GPL TYPO3 CMS 6.2 LTS - Co nowego
  111. 111. Istotne zmiany Niestandardowe Serwery Tªumacze« Przykªad: EXT:myextension/localconf.php /** * @var TYPO3CMSExtbaseSignalSlotDispatcher $signalSlotDispatcher */ $signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility::makeInstance( ’TYPO3CMSExtbaseSignalSlotDispatcher’); $signalSlotDispatcher-connect( ’TYPO3CMSLangServiceUpdateTranslationService’, ’postProcessMirrorUrl’, ’CompanyExtensionSlotsCustomMirror’, ’postProcessMirrorUrl’ ); TYPO3 CMS 6.2 LTS - Co nowego
  112. 112. Istotne zmiany Niestandardowe Serwery Tªumacze« Przykªad: EXT:myextension/Classes/Slots/CustomMirror.php ?php namespace CompanyExtensionsSlots; class CustomMirror { /** * @var string */ protected static $extKey = ’myextension’; public function postProcessMirrorUrl($extensionKey, $mirrorUrl) { if ($extensionKey === self::$extKey) { $mirrorUrl = ’http://example.com/typo3-packages/’; } } } TYPO3 CMS 6.2 LTS - Co nowego
  113. 113. Istotne zmiany Niestandardowe Serwery Tªumacze« Oczekiwana struktura plików/katalogów na serwerze: http://example.com/typo3-packages/ ‘-- first-letter-of-extension-key ‘-- second-letter-of-extension-key ‘-- extension-key-l10n |-- extension-key-l10n-de.zip |-- extension-key-l10n-fr.zip |-- extension-key-l10n-it.zip ‘-- extension-key-l10n.xml Na przykªad: http://example.com/typo3-packages/m/y/myextension-l10n/myextension-l10n.xml TYPO3 CMS 6.2 LTS - Co nowego
  114. 114. Istotne zmiany Niestandardowe Serwery Tªumacze« Przykªad: extension-key-l10n.xml ?xml version=1.0 standalone=yes ? TERlanguagePackIndex meta timestamp1374841386/timestamp date2013-07-26 14:23:06/date /meta languagePackIndex languagepack language=de md51cc7046c3b624ba1fb1ef565343b84a1/md5 /languagepack languagepack language=fr md5f00f73ae5c43cb68392e6c508b65de7a/md5 /languagepack languagepack language=it md5cd59530ce1ee0a38e6309544be6bcb3d/md5 /languagepack /languagePackIndex /TERlanguagePackIndex TYPO3 CMS 6.2 LTS - Co nowego
  115. 115. Istotne zmiany Automatyczny import t3d rozszerzenia mog¡ teraz importowa¢ pakiety inicjalizacyjne t3d podczas ich instalacji, pliki t3d zawieraj¡ dane, pliki, relacje itp., plik t3d musi nosi¢ nazw¦ data.t3d i znale¹¢ si¦ w: EXT:myextension/Initialisation/ import jest wykonywany tylko raz (nawet je±li rozszerzenie jest pó¹niej przeinstalowane) TYPO3 CMS 6.2 LTS - Co nowego
  116. 116. Istotne zmiany Automatyczny Import Plików podczas instalacji rozszerze« mog¡ one teraz automatycznie importowa¢ pliki inicjalizacji, pliki musz¡ znale¹¢ si¦ w: EXT:myextension/Initialisation/Files/... pliki s¡ kopiowane do: fileadmin/extensionkey/ import jest wykonywany tylko raz (nawet je±li rozszerzenie jest pó¹niej przeinstalowane) TYPO3 CMS 6.2 LTS - Co nowego
  117. 117. Istotne zmiany U»ycie rozszerzenia jako repozytorium czasami rozszerzenia s¡ zale»ne od niestandardowych rozszerze« lub od rozszerze«, które nie zostaªy wydane wraz z ocjalnym Repozytorium Rozszerze« TYPO3 (TER), aby rozwi¡za¢ ten problem, rozszerzenia mog¡ by¢ teraz dostarczane wraz z innymi rozszerzeniami, te musz¡ by¢ umieszczone w (po rozpakowaniu): EXT:myextension/Initialisation/Extensions/... po instalacji rozszerzenia s¡ kopiowane do: typo3conf/ext/ po tym problem zale»no±ci rozszerze« jest rozwi¡zany TYPO3 CMS 6.2 LTS - Co nowego
  118. 118. Istotne zmiany Instalowanie/odinstalowywanie rozszerze« przez CLI Instalowanie i odinstalowywanie rozszerze« za pomoc¡ interfejsu wiersza polece« (CLI) Przykªady: typo3/cli_dispatch.phpsh extbase extension:install extensionkey typo3/cli_dispatch.phpsh extbase extension:uninstall extensionkey Uwaga: do tego jest wymagany u»ytkownik panelu administracyjnego _cli_lowlevel TYPO3 CMS 6.2 LTS - Co nowego
  119. 119. Istotne zmiany Kaskadowe tªumaczenie elementów potomnych TCA oferuje teraz mo»liwo±¢ wª¡czenia/wyª¡czenia kaskadowego usuwania elementów potomnych, relacje musz¡ mie¢ typ inline, domy±ln¡ warto±ci¡ jest TRUE (wª¡czono usuwanie rekordów potomnych typu inline), przykªad (wyª¡czenie usuwania rekordów potomnych typu inline): ... ’type’ = ’inline’, ’foreign_table’ = ..., ’behaviour’ = array( ’enableCascadingDelete’ = 0 ) ... ) ... TYPO3 CMS 6.2 LTS - Co nowego
  120. 120. Istotne zmiany Wielokrotne pola kategorii w tabeli W TYPO3 6.2, mo»liwe jest tylko jedno wywoªanie makeCategorizable() na tabel¦ (wielokrotne wywoªanie mogªoby zast¡pi¢ wcze±niejsze deklaracje pól kategorii) Od TYPO3 = 6.2, wielokrotne pola kategorii w tabeli s¡ mo»liwe Przykªad: TYPO3CMSCoreUtilityExtensionManagementUtility::makeCategorizable( $extensionKey, $tableName, $fieldName = ’categories’, $options = array( ’label’ = ’my category’ ) ); Etykiety dla pól kategorii mo»na ustawi¢ w tablicy $options TYPO3 CMS 6.2 LTS - Co nowego
  121. 121. Istotne zmiany Dostawcy wygl¡du elementów (ang. BE Layout) w panelu administracyjnym W TYPO3 6.2, wygl¡dy elementów (ang. BE) s¡ przechowywane w bazie danych tak jak zwykªe rekordy, od TYPO3 = 6.2 dostawcy takich danych mog¡ by¢ zdeniowani (na przykªad aby wª¡czy¢ rozszerzenia, które s¡ oferowane wraz z wªasnymi denicjami wygl¡du BE i które s¡ przechowywane w plikach), dostawcy takich danych musz¡ napisa¢ implementacj¦ interfejsu zdeniowan¡ w klasie: TYPO3CMSBackendViewBackendLayoutDataProviderInterface i zarejestrowa¢ j¡ za pomoc¡ instrukcji: $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’BackendLayoutDataProvider’][$_EXTKEY] = ’Classname’; TYPO3 CMS 6.2 LTS - Co nowego
  122. 122. Istotne zmiany Layout’y dostawców danych w panelu administracyjnym Nowe funkcje API do obsªugi panelu administracyjnego dostawców danych: ’itemsProcFunc’ = ’TYPO3CMSBackendView BackendLayoutView-addBackendLayoutItems’ getBackendLayoutView()-getSelectedCombinedIdentifier($id); getBackendLayoutView()-getSelectedBackendLayout(); Nowa opcja PageTScong do wykluczania layout’ów panelu administracyjnego: options.backendLayout.exclude = default_1, my_extension__headerLayout TYPO3 CMS 6.2 LTS - Co nowego
  123. 123. Istotne zmiany Selektor wielokrotnego wyboru (1) ltrowanie dost¦pnych pozycji w elemencie wielokrotnego wyboru, np: u»ytkownik mo»e wybra¢ z rozwijanej listy aktywne pole tekstowe dla indywidualnie ltrowanych sªów i wst¦pnie zdeniowanych sªów do wyszukiwania, aby skorzysta¢ z tej funkcji ustaw odpowiednio TCA (np. w pliku typo3conf/extTables.php): $GLOBALS[’TCA’][’fe_users’][’columns’][’usergroup’][’config’] [’enableMultiSelectFilterTextfield’] = TRUE; $GLOBALS[’TCA’][’fe_users’][’columns’][’usergroup’][’config’] [’multiSelectFilterItems’] = array( array(’’, ’show all’), // no filter array(’test’, ’test’), // first value: filter, second value: label array( ’TYPO3’, ’LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:tx_myext.label.typo3’ ), ); TYPO3 CMS 6.2 LTS - Co nowego
  124. 124. Istotne zmiany Selektor wielokrotnego wyboru (2) Dost¦pne s¡ dwie opcje: wybierz wst¦pnie zdeniowane warto±ci z rozwijanej listy, wpisz szukane sªowo/ltr do pola wprowadzania. Wynik mo»e wygl¡da¢ tak: TYPO3 CMS 6.2 LTS - Co nowego
  125. 125. Istotne zmiany Grupy pami¦ci podr¦cznej (1) J¡dro TYPO3 wykorzystuje dwa typy pami¦ci podr¦cznej: systemowa pami¦¢ podr¦czna: class loading cache, conguration cache, l10n_cache, extbase_object, extbase_reection etc. frontend’owa pami¦¢ podr¦czna: cHash cache, page cache, page section cache w TYPO3 6.2, clear all caches opróznia caª¡ pami¦¢ podr¦czn¡, co nie jest idealne, w TYPO3 = 6.2, rdze« wykorzystuje dwie grupy pami¦ci podr¦cznej: pages zwi¡zana z pami¦ci¡ podr¦czn¡ wszystkich stron i system, która jest stosowana w czasie kompilacji i buforowania konguracji TYPO3 CMS 6.2 LTS - Co nowego
  126. 126. Istotne zmiany Grupy pami¦ci podr¦cznej (2) Istotne opcje konguracji: (w plikach: LocalConfiguration.php/DefaultConfiguration.php) ’cache_hash’ = array( ’frontend’ = ’TYPO3CMSCoreCacheFrontendVariableFrontend’, ’backend’ = ’TYPO3CMSCoreCacheBackendTypo3DatabaseBackend’, ’options’ = array(), ’groups’ = array(’pages’, ’all’) ), Flush all caches nie od±wie»a systemowej pami¦ci podr¦cznej (tylko Clear Conguration Cache lub instalator czy±ci t¦ pami¦¢) Nowa opcja userTScong umo»liwia zwykªym u»ytkownikom czyszczenie systemowej pami¦ci podr¦cznej: options.clearCache.system = 1 TO JEST ZNACZCA ZMIANA! TYPO3 CMS 6.2 LTS - Co nowego
  127. 127. Istotne zmiany TCA: Liczba zaznaczonych pól wyboru TCA umo»liwia sprawdzenie liczby zaznaczonych pól wyboru maximumRecordsChecked: limit liczby rekordów dla caªego systemu maximumRecordsCheckedInPid: limit ilo±ci rekordów dla caªego PID (parent ID) Je»eli u»ytkownik BE przekroczy liczb¦ maksymaln¡ to dodatkowe zaznaczenie b¦dzie odrzucone dopóki nie zostanie odznaczony wcze±niejszy rekord, Przykªad: $tcaConfiguration = array( ’type’ = ’check’, ’eval’ = ’maximumRecordsChecked’, ’validation’ = array( ’maximumRecordsChecked’ = 5 ) ); TYPO3 CMS 6.2 LTS - Co nowego
  128. 128. Istotne zmiany TCA: wªa±ciwo±¢ MM_oppositeUsage podczas kopiowania rekordu sys_category jest tworzona nowa referencja MM, ale bez ustawienia pola eldname, Warto±¢ ta jest zdeniowana w przeciwnej encji z wªa±ciwo±ci¡ MM_match_fields, która niestety nie jest dost¦pna, ale nie mo»e by¢ dost¦pna, aby rozwi¡za¢ ten problem, do TCA wprowadzono now¡ wªa±ciwo±¢ MM_oppositeUsage: ’config’ = array( ’allowed’ = ’*’, ’MM’ = ’tx_myextension_first_second_mm’, ’MM_oppositeUsage’ = array( ’tt_content’ = array(’somefield’), ’tx_myextension_domain_model’ = array(’some_property’), ), ), TYPO3 CMS 6.2 LTS - Co nowego
  129. 129. Istotne zmiany Ró»ne Lista niestandardowych rekordów: Instancja listy niestandardowych rekordów mo»e by¢ u»ywana w przegl¡darce elementów, aby zast¡pi¢ domy±ln¡ list¦ rekordów Wi¦cej podgrup: Atrybut subgroup w bazie danych w tabeli be_groups zmieniony z varchar(250) na text, co pozwala na znacznie wi¦cej podgrup (u»ytkowników/grup panelu administracyjnego) Rozszerzenia TS/Poª¡czony template: Technicznie, WEB Template byªo rozprowadzone na kilka rozszerze« (tstemplate_ceditor, tstemplate_info, tstemplate_objbrowser i tstemplate_analyzer). Te rozszerzenia s¡ teraz poª¡czone w jedno: tstemplate TYPO3 CMS 6.2 LTS - Co nowego
  130. 130. Istotne zmiany Ró»ne label_userFunc_options: Wsparcie dla label_userFunc_options dodane do BackendUtility Extension lename: Podczas pobierania rozszerzenia w Menad»erze Rozszerze«, nazwa pliku otrzymuje znacznik czasowy (rok, miesi¡c, dzie« i czas): extensionKey_version_timestamp.zip myextension_1.0.0_201312102359.zip EXT:saltedpasswords: Rozszerzenie EXT:saltedpasswords jest wymaganym rozszerzeniem systemu i jest teraz domy±lnie wª¡czone. Zmusza to znaki zaszyfrowane metod¡ salt do uwierzytelnienia w panelu administracyjnym. Instalator sprawdza ustawienia i dostosowuje je w razie potrzeby. TYPO3 CMS 6.2 LTS - Co nowego
  131. 131. Istotne zmiany Ró»ne SignalSlots do zmodykowania argumentów: Argumenty przekazywane do dispatcher’a SignalSlots mog¡ teraz by¢ modykowane. Dispatcher zwraca (zmodykowane) argumenty otrzymane w celu zachowania nienaruszonych ªa«cuchów. Podgl¡d workspace: Parametry zapytania s¡ przekazywane teraz do podgl¡du workspace’a. Byª to problem w TYPO3 6.2, gdzie rozszerzenia przekazuj¡ce niestandardowe parametry nie dziaªaj¡ prawidªowo Funkcja TCEforms PlaceHolder: Wprowadzona w TYPO3 CMS 4.7, funkcja PlaceHolder z TCEforms dziaªa od teraz rekursywnie (e.g. __row|uid_foreign|field). TYPO3 CMS 6.2 LTS - Co nowego
  132. 132. Istotne zmiany Ró»ne Ikony z podwojon¡ rozdzielczo±ci¡: SpriteManager obsªuguje od teraz ikony w wysokiej rozdzielczo±ci: generuje on drug¡ ikon¦ w podwojonej rozdzielczo±ci (drugi plik z przyrostkiem @x2.png). CSS3 zapewnia, »e plik w wysokiej rozdzielczo±ci jest ªadowany na urz¡dzeniach które j¡ wspieraj¡. (nie ma to wpªywu na dziaªanie innych urz¡dze«). Uwierzytelnianie proxy NTLM: Dodane wsparcie dla uwierzytelniania proxy NTLM (NT LAN Manager: zestaw protokoªów bezpiecze«stwa Microsoft’u). Ta funkcja mo»e by¢ aktywowana w instalatorze: $GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’curlProxyNTLM’] (przy okazji: ta funkcja zostaªa wprowadzona ponad 8 lat temu :-)) TYPO3 CMS 6.2 LTS - Co nowego
  133. 133. Istotne zmiany Ró»ne Domy±lne cookieHttpOnly: Tworzenie ciasteczka sesji dost¦pnej tylko za po±rednictwem protokoªu HTTP, cookieHttpOnly jest teraz wª¡czone domy±lnie. Oznacza to, »e ciasteczka fe_typo_user i be_typo_user nie b¦d¡ dost¦pne dla j¦zyków skryptowych (np. JavaScript), co wzmacnia ochron¦ przed atakami XSS (cross site scripting), chocia» niektóre starsze przegl¡darki nie obsªuguj¡ tej techniki. Czyszczenie tabeli w bazie danych: Nast¦puj¡ce atrybuty zostaªy usuni¦te z tabeli tt_content (nie u»ywanej od TYPO3 4.0): text_align, text_face, text_size, text_color, text_properties. TYPO3 CMS 6.2 LTS - Co nowego
  134. 134. Istotne zmiany Ró»ne HTML Tidy usuni¦ty: Funkcjonalno±¢ HTML Tidy zostaªa usuni¦ta z rdzenia TYPO3. Mo»e by¢ to ªatwo wprowadzone ponownie przez u»ycie EXT:tidy z TER’a. dontSetCookie usuni¦ty: Ze wzgl¦du na fakt, »e ciasteczko fe_typo_user jest ustawione tylko gdy potrzeba (lecz nie zawsze), instalator opcji dontSetCookie jest nieistotny i zostaª usuni¦ty. Skrypt wizard usuni¦ty: Usuni¦cie nast¦puj¡cych skryptów wizard: typo3/wizard_add.php, typo3/wizard_colorpicker.php, typo3/wizard_edit.php, typo3/wizard_forms.php, typo3/wizard_list.php, typo3/wizard_rte.php, typo3/wizard_table.php TYPO3 CMS 6.2 LTS - Co nowego
  135. 135. Interfejs programowania aplikacji Rozdziaª 7: Interfejs programowania aplikacji (API) TYPO3 CMS 6.2 LTS - Co nowego
  136. 136. Interfejs programowania aplikacji Hak: tsfe::checkEnableFields W TYPO3 6.2, extend to subpages nie mo»e by¢ u»ywany w swoim wªasnym rozszerzeniu posiadaj¡cym denicje widoczno±ci strony (lista pól do sprawdzenia jest zakodowana w tsfe::checkEnableFields()) W TYPO3 = 6.2, nowy hak zezwala rozszerzeniom dostarczy¢ reguªy widoczno±ci strony w przypadku gdy strony rodzice posiadaj¡ wª¡czony extend to subpages . Klasa: TYPO3CMSFrontendControllerTypoScriptFrontendController $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’tslib/class.tslib_fe.php’][’hook_checkEnableFields’] TYPO3 CMS 6.2 LTS - Co nowego
  137. 137. Interfejs programowania aplikacji Hak: checkFlexFormValue w DataHandler-ze W TYPO3 6.2, gdy aktualizujemy warto±ci Flexform-y, nie jest sprawdzane czy istniej¡ca warto±¢ w bazie nie zostaªa usuni¦ta To staje si¦ problemem np. kiedy zapisujemy akcje kontrolera umo»liwiaj¡cego przeª¡czanie (Extbase) w Flexform-ie: stare akcje, które mog¡ by¢ ju» nie u»ywane musz¡ zosta¢ usuni¦te r¦cznie W TYPO3 = 6.2, nowy hak pozwala na dostosowanie starej Flexform-y przed tym zanim zostanie scalona z nowa Klasa: TYPO3CMSCoreDataHandlingDataHandler $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’t3lib/class.t3lib_tcemain.php’][’checkFlexFormValue’] Metoda: checkFlexFormValue_beforeMerge() TYPO3 CMS 6.2 LTS - Co nowego
  138. 138. Interfejs programowania aplikacji Hak do modykownia nagªówka Nowy hak w TYPO3 = 6.2, pozwala modykowa¢ nagªówek strony w module strony (Module: Web Page) Ten hak jest wywoªywany przed wyrenderowaniem zawarto±ci strony Klasa: TYPO3CMSBackendControllerPageLayoutController $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’cms/layout/db_layout.php’][’drawHeaderHook’] Metoda: callUserFunction() TYPO3 CMS 6.2 LTS - Co nowego
  139. 139. Interfejs programowania aplikacji IRRE: domy±lne warto±ci przy tworzeniu rekordów Nowa opcja TCA pozwala kongurowa¢ pola inline Klucz foreign_record_defaults pozwala na ustawienie (domy±lnie) warto±ci w nowo utworzonych rekordach ’config’ = array( ’type’ = ’inline’, ’foreign_table’ = ’tt_content’, ’foreign_record_defaults’ = array( ’CType’ = ’image’ ), ) Przykªad powy»ej: tt_content elementy, które s¡ stworzone dla pola IRRE b¦d¡ domy±lnie jakoimage content elements. Edytor mo»e ustawi¢ to jako inny typ przed zapisaniem. TYPO3 CMS 6.2 LTS - Co nowego
  140. 140. Interfejs programowania aplikacji Obszary robocze (1) W TYPO3 6.2, moduª Workspaces mo»e by¢ rozszerzony jedynie przez nadpisanie komponentów PHP i JavaScript W TYPO3 = 6.2, mo»liwe jest rozszerzanie denicji i zachowania wyswietlanych kolumn w module Klika przykªadów na kolejnych slajdach... TYPO3 CMS 6.2 LTS - Co nowego
  141. 141. Interfejs programowania aplikacji Obszary robocze (2) Przykªad (plik ext_localconf.php): $GLOBALS[’TYPO3_CONF_VARS’][’SC_OPTIONS’] [’t3lib/class.t3lib_tcemain.php’][’processCmdmapClass’][’workspaces_logger’] = ’VendorWorkspacesLoggerHookDataHandlerHook’; Przykªad (plik ext_tables.php): TYPO3CMSWorkspacesServiceAdditionalColumnService::getInstance()-register( ’WorkspacesLogger_StageChange’, ’VendorWorkspacesLoggerDataProvider’ ); TYPO3CMSWorkspacesServiceAdditionalResourceService::getInstance()-addJavaScriptResource( ’WorkspacesLogger’, ’EXT:myextension/Resources/Public/JavaScript/StageChange.js’ ); TYPO3 CMS 6.2 LTS - Co nowego
  142. 142. Interfejs programowania aplikacji Obszary robocze (3) Przykªad (plik VendorWorkspacesLoggerHookDataHandlerHook): ?php namespace VendorWorkspacesLoggerHook; use TYPO3CMSCoreSingletonInterface; class DataHandlerHook implements SingletonInterface { const TABLE_Name = ’tx_workspaceslogger_event’; const EVENT_SetStage = 91; /** * hook that is called when no prepared command was found */ public function processCmdmap($command, $table, $id, $value, $commandIsProcessed, TYPO3CMSCoreDataHandlingDataHandler $tcemainObj) { ... $action = (string) $value[’action’]; if ($command === ’version’ $action === ’setStage’ $commandIsProcessed) { ... } } } TYPO3 CMS 6.2 LTS - Co nowego
  143. 143. Interfejs programowania aplikacji Kompatybilny logger PSR-3 CMS TYPO3 6.2 logging API jest teraz kompatybilne z PSR-3 PSR-3 ma na celu ustalenie standardu logowania w PHP (standard framework-a PHP Interop Group) Gªównym celem PSR-3 jest pozwalanie bibliotekom na odbieranie obiektów LoggerInterface i wpisywanie w nich logów w prosty i uniwersalny sposób. Logger interface zawiera skrócone metody log-u takie jak debug(), warning(), notice(), alert(), error(), etc. Wi¦cej informacji: http://www.php-fig.org/psr/3/ TYPO3 CMS 6.2 LTS - Co nowego
  144. 144. Interfejs programowania aplikacji CSRF Ochrona zapyta« Ajax Zapytania Ajax w panelu administracyjnym TYPO3 mog¡ by¢ chronione przed CSRF (cross-site request forgery) przez rejestrowanie pól przetrzymuj¡cych dane TYPO3CMSCoreUtilityExtensionManagementUtility::registerAjaxHandler( ’TxMyExt::process’, ’VendorMyExtAjaxHandler-process’ ); URL podanego identykatora Ajax jest chroniony tokenem CSRF, który jest sprawdzany w dispatcher-rze ajax.php $ajaxUrl = TYPO3CMSCoreUtilityBackendUtility::getAjaxUrl(’TxMyExt::process’); Nast¦pnie do tych ustawie« mo»emy si¦ dosta¢ JavaScript-em w kontek±cie strony var ajaxUrl = TYPO3.settings.MyExt.ajaxUrl; TYPO3 CMS 6.2 LTS - Co nowego
  145. 145. Interfejs programowania aplikacji Ró»ne Nowa metoda canBeInterpretedAsFloat() w klasie: MathUtility (Jest to analogiczne do: canBeInterpretedAsInteger()) Nowy typ enumeracji (bez relacji z 3-ci¡ cz¦±ci¡ moduªu PHP): TYPO3CMSCoreTypeEnumeration Dla przykªadu u»yte w: TYPO3CMSCoreVersioningVersionState ...a nastepnie jako: new VersionState(VersionState::DEFAULT_STATE); TYPO3 CMS 6.2 LTS - Co nowego
  146. 146. Extbase Fluid Rozdziaª 8: Extbase Fluid TYPO3 CMS 6.2 LTS - Co nowego
  147. 147. Extbase Fluid ObjectManager-getScope() Metoda ObjectManager-getScope() determinuje, czy klasa jest typu prototype czy singleton /** * @var TYPO3CMSExtbaseObjectObjectManagerInterface * @inject */ protected $objectManager; $this-objectManager-getScope($propertyTargetClassName) === TYPO3CMS ExtbaseObjectContainerContainer::SCOPE_PROTOTYPE $this-objectManager-getScope($propertyTargetClassName) === TYPO3CMS ExtbaseObjectContainerContainer::SCOPE_SINGLETON TYPO3 CMS 6.2 LTS - Co nowego
  148. 148. Extbase Fluid Typ Strony Dla URI Niestandardowy typ atrybutu strony nie jest dalej wymagany w linkach, przy renderowaniu specjalnego formatu TYPO3 6.2: f:link.action arguments={blog: blog} pageType={settings.plaintextPageType} format=txt[plaintext]/f:link.action/li Nowa opcja TypoScript formatToPageTypeMapping pozwala na globalne mapowanie: plugin.tx_myextension { view.formatToPageTypeMapping { txt = 99 pdf = 123 } } TYPO3 = 6.2: f:link.action arguments={blog: blog} format=txt[plaintext]/f:link.action/li TYPO3 CMS 6.2 LTS - Co nowego
  149. 149. Extbase Fluid Konwerter typu obiektu (1) Mapuje tablice danych ¹ródªowych na obiekty nie trwaªe Przydatne gdy musisz zbudowa¢ obiekt przej±ciowy z argumentów otrzymanych w odpowiedzi Kilka przykªadów na kolejnych slajdach... TYPO3 CMS 6.2 LTS - Co nowego
  150. 150. Extbase Fluid Konwerter typu obiektu (2) GET request http://example.com/index.php?id=299 tx_myextension[action]=list tx_myextension[controller]=Entity tx_myextension[demand][title]=foo tx_myextension[demand][relation]=1 Entity controller: initializeListAction() use [Vendor]myextensionDomainDtoDemand; public function initializeListAction() { /** * @var PropertyMappingConfiguration $demandConfiguration */ $demandConfiguration = $this-arguments[’demand’]-getPropertyMappingConfiguration(); $demandConfiguration-allowAllProperties()-forProperty(’relation’)-allowAllProperties()- setTypeConverterOption( ’TYPO3CMSExtbasePropertyTypeConverterPersistentObjectConverter’, PersistentObjectConverter::CONFIGURATION_CREATION_ALLOWED, TRUE ); } TYPO3 CMS 6.2 LTS - Co nowego
  151. 151. Extbase Fluid Konwerter typu obiektu (3) Entity controller: listAction() use [Vendor]myextensionDomainDtoDemand; /** * @var PropertyMappingConfiguration $demandConfiguration */ public function listAction(Demand $demand = NULL) { $entities = $this-entityRepository-findAll(); $this-view-assign(’entities’, $entities); } Model: [Vendor]myextensionDomainDtoDemand.php namespace [Vendor]myextensionDomainDto; use [Vendor]myextensionDomainModelRelation; class Demand { protected $relation; /** * @param TYPO3FriendsMapperExampleDomainModelRelation $relation */ public function setRelation($relation) { $this-relation = $relation; } } TYPO3 CMS 6.2 LTS - Co nowego
  152. 152. Extbase Fluid Chaining Of set* Functions Metoda set* mo»e by¢ ªa«cuchem w ci¡gu QuerySettings API Doª¡cza nowe opcje przedstawione wraz z TYPO3 CMS 6.0: setIncludeDeleted i setIgnoreEnableFields $query-getQuerySettings() -setRespectStoragePage(FALSE) -setRespectSysLanguage(FALSE) -setIgnoreEnableFields(TRUE) -setIncludeDeleted(TRUE); TYPO3 CMS 6.2 LTS - Co nowego
  153. 153. Extbase Fluid returnRawQueryResult jako argument Czysty wynik zapytania nie jest dalej metod¡ centraln¡, ale jako argument metody: execute() TYPO3 6.2: $query-getQuerySettings()-setReturnRawQueryResult(TRUE); TYPO3 = 6.2: $query-execute(TRUE); TYPO3 CMS 6.2 LTS - Co nowego
  154. 154. Extbase Fluid Walidacja Rekurencyjna Extbase u»ywa teraz rekurencyjnej walidacji (znanej z TYPO3 Flow) To oznacza »e, gdy zagnie»d»one obiekty s¡ tworzone przez Property-Mapper, obiekty wewn¡trz wªa±ciwo±ci, jak i na zewn¡trz obiektu s¡ walidowane (w TYPO3 CMS 6.2, tylko zewn¦trzne obiekty s¡ walidowane) Dodatkowko, walidator pozwala teraz na puste warto±ci TO JEST ZNACZCA ZMIANA! By wªa±ciwo±¢ byªa wymagana musisz koniecznie doda¢ NotEmptyValidator! TYPO3 CMS 6.2 LTS - Co nowego
  155. 155. Extbase Fluid Kontekst Aplikacji Dost¦p do aktualnego kontekstu aplikacji w Extbase (ustaw zmienn¡ ±rodowiskow¡ TYPO3_CONTEXT lub w Instalatorze) TYPO3CMSCoreCoreBootstrap::getInstance()-getContext(); TYPO3CMSCoreUtilityGeneralUtility::getContext(); TYPO3 CMS 6.2 LTS - Co nowego
  156. 156. Extbase Fluid ViewHelper: image Fluid ViewHelper image z opcjonalnym atrybutem title Przykªad: f:image src=background.jpg alt=Text / TYPO3 6.2: img src=background.jpg alt=Text title=Text / TYPO3 = 6.2: img src=background.jpg alt=Text / TYPO3 CMS 6.2 LTS - Co nowego
  157. 157. Extbase Fluid ViewHelpers: texteld and textarea Argumenty autofocus i placeholder (argument walidacji w HTML5) dla Fluid ViewHelpers form.textarea i form.texteld przykªad (placeholder): f:form.textfield id=powermail_field_{field.marker} ... placeholder={field.title - vh:string.RawAndRemoveXss()} ... name=field[{field.uid}] required={field.mandatory} / TYPO3 CMS 6.2 LTS - Co nowego
  158. 158. Extbase Fluid ViewHelper: switch Nowy Fluid ViewHelper switch renderuje kontent polegaj¡c na podanych warto±ciach lub wyra»eniach Zachowania podobne do wyra»enia switch() w PHP f:switch expression={person.gender} f:case value=maleMr./f:case f:case value=femaleMrs./f:case f:case default=TRUEMrs. or Mr./f:case /f:switch Uwaga: nadmierne u»ywanie ViewHelper-a mo»e zapocz¡tkowa¢ bª¦dny design! Podobny rezultat mo»e by¢ osi¡gni¦ty u»ywaj¡c podszablonów title.male.html oraz title.female.html i nast¦puj¡ce: f:render partial=title.{person.gender} / TYPO3 CMS 6.2 LTS - Co nowego
  159. 159. Extbase Fluid ViewHelper: leSize Konwertuje wielko±¢ pliku (staªa) do zrozumiaªego przez czªowieka string-a Przykªad 1 (leSize = 1263616): fileSize - f:format.bytes() Output: 1234 KB Przykªad 2 (leSize = 1263616): fileSize - f:format.bytes( decimals: 2, decimalSeparator: ’.’, thousandsSeparator: ’,’ ) Output: 1,234.00 KB TYPO3 CMS 6.2 LTS - Co nowego
  160. 160. Extbase Fluid ViewHelper: format.date Domy±lna warto±¢ ViewHelper-a format.date jest kongurowalna z instalatora $GLOBALS[’TYPO3_CONF_VARS’][’SYS’][’ddmmyy’] Je±li ta zmienna nie jest ustawiona, Y-m-d to u»ywane jest (year, month, day) TYPO3 CMS 6.2 LTS - Co nowego
  161. 161. Extbase Fluid ViewHelper: Backend Container Fluid ViewHelper kontener panelu administracyjnego (be.container) zmienione: typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php Nieaktualne: $addCssFile (use $includeCssFiles instead) $addJsFile (use $includeJsFiles instead) Nowe: $loadJQuery $includeCssFiles $includeJsFiles $addJsInlineLabels TYPO3 CMS 6.2 LTS - Co nowego
  162. 162. Extbase Fluid ViewHelper: button.icon Stworzenie Fluid ViewHelper button.icon (byªo eksperymentem) Tworzy ikone przycisku (opcjonalnie z linkiem) f:be.buttons.icon uri={f:uri.action(action:’new’)} icon=actions-document-new title=Create new Foo / f:be.buttons.icon icon=actions-document-new title=Create new Foo / Atrybut icon akceptuje ponad 310 warto±ci! Szukaj: $GLOBALS[’TBE_STYLES’][’spriteIconApi’][’coreSpriteImageNames’] ...w pliku: typo3/systext/core/ext_tables.php TYPO3 CMS 6.2 LTS - Co nowego
  163. 163. Extbase Fluid Opcja addQueryStringMethod Opcja addQueryString wspiera tylko argumenty-GET (które pó¹niej s¡ dodawane do wygenerowanego linku) Argument-POST (u»ywany przez wid»ety) nie funkcjonuje z t¡ opcj¡ Nowa opcja addQueryStringMethod rozwi¡zuje ten problem i pozwala zdeniowa¢, która metoda powinna by¢ brana pod uwag¦: GET (domy±lnie), POST, GET/POST lub POST/GET Kilka Fluid ViewHelper-ów wspiera t¡ now¡ opcje: link.action link.page uri.action uri.page widget.link widget.uri widget.paginate TYPO3 CMS 6.2 LTS - Co nowego
  164. 164. Extbase Fluid Fluid: Fallback Path For Templates Fluid wspiera teraz ±cie»ki fallback w szablonach, podstronach i layout-ach : templateRootPaths, partialRootPaths, layoutRootPaths Najpierw najwy»szy index, nast¦pnie iteracja przez niskie indexy, dopóki szablon nie zostanie odnaleziony plugin.tx_myextension { view { templateRootPath = EXT:myextension/Resources/Private/Templates/ } } plugin.tx_myextension { view { templateRootPath templateRootPaths { 10 = fileadmin/myextension/Templates/ 20 = EXT:myextension/Resources/Private/Templates/ } } } TYPO3 CMS 6.2 LTS - Co nowego
  165. 165. Aktualizacja do TYPO3 CMS 6.2 LTS Rozdziaª 9: Aktualizacja do TYPO3 CMS 6.2 LTS TYPO3 CMS 6.2 LTS - Co nowego
  166. 166. Aktualizacja do TYPO3 CMS 6.2 LTS Ogólne instrukcje aktualizacji Instrukcje aktualizacji: http://wiki.typo3.org/Upgrade#Upgrading_to_6.2 Ocjalny przewodnik TYPO3 TYPO3 Installation and Upgrading: http://docs.typo3.org/typo3cms/InstallationGuide Dost¦p ogólny: Sprawd¹ czy system speªnia minimalne wymagania (PHP, MySQL, itp.) Przejrzyj deprecation_*.log w starej instancji TYPO3 Zaktualizuj wszystkie rozszerzenia do najnowszej wersji (sprawd¹ kompatybilno±¢ TYPO3 6.2) Obejrzyj rozdziaª Instalator w tej prezentacji TYPO3 CMS 6.2 LTS - Co nowego
  167. 167. Aktualizacja do TYPO3 CMS 6.2 LTS Aktualizacja z TYPO3 CMS 4.5 LTS Wiele stron TYPO3 przejdzie z LTS do nast¦pnej wersji LTS Pªynna migracja projektu: Ma na celu dokonanie migracji z 4.5 do 6.2 najpªynniejszym sposobem Dokumentacja, identykacja problemów w rozszerzeniach, itp. http://forge.typo3.org/projects/typo3cms-smoothmigration EXT:typo3-upgradereport: Gªównie opracowany przez Steffena Rittera Instalacja w instancji TYPO3 CMS 4.5 LTS i uruchomienie testu Uczestniczenie w rozwoju https://github.com/nxpthx/typo3-upgradereport TYPO3 CMS 6.2 LTS - Co nowego
  168. 168. Aktualizacja do TYPO3 CMS 6.2 LTS Co nowego dla edytuj¡cych Podsumowanie gªównych zmian mi¦dzy TYPO3 CMS 4.5, a 6.2 Grupa docelowa: gªównie edytorzy (u»ytkownicy zaawansowani technicznie sªabo lub wcale) Ma równie» na celu pomaga¢ agencjom: w przygotowaniu odpowiedzi na »¡danie wsparcia prowadzenie warsztatów, seminariów, szkole«, itp. Pobierz dokument What’s New for Editors: http://typo3.org/download/release-notes/whats-new TYPO3 CMS 6.2 LTS - Co nowego
  169. 169. Pogromca mitów Rozdziaª 10: TYPO3 CMS 6.2 LTS - Pogromca mitów TYPO3 CMS 6.2 LTS - Co nowego
  170. 170. Pogromca mitów Mity o TYPO3 CMS 6.2 TYPO3 CMS 6.2 LTS b¦dzie ostatnim wydaniem TYPO3 CMS nieprawda! Prawda jest taka, »e mimo zako«czenia wydawania TYPO3 Neos, rozwój TYPO3 CMS b¦dzie trwaª nadal i doczekamy si¦ kolejnych wyda« w przyszªo±ci. Rdze« TYPO3 zostaª caªkowicie przepisany w 6.x nieprawda! Prawda jest taka, »e wprowadzili±my w TYPO3 CMS 6.0 poj¦cie przestrzeni nazw z PHP, co przekªada si¦ na nowe nazwy klas. Jednak warstwa kompatybilno±ci zapewnia, »e programi±ci mog¡ nadal u»ywa¢ w swoich rozszerzeniach starych nazw klas. Rozszerzenia opracowane dla 4.5 nie b¦d¡ dziaªa¢ na 6.2 nieprawda! Prawda jest taka, »e rdze« API nie zostaª zmieniony caªkowicie i oferuje kompatybilno±¢ wsteczn¡, je»eli rozszerzenie jest zgodne z nasz¡ strategi¡ amortyzacji. Rdze« TYPO3 6.2 nadal obsªuguje wi¦kszo±¢ rozszerze«, które zostaªy napisane w 4.5, bez lub z maªymi modykacjami. TYPO3 CMS 6.2 LTS - Co nowego
  171. 171. Pogromca mitów Mity o TYPO3 CMS 6.2 TemplaVoila nie moze by¢ wi¦cej uzyte w TYPO3 6.2 nieprawda! Prawda jest taka, »e spoªeczno±¢ pracuje nad wersj¡ kompatybiln¡, która pozwoli na korzystanie z TemplaVoila w TYPO3 CMS 6.2. TemplaVoila nie b¦dzie rozwijane i zach¦camy integratorów do rozpatrzenia alternatyw dla nowych projektów. Rozszerzenia oparte na tslib_pibase nie dziaªaj¡ nieprawda! Prawda jest taka, »e klasa tslib_pibase nadal istnieje w 6.2, ale ma now¡ nazw¦ ze wzgl¦du na wprowadzenie przestrzeni nazw: TYPO3CMSFrontendPluginAbstractPlugin. Alias klasy zapewnia, »e stara nazwa wci¡» dziaªa (warstwa kompatybilno±ci) Nie da si¦ przenie±¢ rekordów do 6.2 przy u»yciu FAL nieprawda! Faktem jest, »e zapora nie dziaªa w TYPO3 6.x, jednak»e FAL ma na celu wspieranie API, co umo»liwia odtworzenie tego co byªo w DAM. Pobierz DAM-to-FAL-migration. TYPO3 CMS 6.2 LTS - Co nowego
  172. 172. Pogromca mitów Mity o TYPO3 CMS 6.2 Mo»esz dokona¢ aktualizacji z 4.5 do 6.2 kreatorem nieprawda! Pogªoski mówi¡, »e projekt Pªynna Migracja dostarcza du»y kreator aktualizacji, który automatycznie uaktualnia TYPO3 4.5 do 6.2. Prawda jest taka, »e projekt ten ma na celu dostarczenie informacji, dokumentacji, wykrywanie niezgodno±ci itp. do wsparcia integratorów wykorzystywanych w procesie migracji. TYPO3 6.2 wymaga znacznie lepszego sprz¦tu nieprawda! Pogªoski mówi¡, »e 6.2 jest 10 razy wolniejszy ni» 4.5. Prawda jest taka, »e w wi¦kszo±ci wypadków wyniki s¡ podobne do poprzednich wersji. Minimalne wymagania do uruchomienia TYPO3 nie zmieniªy si¦. Jednak»e ze wzgl¦du na charakter zmian architektonicznych i nowoczesnych technologii, administratorzy powinni rozwa»y¢ modernizacj¦ sprz¦tu (pami¦taj: TYPO3 4.5 zostaª wydany w styczniu 2011 roku, czyli ponad 3 lata temu). TYPO3 CMS 6.2 LTS - Co nowego
  173. 173. ™ródªa i autorzy Rozdziaª 11: ™ródªa i autorzy TYPO3 CMS 6.2 LTS - Co nowego
  174. 174. ™ródªa i autorzy ™ródªa (1) Nowo±ci TYPO3: http://typo3.org/news Informacje o wydaniu: http://wiki.typo3.org/TYPO3_6.2 http://typo3.org/download/release-notes/typo3-6-2-release-notes/ NEWS.txt and ChangeLog Repozytorium Git TYPO3: http://git.typo3.org/Packages/TYPO3.CMS.git TYPO3 CMS 6.2 LTS - Co nowego
  175. 175. ™ródªa i autorzy ™ródªa (2) TYPO3 Bug-/Issuetracker: http://forge.typo3.org/projects/typo3v4-core/issues Inne ¹ródªa: Responsive Image Community Group http://responsiveimages.org Package Manager (Blueprint) http://wiki.typo3.org/Blueprints/Packagemanager Normalize.css http://necolas.github.io/normalize.css/ PHP Logging standard PSR-3 http://www.php-fig.org/psr/psr-3/ Projekt LTS Smooth Migration http://forge.typo3.org/projects/typo3cms-smoothmigration Raport aktualizacji TYPO3 CMS z 4.5 do 6.2 https://github.com/nxpthx/typo3-upgradereport TYPO3 CMS 6.2 LTS - Co nowego
  176. 176. ™ródªa i autorzy Slajdy Co nowego w TYPO3 CMS: Patrick Lobacher (Research and Information Gathering) Michael Schams (English/German version and Project Leader) Tªumaczenia: Andrey Aksenov, Paul Blondiaux, Sergio Catala, Philippe Hérault, Sinisa Mitrovic, Michel Mix, Tymoteusz Motylewski, Bartªomiej Matyla, Jakub Idziak, Roberto Torresani, Ric van Westhreenen, Christiaan Wiesenekker http://typo3.org/download/release-notes/whats-new Licensed under Creative Commons BY-NC-SA 3.0 TYPO3 CMS 6.2 LTS - Co nowego

×