Notes for all sessions on TYPO3camp Mallorca 2014 ##Sessions wanted (for Sunday): 1. Introduction to FluidTYPO3 Please write notes for every session in this document. ##NEOS, 11.15 am Stefan Regniet from Techdivision talks about NEOS in the j.weiland room Saturday 11.15 am actual code lives in packages Application which is NEOS, needs some other packages like TypoScript typo3cr typo3 content repository stores data in a node structure 2 types of nodes, document type == pages and content type of nodes and both types are in the same database table all data is stored in the property field as an array (serialized) on the left you have a content type structure tree content collections hold content elements inside typoscript in cms: configuration, navigation, many aspects neos typoscript is only the controller for the view drupal, wordpress, joomla use php, html mixture which is ugly in neos a lot of yaml configuration files typoscript connects to the fluid templates keep the convention for the path of your typoscript configuration you need an instance of the page to get an output on the frontend instance of the page has to be defined somewhere so it has to have a prototype page.ts2 defines the prototype of the page the page is an array you can add features to the body in the page.ts2 parts.mainMenu in fluid refers to typoscript for a new site you define the package and the site name inside the package there is already some folders and files for example resources in neos multi sites are already possible to add a content area, define it in typoscript, go to the yaml file and to the fluid template, then you get an error message: failed to render content Menus can also have namespaces to get the fully qualified name you always work offline in neos in your own workspace, before it goes online you have to publish in the settings.yaml file you add content dimensions for languages and countries (not yet released, only in dev-master) ##TYPO3 community session 11.15 * \url{https://flickr.com/#/photos/t3gina/15038655010/} * \url{https://flickr.com/#/photos/t3gina/15038571509/} * \url{https://flickr.com/#/photos/t3gina/15224985572/} * \url{https://flickr.com/#/photos/t3gina/15224992152/} ##Motivation Session 11.15 v \url{http://en.m.wikipedia.org/wiki/Drive:\_The\_Surprising\_Truth\_About\_What\_Motivates\_Us} \url{http://m.youtube.com/watch?v=u6XAPnuFjJc} ##40 Reasons to migrate to TYPO3 CMS 6.2 \url{https://notes.typo3.org/p/40ReasonsToMigrateTo62} ##Killer Features of PHPStorm 14.00 room jochenweylandt by Andras, www.marit.ag Reformat Code: code was hard to read with different tools, difficult to discover the real code changes in the commits plugins.jetbrains.com/plugin/7463 Install by plugins / restart Clipboard ctrl+shift+V, hit a number 1-5, you can use then different clipboards to insert, cmd+Shift+v on Mac pasting changes the order in the stack: most recent goes up autocompletion: checks the annotations also for typoscript and for fluid Typoscript-Plugin for PHPStorm from sgalinski.de \url{http://www.sgalinski.de/open-source.html} \url{http://buzz.typo3.org/teams/extbase/article/howto-autocompletion-for-fluid-in-phpstorm/} Live Templates make coding much more easier: example for foreach, you can define where to jump afer one setting has been made class navigation: people complain how to come back use: crtl+alt+ arrow left or right it also save the last position of your cursor for windows built in terminal solution Search / replace in a directory, is also possible always easily possible to resize windows quick definition: shows up in a popup, without searching and navigating Search for "everything": ctrl+shift+a / cmd+shift+a Cheat sheet Keymapper can also easiliy be changed \url{http://www.jetbrains.com/phpstorm/documentation/PhpStorm\_ReferenceCard.pdf} ##TYPO3 Deployment * Local development via vagrant / VirtualBox * Deployment by a Jenkins (former Hudson) server * Deployment to Integration Server -> Testing Server -> Production Server * htdocs folder is completely in versioning system * live DB credentials and other secret stuff is located on live server and replaces the values in the LocalConfiguration * every release has its own folder on the machine * the release will be sym-linked if the whole deployment process succeed * if there are core patches there is a separate file which will be merged into the TYPO3 sources * fileadmin/uploads/typo3temp are sym-linked in each release ##Upgrade to TYPO3 6.2 - LTS to LTS Support for TYPO3 4.5 ends in March 2015 Customers love LTS, most projects still on 4.5 \url{http://typo3.org/download/release-notes/whats-new/} -> 550 pages of changes Preparing the Upgrade: Never ever on live site! Use a copy of the live site! Make sure you have a backup! Two ways: Clean-up installation, then make a copy -> faster, but changes in live site or make a copy, then clean-up installation -> safer, but slower Create a copy: complete copy of all files, copy of the database Duplicate the Database: mysqldump --opt -u username1 -ppassword1 olddatabase | mysql -u username2 -ppassword2 newdatabase Important parameter: --opt !! If the old database is not utf-8, it have to be converted in utf-8 before the dump. \url{http://ci.kay-strobach.de:8008/typo3/utf-8/tree/master} Clean up installation: remove local, uninstalled extensions (delete from server) remove installed, but unused extensions Are there obsolete Extensions? (e.g. ics\_awstats -> doesn't work in 6.2) Run database analyzer in install tool, update required tables, remove unused tables/fields Update extensions for 4.5 (last versions compatible with 4.5) Beware of the PHP-Versions: the live site (Extensions) may need PHP 5.2.x, but the new version of an extension may need PHP 5.3.x or 5.4.x Some Extensions have an update Script, e.g. tt\_news 2.x to 3.x Activate the Deprecation Log (Install tool, [SYS][enableDeprecationLog] = file (enabled by default -> may cause very large files! Deactivate it on a live system) [SYS][displayErrors] = 1 -> you'll see an PHP error message instead of a white page ;) Check \& Update the reference index -> better with shell command (PHP max\_execution\_time could be a problem when updating in the browser) smoothmigration extension (available in TER) analyze installed extensions, reports issues In some old extensions it is sufficient to remove some require\_once calls to make them compatible with 6.2 After clean up, it's time to switch to the new TYPO3 core -> Update symlink (update index.php in DOC\_ROOT, if symlinks to files are not allowed) Install tool: Fix file and folder permissions (one click) Upgrade Wizard checks for broken extensions Go through the upgrade wizard Compare database Clear all cache Update remaining extensions to newest version Newest version not available in TER? Try Git! * \url{http://git.typo3.org} * e.g Extension rlmp\_tmplselector: \url{http://github.com/jweiland-net/rlmp\_tmplselector} * DAM to FAL migration New system extension filemetadata (not installed by default!) -> install it before the dam-fal-migration!, extends the database table sys\_filemetadata Extension DAM to FAL Migration \url{https://github.com/fnagel/t3ext-dam\_falmigration} -> see the Readme.md at Github! Update the language packs (seperate backend module in 6.2) Changes in Extbase (new property mapper, recursive validation) It may be necessary to recreate scheduler tasks \url{http://jweiland.net/t3dd14} Direct upgrade from 4.5 to 6.2 is possible, you should do it this way! Older versions (4.4,4.3,...) can not be upgraded directly to 6.2! You have to upgrade to 4.5 first! Extension: additional\_reports \url{http://typo3.org/extensions/repository/view/additional\_reports} * Shows you, which extensions are really used in your project * New reports in the reports backend module ##TYPO3 Contribution EVERYBODY can contribute! Today's focus: development Area "Contribute" on typo3.org: typo3.org/contribute Portal for developer based contribution on forge.typo3.org. There e.g. an issue list can be found (features, tasks, bugs,...), including status information for each issue. Also new issues can be created there, please provide a speaking subject and good description for each issue you create, so that others can understand what you mean. Not only for the core but also for community extensions like news. There you also see the respective team member list. If you want to report a bug, before creating a new issue please first check if this bug has already been reported. For that reason it's really important to give each issue an easy understandable subject. If you want to patch a bug by yourself, you can either attach the patch or diff to the issue, or better: use gerrit: review.typo3.org There a direct links from a change/commit in gerrit to the related issue on forge. Everyone who has an account, can test and review and give a +1 (if it works) or -1 (i ##ForgetIT 15.00 room sitegeist by Olivier Dobberklau Eu project computers should also be allowed to forget a way of learning languages is to repeat it for human beings 2 major types of memories, episodic memory, to memory events semantic memory: i dont remember the name of an actor but i know the films where he was playing working memory: sensory input is transformed in a knowledge base compare it with how the computer memory works the brain forgets without context with learning and repeating the forgetting is slowed down and stopped what kind of content in typo3 we want to keep and what we would like to forget semantic web look at the essence of the document how search engines work: popular word count metainformation page rank computer just see blocks on the website, semantic web, also the computers know whats on the website semantic web: entity value concept of triples: subject predicate object arctic skua is a type of bird all are defined by URIs later ontologies by hierarchies, relations and providing a general structure ensure interdisciplinary understanding semantic search create specific and precise queries have the meaning of the intended information receive cumulative results from different sources image search through concept detection computer should forget personal data, example because of crimes or penalties which happened long ago target of forgetIT to work with your data Typo3 as a PoF Adapter (preserve or forget) CMIS repository Archival Information System (OASIS) Storlet engine: computation in storage preservation planning ##Routing 16.00 room sitegeist better examples for routing than by realurl in typo3 cms exist in Symfony or typo3.flow.git parseUrl \& http\_built\_query php Funktionen symfony routing vermutlich einfacher in typo3 cms zu integrieren als flow routing ##MASK sunday 11.15 room jochen weiland by Gernot Ploiner Typo3 Seiten und Inhaltsmasken Gernot Ploiner from Krems in Austria use tt\_content pages and IRRE technology repeating content is possible (eg for slider) generates basic fluid templates on creation use typo3 standards extbase extension offers a wizard that generates the content fields no php knowledge is required configuration is stored in text files for versioning multilanguage and workspaces work out of the box compatible with other extensions gridelements, l10mgr Mask Backend Module is not ready now first you create a backendlayout Description and short title for the content wizard you can add fields use existing or create new field works with drag and drop field keys name and date you have to remember new fields with prefix tx\_mask you can access the fields with typoscript all configuration is stored in one file mask.json registration of the content element is done in a tsconfig file you have to include the extension typoscript you dont have to use CSS styled content the release was planned for october but they will be late so the extension will be published at the end of the year problem is that the sql is put in the ext\_tables.sql, so if the extension is updated, the sql definitions get lost ## ##Session prototyping for Responsive 11.15 Sunday Software -clickdummies -marvel - ##CDN Sunday, 1500 ct ;-) by Ingo Schmitt Warum CDN bestimmte Ansätze für CDN in Typo3 typo3.org, sehr viele Dateien werden übertragen from punkt.de over a lot of router to mallorca which is slow for a file how you know where is the closest server, by resolving the dns of the local client server is not specialised to distribute data this a cdn can do quicker performance increases by a cdn a lot how i get my data to a cdn? to get my data there is a caching proceeding works like a huge proxy first request is slower but then the files are stored on a distribution server next to the client there is also a push proceeding, where you actively transfer the files to the distribution cdn server which file can change although the filename stays the same for example style sheets proxy stores the file in between should not deliver old files for example old css or javascript but stylesheets are delivered with timestamps so they will be recognised as new files after a change if i refer in stylesheets on icons or pictures i have a problem because i cannot add timestamps to pictures all static content i can deliver to cdn provider for example akamai, you dont have to care a lot about it you have to tell typo3 that instead of the fileadmin url the new url of the cdn is provided use a condition if you are in dev or live environment, in production tx\_ja extension is used with a search and replace use instead of fileadmin fa c.heimwerker.de is the cdn which then delivers the files from the nearest proxy for german company cdn with 5 or 6 proxy in Germany suitable that it is quick built versions for css and javascripts problem when a file has to be changed or removed quickly delete operation automatic or manually provider of proxy only wants the data which are requested and are allowed to be cached proxy has to know if it is allowed to store something in a cache or not also big files are good to be stored in cdn you pay for the transfer and the storage you need at amazon you can calculate your costs for the cdn is useful for projects with more than 500 GB transfer volume at this volume you have an relying hit ration page speed from google evaluates the cdn in a positive way you have to configure varnish for the cdn for static files i dont need varnish anymore first cdn and then varnish varnish was included in projects within weeks the call to the varnish goes when the typo3 cache is cleared hook when the the page cache is cleared to inform the varnish cache for example when a tt\_news record has changed deliver complete page by the cdn not only the static files could be an idea push to cdn is more expensive than caching needs 3 months until the cdn works properly and until you have understood all if you give an editor a flag to make the page fast he will always use it static files are important to be fast, video can be some seconds slower Example configuration for ja\_replacer (\url{http://typo3.org/extensions/repository/view/ja\_replacer)} tx\_ja\_replacer { search { 1="fileadmin/ 2="/fileadmin/ 3="uploads/ 4="/uploads/ 5="/typo3temp/ 6="typo3temp/ * } * replace { * 1="\url{http://c.heimwerker.de/fa/} * 2="\url{http://c.heimwerker.de/fa/} * 3="\url{http://c.heimwerker.de/up/} * 4="\url{http://c.heimwerker.de/up/} * 5="\url{http://c.heimwerker.de/tt/} * 6="\url{http://c.heimwerker.de/tt/} * }} ##Fluid Powered TYPO3 Sven Wappler \url{https://github.com/FluidTYPO3} \url{http://fluidtypo3.org} -> documentation vhs = collection of viewhelpers fluidcontent = custom content elements \url{http://t3bootstrap.de/} You can have the template for free. Just send me (Sven) a message, info@wappler.systems t3 mallorca was a cheap event...
{}