TYPO3 Neos Technical Discussion June 4

Categories: Development, Community Created by Berit Hlubek
The Neos team has established regular technical discussions starting from June 4th. For the first technical discussion the team had four major topics on the agenda.

EEL Standard Library

The Embedded Expression Language (EEL) is a building block for creating Domain Specific Languages. It provides a rich syntax for arbitrary expressions, such that the author of the DSL can focus on its Semantics.
  • the naming of helper functions will be JavaScript-style
  • Conventions:

    • global helper functions are registered with an UpperCamelCased name in the EEL context
    • everything else should be lowerCamelCase

    • Default helpers are Singleton Classes (to discourage overriding / extending them)
    • you will be able to register new helper classes (i.e. “MyPackageKey.String”, containing your own helpers)
    • Refactor code to use factories for creation of EEL contexts (to have the same helpers consistently everywhere)

    Usage of EEL inside TypoScript, in Fluid and in Policies will work via various helper functions like:

    • String Manipulation
    • Array Manipulation
    • Date Manipulation

    More on EEL: <link http: docs.typo3.org neos typo3neosdocumentation integratorguide eelflowquery.html>docs.typo3.org/neos/TYPO3NeosDocumentation/IntegratorGuide/EelFlowQuery.html

    General configuration/templates

    During the Karlsruhe code sprint some parts of the general page configuration were already discussed but decisions on some parts were still missing. The general idea is to create a basic template for everything outside the body tag (i.e. the <header>) which doesn’t include special logic but will be rendered via TypoScript.

    Within the discussion the conclusion was made that the HTML5 Boilerplate will be used for basic markup. A minimal HTML template will be used as a basis and everything else will be created via TypoScript. Within TypoScript every Array can be extended. UI related keys are prefixed with "neos" (i.e. neosBackend).

    A new TypoScript object will be introduced: The Tag object is capable of rendering a single HTML tag with correct attribute escaping.

    One idea for the creation of conditional comments (i.e. for the <html> tag) is to use TypoScript (@processors or directly on the tag object).

    Neos Assets and Resources

    One conclusion was to avoid pixel based icons for the Neos UI and to use vector based graphics instead. The team has to find a good way to allow inclusion of custom icon fonts for or to automatically combine icon fonts with selected glyphs.
    Even due to some technical barriers we decided that Neos should use vectors right from the beginning. One possibility would be to use Base64 encoded graphics.

    Commenting for<link http: docs.typo3.org> docs.typo3.org

    It would be nice to create a commenting function inside the documentation. Obviously it would be too much work to create a solution on our own. One possibility would be to use disqus (<link http: www.disqus.org>www.disqus.org), it should be possible to use their Single Sign-On solution to directly integrate typo3.org accounts. There is always the problem of time and/or manpower to create an own solution and Disqus comes with quite some features out of the box. The Neos team wants to discuss this with the TYPO3 CMS team and the documentation team as well as the question how comments on older versions of a document should be treated.

    Forum: <link http: forum.typo3.org index.php t>forum.typo3.org/index.php/t/197489/

    Fluid templates

    Until now there is no proper way to override single Fluid templates. As this is an important use case a view configuration will be implemented. The necessary <link http: forge.typo3.org issues>change for that is already under review.