[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