[Neos] [FYI] Technical Discussion Meeting 04.06.2013

Christian Müller christian.mueller at typo3.org
Tue Jun 4 14:13:45 CEST 2013


Flow/Neos Discussion 04.06.2013

See also: http://wiki.typo3.org/TYPO3_Neos-DiscussionMeetings
The original proposed topic descriptions can be found below.

Participants: Aske, Bastian, Berit, Christian, Christopher, Jacob, Marc,
Rens, Sebastian


EEL Standard Library
====================

* usage inside TypoScript, in Fluid, in Policies
* various “helper” tools, like:
** String Manipulation
** Array Manipulation
** Date Manipulation

* How do we “namespace” that / How to access it? / How to name them?
** PHP Naming?
** JS Naming? → DECIDED.

Examples:
${String.replace(myContextVariable, “.”, “,”)}
${Date.add(Date.now(), ‘2 days’)}
${Array.merge([0, 1, 2, 3], [3, 4, 5])}
${Array.reverse([0, 1, 2, 3])}
${MyPackageKey.String.ucfirst(foo)}


**DECISIONS**
→ we go for JS style naming.
→ Conventions: UpperCamelCase in the Eel Context contain *helper
functions* from the *global library*
→ lowerCamelCase in the Eel Context is different depending on the
context (Policy, TypoScript, …)
→  Default Helpers are *Singleton Classes* (DISCOURAGED to
override/extend them)
→ you will be able to register new Helper classes (like “MyPackageKey”,
containing your own helpers)
→ Use factories to create Eel contexts (refactor existing code)


General configuration/templates
===============================

* We discussed parts of that at the code sprint, but not yet fully...
* how should the default Page template be structured such that people do
not need to update them?
* What should be changeable without changing the full template?
** Meta tag (as array)
** Script Tag (as array)
** additional “header data”
** JavaScript inclusions at end of page

**DECISIONS**
-> we use HTML5 Boilerplate as “Markup”
-> we use a minimal html template and build the rest of the template
using typoscript (see below)
-> every “Array” in TypoScript is an *extension point*
-> every key which starts with “neos” is needed by the UI, f.e.
“neosBackend”
-> we introduce a “Tag” TypoScript object capable of rendering a single tag
-> Conditional comments (f.e. for the <html> tag) are possible using
@processors on the invididual tags


-- Page TypoScript template --
<ts:render path=”htmlTag” />
<ts:render path=”headTag” />
<ts:render path=”head” />
</head>
<ts:render path=”bodyTag” />
<ts:render path=”body” />
</body>
</html>

-- Default TypoScript --
prototype(Page) {
head = Array
head.meta = Array
head.scripts = Array
head.scripts.foo = Script {
resource = resource://MyVendor.MyPackage/Public/Scripts/foo.js
}
head.scripts.neosBackend = Script ...
head.styles = Array
head.styles.neosBackend = Style
head.styles.neosBackend.resource =
resource://MyVendor.MyPackage/Public/Scripts/foo.js
head.neosComment = ‘<!-- …. -->‘
head. at position = first

htmlTag = Array {
	default = Tag {
		tagName = ”html”
}
}

headTag = Array {
	default = Tag {
		tagName = “head”
	}
}

bodyTag = Array {
	default = Tag {
		tagName = “body”
class = Array {
	neos = “neos-body”
}
}
}
}





Neos Assets and Resources
=========================

* Vector based icons/icon fonts? → Decision: YES!
* → we will avoid PNGs with new UI redesign
* → however technical barriers prevent an easily solution with that for now.
* find a good way to include custom icon fonts for their node types.
** or automatically combine icon fonts with some custom glyphs/icons
* BASE64 encoded later
* → we can start to look into the problem now



Commenting for docs.typo3.org
=============================

* Commenting solution for documention would be very nice → we all agree
on that.
* own tool too much work
* disqus would be a possible solution
http://www.wwwision.de/disqus/
* We wouldn’t have SSO with t3o accounts -> no problem
* TODO Bastian: Discuss with TYPO3 Core Team and Doc Team to add it
* TODO: Discuss how to switch between documentation versions



Fluid templates
* Possibility to override single templates easier because every hack to
do it right now is worse than building it right.
http://forge.typo3.org/issues/39870


Next Meeting: 18th of June 3 PM CEST

------------------------------------------------------------------------

Original topic proposals as reference

EEL Standard Library

    Initiator(s): Christian, Christopher

General configuration/templates

    Initiator(s): Aske, Rens, Sebastian, Robert

We need to discuss how we want to make our default templates and which
and how we want to make things configurable. We've already discussed and
almost agreed on making things like the title, html tag, meta tags a
TypoScript object. However we still need to make a concise plan for what
should be configurable and how it should be configurable.

Currently I see three different ways to configure things:

    Global configuration in Settings.yaml (across sites)
    Site specific configuration via TypoScript
    Node specific configuration #48363

The other end of this is how and what we should provide in our default
template. The goal is that the implementation shouldn't overwrite the
template unless absolutely necessary to make version updating as easy as
possible. Add to this we should provide a clean and simple, yet ready to
use and up to date html5 implementation as the default (like
html5-boilerplate and the like).

Possible discussions:

    Conditional html tags
    Title
    Meta tags
    Script tags
    Link tags (styles)
    Favicon

Neos Assets and Resources

    Initiator(s): Bastian

Possible discussions:

    Icon-font(s) for all symbols? see #45431
    Asset management in general (current state, plans)

Commenting for docs.typo3.org

    Initiator(s): Bastian

Possible discussions:

    Do we (still) want this? see #44154
    What about using a 3rd party solution (e.g. disqus)?


Cheers,
Christian



More information about the Neos mailing list