IRC logs

20140425

Logs from channel #fedext on freenode - our official support channel.

IRC log range: 20140425*

20140425

  • 01:16:07 <dominicgarms> hello
  • 10:00:05 <oliver_1234> Hi guys. I'm trying out fluidcontent_core with typo3 6.2.1 . When I create a new content element (e.g simple text) I get this error: #1: PHP Warning: array_combine() [<a href='function.array-combine'>function.array-combine</a>]: Both parameters should have at least 1 element in typo3conf/ext/fluidcontent_core/Classes/UserFunction/ProviderField.php
  • 10:00:05 <oliver_1234> line 63
  • 10:35:40 <Harpagophyt> how can i reference images in a css file? eg: background-image: url(???)
  • 10:38:44 <oliver_1234> do you create the css dynamically?
  • 10:38:46 <soee> and where are they placed ?
  • 10:39:35 <Harpagophyt> static css - images are under Public/img
  • 10:39:55 <soee> and css also in Public ?
  • 10:39:58 <Harpagophyt> yes
  • 10:40:18 <soee> tahn do ba url('../Images/foo.jpg')
  • 10:40:46 <soee> if structure is like Public/Styles/foo.css and Public/Images/foo.jpg
  • 10:40:54 <Harpagophyt> hmm, ok
  • 10:41:00 <Harpagophyt> then i have another problem - thx
  • 10:41:24 <Harpagophyt> ah, the css will be written as typo3temp/...
  • 10:42:34 <oliver_1234> use absolute path. /typo3conf/ext/<extkey>/Resources/Public/Images
  • 10:44:47 <Harpagophyt> it works with standalone = 1 rewrite = 0 - solved - thx
  • 11:16:06 <oliver_1234> I'm trying out fluidcontent_core with typo3 6.2.1 . When I create a new content element (e.g simple text) I get this error: #1: PHP Warning: array_combine() [<a href='function.array-combine'>function.array-combine</a>]: Both parameters should have at least 1 element in typo3conf/ext/fluidcontent_core/Classes/UserFunction/ProviderField.php line 63
  • 11:28:56 <Denyerek> Morning.
  • 11:29:00 <Denyerek> Can anyone tell me if this is dangerous/bad/insane ?
  • 11:29:02 <Denyerek> https://gist.github.com/Denyerec/46c3e512c09b1147d173
  • 11:31:52 <BenjaminR> no none of all :)
  • 11:31:58 <BenjaminR> i do the same
  • 11:32:22 <BenjaminR> Denyerek
  • 11:34:13 <Harpagophyt> if i use v:page.menu what is the condition to detect if there are subpages?
  • 11:37:37 <Harpagophyt> found it on: https://worksonmymachine.org/blog/a-guide-to-menu-rendering-with-fluidtypo3 thx
  • 11:44:03 <Harpagophyt> is there no if/else? just switch?
  • 11:45:18 <BenjaminR> menuitem.hasSubpages
  • 11:45:25 <BenjaminR> is boolean
  • 11:45:46 <BenjaminR> harpagophyt
  • 11:46:04 <BenjaminR> Your is a real challenge to write :)
  • 11:46:28 <Harpagophyt> *gggg*
  • 11:54:39 <Denyerek> BenjaminR, thankyou for the reassurance!
  • 11:54:45 <Denyerek> I was not sure about accessing array.0
  • 11:54:55 <Denyerek> I wondered if it would be "more correct" to have an iterator that ends on count == 1
  • 11:55:09 <Denyerek> But that just seemed like more code to the same effect.
  • 11:55:21 <BenjaminR> v:iterator.first would be more accurat
  • 11:56:50 <Harpagophyt> hmmm, it is really a challenge :-(
  • 11:58:24 <Harpagophyt> <f:if condition="{item.hasSubPages}"> how can i negotiate it?
  • 11:59:00 <BenjaminR> negotiate?
  • 11:59:02 <BenjaminR> negate?
  • 11:59:12 <Harpagophyt> örm yes
  • 11:59:19 <BenjaminR> <f:else> inside :P
  • 12:00:12 <Harpagophyt> örgs, had the vhs viewhelpers open
  • 12:01:42 <BenjaminR> ?
  • 12:01:56 <BenjaminR> Denyerec: youve read about v:iterator.first?
  • 12:02:00 <BenjaminR> hi cedricziel!
  • 12:02:15 <cedricziel> args
  • 12:02:23 <cedricziel> pls invite again BenjaminR
  • 12:03:15 <BenjaminR> (Y)
  • 12:20:43 <Harpagophyt> https://gist.github.com/Harpagophyt/11284644
  • 12:21:07 <Harpagophyt> just get the else out
  • 12:21:58 <BenjaminR> if you use f:else you also have to use f:then
  • 12:22:35 <BenjaminR> if there is no f:then or f:else in a f:if its treated as f:then
  • 12:23:27 <Harpagophyt> YEAH :-) my first partial
  • 12:23:28 <Harpagophyt> thx
  • 12:23:46 <BenjaminR> nice to hear :)
  • 12:23:53 <BenjaminR> congratulations :)
  • 12:23:58 <BenjaminR> ive read you are from austria too?
  • 12:24:06 <BenjaminR> vieann or so?
  • 12:24:12 <Harpagophyt> thx. yes i am
  • 12:24:16 <Harpagophyt> vienna
  • 12:24:30 <BenjaminR> your first steps with fluid in general?
  • 12:24:36 <Harpagophyt> yes
  • 12:24:40 <BenjaminR> good choice :)
  • 12:24:43 <Harpagophyt> i have 2 projects
  • 12:24:51 <Harpagophyt> this is the first non profit one
  • 12:25:05 <BenjaminR> also our extensions are a good choice but heading over to fluid in general is neccessary step
  • 12:25:23 <BenjaminR> good you made it
  • 12:25:25 <Harpagophyt> yes, i bought the opensourcepress book
  • 12:27:08 <Harpagophyt> i hope it was a good choice for the first typo3 extension
  • 12:30:40 <cedricziel> books tend to be very outdated..
  • 12:30:44 <cedricziel> which book exactly?
  • 12:31:23 <Harpagophyt> http://www.opensourcepress.de/de/produkte/TYPO3-Extbase/18824/978-3-95539-070-9
  • 12:31:41 <cedricziel> good choice i hope
  • 12:31:52 <BenjaminR> ah yes the new book from patrick l
  • 12:31:59 <BenjaminR> i a pretty sure this is a good choice
  • 12:32:01 <BenjaminR> ive read about it
  • 12:32:09 <Harpagophyt> good to hear
  • 12:32:10 <cedricziel> the lonely bumpy road leads you through the flow docs which are quite good
  • 12:32:15 <BenjaminR> its also about ts2 i thought
  • 12:32:28 <cedricziel> ts2 is neos only so i highly doubt that
  • 12:32:57 <BenjaminR> i thought he said on twitter he makes an overview about it
  • 12:33:05 <BenjaminR> but maybe thats another part
  • 12:33:11 <BenjaminR> and yes - i know its neos only
  • 12:33:40 <cedricziel> i know you know it :P
  • 13:26:16 <soee> hmm strange 'issue' maybe: if i have my provider extension and subdir like Public/foo/bar/baz/sass and compile here css file that is included using asset VH, and in this css file image id used that is in Public/Images (so it has path set like: ../.../../../foo.gif) than on fronted page need 5 seconds to load as it is waiting for this file (is moved to typo3temp ?)
  • 13:26:44 <soee> but if i put my compiled css fiel into Public/Styles and reference image like ../Images/ than all works fine
  • 13:39:47 <Denyerek> AFAIK, images referenced in CSS are processed and cached soee
  • 13:40:01 <Denyerek> To simplify things, I left my SCSS and CSS in the same folder.
  • 13:40:29 <Denyerek> As I don't really care about having the SCSS kept separately (Others may disagree but I couldn't find an easy way)
  • 13:40:48 <Denyerek> Plus it means the paths in the SCSS and CSS are consistent
  • 13:53:21 <soee> Denyerek: the think mught be depth of this path or something
  • 13:55:42 <Harpagophyt> how can i activate this mysterious LLL
  • 13:57:09 <soee> Harpagophyt: what ?
  • 13:57:35 <Harpagophyt> there is logging to locallang available
  • 14:24:49 <Denyerek> There's an extension that can autogenerate the localisation files, I think
  • 14:24:52 <Denyerek> NamelessCoder wrote one
  • 14:34:38 <Guest|67134> hi guys, is there a way to change the template that is configured in the page settings in the backend via typoscript?
  • 14:35:57 <Guest|67134> i've an user agent switch in typoscript and i want to use a special template in the case of a mobile device independent of the selected template in the backend
  • 14:49:20 <danilobuerger> Guest|33212 please dont use user agent sniffing, its very bad practice
  • 14:50:03 <Guest|33212> I know and I hate it too. But the customer wants it that way :-(.
  • 14:50:43 <danilobuerger> well then you will have to role your own solution as we deprecated everything related to that a few months ago and removed all of it recently
  • 14:51:55 <Guest|33212> I don't want to use the view helper. My question is if it is possible to change the template via typoscript
  • 14:52:24 <Denyerek> Hmm.
  • 14:52:31 <danilobuerger> no
  • 14:52:52 <Denyerek> If you have JS that goes along with a CE, do you include that via a site.js in your extension, or do you add it via an <asset> in your CE code itself ?
  • 14:52:59 <Denyerek> It's nice to keep it self contained I think
  • 14:53:04 <Denyerek> But then all your JS is kinda all over the place
  • 14:54:08 <Guest|33212> ok thx
  • 14:56:04 <Denyerek> danilobuerger, for the contents of <v:asset.script> tags, where is the compression / minification defined?
  • 14:56:13 <Denyerek> Does that honour the sitewide TS defined values?
  • 14:56:14 <cedricziel> nowhere
  • 14:56:18 <cedricziel> no
  • 14:56:26 <Denyerek> Hmm.
  • 14:56:30 <cedricziel> mod_deflate/_gzip is your friend
  • 14:56:38 <Denyerek> Ok.
  • 14:56:56 <Denyerek> I'll turn that all on now :)
  • 14:57:00 <cedricziel> ;)
  • 14:57:19 <danilobuerger> Denyerek dont use asset
  • 14:57:32 <cedricziel> i never understood why a parsed language should compress/minify assets on the fly
  • 14:57:42 <Denyerek> Why do I feel like it's my mission in life to abuse all your viewHelpers.
  • 14:58:06 <cedricziel> we enforce soem conformity, but the rest is up to you ;)
  • 14:58:18 <cedricziel> it's not abusing
  • 14:58:19 <Denyerek> What should I do then danilobuerger ? The JS is specific to that CE, so putting it in site.js would make "copy and pasting" the CE to another site difficult.
  • 14:58:40 <danilobuerger> why dont you have a modular structure for your js?
  • 14:58:54 <Denyerek> Even then, the files will be in several locations.
  • 14:59:12 <cedricziel> pre-build your js
  • 14:59:18 <Denyerek> At least the standalone="false" means that 20 JS files will be served as 1
  • 14:59:25 <cedricziel> single import-bam
  • 14:59:31 <danilobuerger> thats what grunt or gulp is for
  • 14:59:43 <Denyerek> So much overcomplication!
  • 14:59:45 <Denyerek> :P
  • 14:59:50 <cedricziel> hehe..
  • 14:59:55 <cedricziel> depends on your POV
  • 15:00:13 <danilobuerger> never again will i do anything without grunt or gulp
  • 15:00:15 <Denyerek> I mean, that would require anyone using my CE to have a full gulp/grunt/arse/umbrella setup
  • 15:00:16 <cedricziel> once your js is build, you can serve it all over your site and it's in cache
  • 15:00:35 <cedricziel> you could pre-build it
  • 15:00:55 <Denyerek> So it felt, to me, if the CE was a single .html file with the JS inside included via asset, that it was more portable.
  • 15:01:10 <Denyerek> But you both seem to work very differently
  • 15:01:24 <cedricziel> we call that oppinionated ;)
  • 15:01:31 <Denyerek> Haha
  • 15:01:37 <randomresult> Denyerek clap!
  • 15:01:42 * Denyerek squeezes first
  • 15:02:12 <Denyerek> If I was autobuilding all JS files in the project into a single file via some grunt tool
  • 15:02:19 <Denyerek> Where would my js files live?
  • 15:02:33 <cedricziel> look, danilo and i tend to run a tool chain on our assets which unfortunately cant be done in php (or in vhs assets) for now
  • 15:02:35 <Denyerek> All in Resources/Public/Scripts ?
  • 15:02:49 <cedricziel> i tend to have a structure similar to this:
  • 15:03:06 <cedricziel> (all in an extension which follows extbase folder layout)
  • 15:03:06 <Denyerek> I was looking into grunt to auto-build modernizr configs for sites
  • 15:03:22 <cedricziel> Documentation/Mocks/ <-- a static mock lives in there
  • 15:04:00 <cedricziel> Documentation/Mocks/app, Documentation/Mocks/dist (from the yeoman webapp generator)
  • 15:04:41 <cedricziel> then after my mocks are finished, i modify my grunt/gulp task slightly to copy the compiled stuff from dist to Resources/Public/*
  • 15:04:56 <cedricziel> et voila
  • 15:05:03 <Denyerek> Mocks being what, just static HTML, CSS and JS for demo purposes?
  • 15:05:07 <randomresult> someone saw NamelessCoder around these days?
  • 15:05:10 <cedricziel> in the best case, i have 1 compile js and one compiled css
  • 15:05:28 <Denyerek> All my CSS is compiled into one by SASS
  • 15:05:34 <cedricziel> Yes, I mock layouts first in terms of static html
  • 15:05:34 <Denyerek> that I've skirted that problem so far
  • 15:05:53 <cedricziel> why not do the same with js then, the devil on my shoulder asks?
  • 15:05:56 <Denyerek> So do you do ALL your JS and CSS work on the mocks ?
  • 15:06:02 <cedricziel> sure
  • 15:06:03 <Denyerek> Because I don't use SASS for Js ;)
  • 15:06:15 <Denyerek> See, I would like to work like that, but the sites are so dynamic that it seldom works out
  • 15:06:33 <Denyerek> .So I've been working against the live HTML using browser-sync to develop the CSS
  • 15:06:37 <cedricziel> it does. if there's special init for elements, i put that in the FCE
  • 15:06:50 <cedricziel> set the minified as dependency and done
  • 15:06:59 <cedricziel> that way everything works just fine and in order
  • 15:07:04 <Denyerek> What do you use to minify the JS ?
  • 15:07:20 <cedricziel> i use browserify
  • 15:07:57 <Denyerek> That some grunt type thing ?
  • 15:07:59 <cedricziel> but you could use anything else like require or grunt-concat, gulp-concat and run uglifyjs on that
  • 15:08:13 <Denyerek> OK so say you have 10 CE's
  • 15:08:18 <Denyerek> and they all have their own JS
  • 15:08:23 <cedricziel> what kind of js?
  • 15:08:34 <Denyerek> Well in this case, I've a slideshow, and a box that expands when you click it.
  • 15:08:46 <Denyerek> They both have self contained JS that must live in jQuery onload
  • 15:09:22 <Denyerek> The HTML lives in Resources/Private/Templates/Content/
  • 15:09:29 <cedricziel> and it depends on jquery? the js is only a few lines of js neccessary to init this thing, right?
  • 15:09:46 <Denyerek> Yeah like 5 lines to set up an click() callback
  • 15:09:55 <cedricziel> right, so you have two options
  • 15:10:39 <cedricziel> i prefer the "all in one file" approach, put all the crap and handlers in a js file and use class selektors to make it generic
  • 15:10:52 <cedricziel> it can then bind onload without any problem
  • 15:11:27 <cedricziel> the other solution would be to create generic makeClickableFoo() functions in your big junk of js
  • 15:11:40 <cedricziel> then use tiny tiny inline js in your fce to call that on the elements
  • 15:11:55 <cedricziel> the overhead is minimal in both cases
  • 15:12:12 <cedricziel> network says it prefers anything from one domain in one file up to a specific size
  • 15:12:40 <cedricziel> cookies or not doesnt matter on a moderate amount of assets bc of TCP slowstart
  • 15:12:46 <Denyerek> https://gist.github.com/Denyerec/9836a16be612539eecb4
  • 15:12:53 <Denyerek> That's the JS from one of the CEs as an example
  • 15:13:29 <Denyerek> Obviously if it's a 30kb plugin, it belongs in its own file :)
  • 15:14:07 <Denyerek> But, my original question.... CE's are in Resources/Private/Templates/Content/ <-- where would the CE's individual JS files live, to be compiled by grunt / we
  • 15:15:03 <Denyerek> One thing i have thought of
  • 15:15:15 <Denyerek> is that if it's in the CE in an asset and the CE is used more than once, the JS will appear multiple times
  • 15:16:34 <leonderijke> Hi! In my provider extension I add a new variable, to be available in the template. Is it possible to have this variable available in the Preview section of the template?
  • 15:17:07 <leonderijke> I mean: *also* available in the Preview section
  • 15:17:07 <cedricziel> if you give it a unique name, it wont appear multiple times
  • 15:17:14 <Denyerek> AHhhhhhhh ofc
  • 15:17:19 <Denyerek> You guys are *smart*
  • 15:17:21 <Denyerek> :)
  • 15:17:33 <cedricziel> srsly, that's enough for me to put it as function in a big library :)
  • 15:17:45 <Denyerek> So if it's just something shitty like "this.hide" there's no real drawback
  • 15:17:58 <Denyerek> But if it's anything reasonably complex or re-usable, outsource it.
  • 15:18:00 <cedricziel> everytime you need a unique id i'd say
  • 15:18:27 <cedricziel> but all that can evenly be rewritten to a monolithic js file :)
  • 15:18:40 <cedricziel> depends on your choice
  • 15:18:40 <Denyerek> So... still... where are your JS files :D
  • 15:18:47 <Denyerek> (Before they get munged together)
  • 15:18:52 <cedricziel> hehe
  • 15:19:00 <cedricziel> Documentation/Mocks/app/js
  • 15:19:12 <Denyerek> Ok
  • 15:19:22 <Denyerek> So if after the site has been populated and whatnot
  • 15:19:30 <Denyerek> If you do any further development, it's still on the mocks ?
  • 15:19:37 <cedricziel> that way my mock works out just fine and the prod variant gets copied on trigger
  • 15:19:38 <Denyerek> even tho the HTML will have been cut up into CEs and Partials etc?
  • 15:20:00 <cedricziel> those have to be cut, right
  • 15:20:17 <cedricziel> but there are more advanced solutions to that
  • 15:20:29 <Denyerek> So if when doing the cutting you realise you need to tweak the HTML, you have to update the mock in parallel ?
  • 15:20:43 <cedricziel> like mocking with a clean angularjs template and transpiling them
  • 15:21:02 <cedricziel> the other way around- danilobuerger and i dont like to obey to typo3s quirky markup
  • 15:21:14 <cedricziel> i adjust the mock and then the cms stuff
  • 15:21:44 <Denyerek> But the cutting of mock -> fluidtypo3 is always manual ?
  • 15:22:00 <cedricziel> for now-yes. but it's cake
  • 15:22:08 <Denyerek> Yeah, just checking
  • 15:22:23 <Denyerek> So, to summarise, if I understand you right
  • 15:22:33 <Denyerek> You have a Mock site, with all CSS and JS and Image resources in it
  • 15:22:36 <cedricziel> i imagine some more complex workflows for that like with angularjs and then ng-include the relevant stuff to the mocks
  • 15:22:41 <cedricziel> but for now, yes, thats it
  • 15:22:50 <Denyerek> You get that working right, then you have a grunt task that copies compiled static resources to the correct extension folders
  • 15:22:58 <cedricziel> aye
  • 15:23:01 <Denyerek> You then manually cut up the mock HTML into your Partials, Templates etc.
  • 15:23:06 <cedricziel> yes
  • 15:23:11 <Denyerek> Then push that to the repo / whatever
  • 15:23:18 <cedricziel> partially yes
  • 15:23:25 <cedricziel> i dont like compile stuff in repos
  • 15:23:32 <cedricziel> so i .gitignore them
  • 15:23:37 <Denyerek> Ok
  • 15:23:41 <Denyerek> I can kinda understand that
  • 15:23:43 <cedricziel> same for the bower and node_modules stuff
  • 15:23:51 <Denyerek> So the deployment is done...how ?
  • 15:24:09 <cedricziel> rsync, plain cp or zip task in the build-script
  • 15:24:26 <Denyerek> build scriot ?
  • 15:24:28 <Denyerek> *script ?
  • 15:24:35 <Denyerek> oh
  • 15:24:38 <Denyerek> The grunt task
  • 15:24:42 <cedricziel> once again, the overhead is minimal, as i already have a build script (ant, grunt, gulp)
  • 15:24:46 <cedricziel> yes, exactly :)
  • 15:24:55 <Denyerek> I see
  • 15:24:55 <danilobuerger> you should always be able to deploy in exactly one step
  • 15:25:06 <Denyerek> For me atm danilobuerger it's "git pull"
  • 15:25:11 <Denyerek> cos all the compiled resources are in the repo
  • 15:25:16 <danilobuerger> ugh
  • 15:25:21 <danilobuerger> what about the database?
  • 15:25:26 <danilobuerger> that doesnt work with git pull ^^
  • 15:25:26 <cedricziel> in an ideal world, the build script also performs js tests and stuff
  • 15:25:37 <Denyerek> I don't deploy my dev DB to the live site
  • 15:25:41 <Denyerek> the live site is... live :)
  • 15:25:56 <danilobuerger> but it needs a DB on initial deployment
  • 15:26:07 <Denyerek> And hey, if I was starting with the perfect workflow, the client still wouln' thave a website after 6 months :D
  • 15:26:10 <Denyerek> I had to start somewhere!
  • 15:26:35 <danilobuerger> you actually save time by having a good workflow
  • 15:26:49 <cedricziel> i do exports of my dev sites in a defined intervall to have a db initializer
  • 15:26:55 <Denyerek> Yes, but setting up the workflow takes a long time
  • 15:27:05 <Denyerek> And the client wanted their site last month, sooooo....
  • 15:27:21 <cedricziel> that's another case
  • 15:27:21 <Denyerek> At least I'm using Git ;)
  • 15:27:27 <cedricziel> ;)
  • 15:27:32 <Denyerek> But I ask these questions now, to tidy up the workflow for the next one
  • 15:27:39 <cedricziel> good idea!
  • 15:27:48 <cedricziel> it takes time to find your own way
  • 15:27:55 <danilobuerger> use grunt or gulp
  • 15:27:56 <Denyerek> So in your case, you don't have grunt, bower, all that jazz on the live server
  • 15:28:01 <cedricziel> nope
  • 15:28:02 <danilobuerger> no compiled assets in git
  • 15:28:10 <Denyerek> Because you're compiling all the stuff prior to deployment.
  • 15:28:19 <danilobuerger> yes compile then deploy
  • 15:28:25 <cedricziel> the build artifact is being deployed with an approriate build task that is custom to the target env
  • 15:30:00 <Denyerek> So if someone else were to check our your repo, but didn't have node, npm, grunt, bower and all those other things, they're essentially unable to work until they completely rebuild their environment ?
  • 15:30:25 <Denyerek> I suppose they could work against the mock
  • 15:30:27 <Denyerek> Then commit
  • 15:30:33 <Denyerek> and you could merge & build
  • 15:30:50 <Denyerek> But the mock won't have live data (EG for JS/Ajax)
  • 15:31:38 <cedricziel> my mocks would as i use angular which can handle mock services pretty well
  • 15:31:47 <cedricziel> ;)
  • 15:32:05 <Denyerek> Ah
  • 15:32:08 <cedricziel> it's always a balance between overengineering and a good worflow that doesnt annoy you
  • 15:32:14 <danilobuerger> Denyerek not only would they need node .... they would need PHP, mysql, a webserver, etc...
  • 15:32:36 <Denyerek> Most webdevs have a local server - not most use all these tools (yet)
  • 15:32:52 <Denyerek> I know OF angular, but I've never used it.
  • 15:32:54 <danilobuerger> installation of node , etc is so simple
  • 15:32:55 <cedricziel> usually my exts need ruby, node and php/composer to build them. installing those is fairly simple
  • 15:32:59 <Denyerek> Never done anything that's needed it, yed.
  • 15:33:07 <Denyerek> Unless that's another tool I never knew I needed ;)
  • 15:34:05 <cedricziel> after that its usually something like: git clone foo.git &&cd foo && npm install && composer install && grunt build /gulp build
  • 15:34:17 <cedricziel> and all is in place
  • 15:34:30 <cedricziel> oh, bower install
  • 15:34:35 <cedricziel> ;)
  • 15:34:53 <Denyerek> yeah cos the local node and bower modules should all have init scripts in the rep right ?
  • 15:34:56 <Denyerek> .repo
  • 15:35:56 <cedricziel> there are usually some metafiles like.bowerrc,bower.json and package.json (and maybe a gemfile/bundlefile)
  • 15:35:56 <Denyerek> Gulp and Grunt look VERY similar
  • 15:36:02 <Denyerek> Yeah I've been using Bower
  • 15:36:04 <cedricziel> they do
  • 15:36:10 <Denyerek> but for speed on this project, everything in there is in the repo
  • 15:36:12 <Denyerek> I wasn' thappy about this
  • 15:36:17 <Denyerek> but I needed to get the work online
  • 15:36:17 <cedricziel> but are fundamentally different except they are build tools
  • 15:36:25 <Denyerek> is it a case of Grunt OR Gulp ?
  • 15:36:29 <Denyerek> Or do you end up with both ?
  • 15:36:49 <cedricziel> you should decide but you can both in tandem if that makes sense to you
  • 15:37:00 <Denyerek> As I barely know either, that's too hard to judge right now.
  • 15:37:02 <cedricziel> gulp relies on streams, grunt on temporary files
  • 15:37:15 <Denyerek> Which is most commong ?
  • 15:37:19 <danilobuerger> i personally prefer grunt at the moment because that works way faster with compass as there is a bug in the compass gulp thingie
  • 15:37:21 <Denyerek> Grunt I've heard more about.
  • 15:37:26 <cedricziel> gunt, by far.
  • 15:37:46 <Denyerek> In which case, I'll stick with grunt for herd-safety and investigate gulp if necessary
  • 15:37:49 <cedricziel> gulp is "relatively" new, but reasonably faster.
  • 15:38:08 <Denyerek> Build speed is somewhat irrelevant to me on the size of projects I use
  • 15:38:09 <cedricziel> streaming files around iproduces much much less disk io
  • 15:38:17 <Denyerek> Yes I can imagine that.
  • 15:38:23 <Denyerek> Especially in a massive project
  • 15:38:38 <Denyerek> Right now my bower modules are in /Resources/Public/Vendor/...
  • 15:38:40 <cedricziel> oh, it will bother you... either way
  • 15:38:47 <Denyerek> I presume all yours will go into /Mocks/
  • 15:38:53 <Denyerek> and the grunt buildfile smushes everything into place
  • 15:39:14 <cedricziel> in a moderately big project i had a build time of 120secs on a cold start
  • 15:39:29 <cedricziel> taken into account there were some images which had to be optimized
  • 15:41:58 <Denyerek> Ah, yes if you use pnggauntlet or such
  • 15:42:19 <Denyerek> If you use something like that, does it re-compress all image assets every build ?
  • 15:42:27 <cedricziel> gifsicle, pngquant and all those tools can nicely reside in the grunt tasks
  • 15:42:36 <Denyerek> Aye
  • 15:42:36 <cedricziel> on every full build, not in watch mode
  • 15:42:46 <Denyerek> I see, so in watch mode, changes get rebuilt
  • 15:42:59 <cedricziel> right, mostly css and js-absolutely
  • 15:43:00 <Denyerek> Ah that's interesting.
  • 15:43:11 <Denyerek> As via Browsersync, I can be watching the compiled resource folders
  • 15:43:17 <Denyerek> Edit in mocks, and see the output live.
  • 15:43:43 <Denyerek> Although, I suppose that wouldn't mean much, as I'd be working off the mock site.
  • 15:43:46 <cedricziel> yep, thats a real advantage
  • 15:44:12 <cedricziel> getting mocks right is crucial, then integration is cake with ft3
  • 15:44:16 <Denyerek> Currently I have a live site that's pointed at the SCSS output
  • 15:44:32 <Denyerek> & browsersync allows me to style it in realtime
  • 15:45:05 <Denyerek> One issue I've had in working on mockup files is that the inclusion order / compression of assets etc isn't the same as when it's finally all in your fluid templates
  • 15:45:14 <Denyerek> I suppose, though, that care should be taken to ensure that it IS.
  • 15:45:26 <Denyerek> Wait
  • 15:45:36 <Denyerek> Does your mock include the singlular compiled resources?
  • 15:45:57 <Denyerek> It must I guess
  • 15:46:01 <Denyerek> Be crazy otherwise
  • 15:47:13 <Denyerek> So when you're developing, you're on localhost/typo3conf/myExt/Documentation/Mocks/Template/FrontPage.html ?
  • 15:47:38 <cedricziel> hmm, no. it actually doesnt reference compressed stuff
  • 15:47:55 <Denyerek> It must for SCSS type CSS
  • 15:47:58 <cedricziel> compression is no problem for devs since some smarty invented sourcemaps
  • 15:47:59 <cedricziel> nope
  • 15:48:01 <cedricziel> :)
  • 15:48:21 <Denyerek> Well you can't just include .scss ;)
  • 15:48:22 <cedricziel> there's an ad-hoc webserver being instantiated by grunt/gulp to overlay it all
  • 15:48:34 <Denyerek> Jesus how long did this take to wire up to begin with?!
  • 15:48:37 <cedricziel> so it's not really the final compiled result but an intermediate format
  • 15:48:41 <cedricziel> ehm
  • 15:48:58 <cedricziel> npm install -g yo generator-webapp && yo
  • 15:49:00 <Denyerek> I'm guessing, from scratch, the answer is not "Friday afternoon"
  • 15:49:12 <Denyerek> yo ?
  • 15:49:27 <Denyerek> Yeoman
  • 15:49:28 <cedricziel> 5 seconds typing 2 minutes watching dependencies being pulled from the intwerwebs then start
  • 15:49:30 <Denyerek> ok
  • 15:49:32 <cedricziel> yeah
  • 15:49:38 <Denyerek> Yeah, the DOING takes seconds
  • 15:49:45 <Denyerek> the "figuring out what the hell to do" takes a lot longer.
  • 15:49:46 <cedricziel> understanding is harder
  • 15:49:52 <cedricziel> i see and know that
  • 15:49:55 <Denyerek> Aye
  • 15:50:25 <cedricziel> but ask pedda, he recently switched over to such workflow and spends much less on overhead
  • 15:50:28 <Denyerek> My first step would be to get all my SCSS, JS, Font, Image resources out of /Resources/
  • 15:51:13 <cedricziel> dont think about that now if you have a deadline :)
  • 15:51:26 <Denyerek> Hahaha yeah
  • 15:51:38 <cedricziel> do it one time soon when you're tired and want some nerdporn on the cli
  • 15:51:39 <Denyerek> When this project is done, I will look at the Yeoman tutorials
  • 15:51:51 <Denyerek> As I assume their guidelines are similar to what you're doing
  • 15:52:07 <cedricziel> execute the commands above sitting with your laptop on the couch and inspect the scaffolded project
  • 15:52:34 <Denyerek> I'll have to buy a laptop first
  • 15:52:36 <Denyerek> :)
  • 15:52:42 <cedricziel> you get what i mean ^^
  • 15:52:46 <Denyerek> Aye ;)
  • 15:52:58 <Denyerek> I don't earn enough to afford a laptop. That's a more pressing 1st priority I suppose!
  • 15:53:26 <cedricziel> my Documentation/Mocks folder is a 99% adoption of generator-webapp from yeoman
  • 15:53:40 <Denyerek> ok
  • 15:53:45 <Denyerek> That sounds like something I shall investigate
  • 15:53:51 <Denyerek> So the Documentation is part of the extension
  • 15:54:04 <Denyerek> But the compiled resources are excluded from the repo
  • 15:54:07 <Denyerek> Ok
  • 15:54:15 <Denyerek> I'm starting to piece this together in my head :)
  • 15:54:20 <Denyerek> Thanks so much cedricziel, danilobuerger.
  • 15:54:26 <Denyerek> Next project will be much tidier :D
  • 15:54:39 <cedricziel> see, i think visual results+accompanying code is the best documentation to any coder out there
  • 15:54:41 <randomresult> and i will reread all this trying to understand
  • 15:54:45 <Denyerek> http://alba-dev.sozu.co.uk is nearing testing phase now.
  • 15:54:49 <cedricziel> + you can show off them mocks to your customer
  • 15:55:21 <Denyerek> Yes, I used to work from html templates in TV land
  • 15:55:38 <Denyerek> But things were a bit different as this is my first fluidtypo3 deployment
  • 15:55:55 <Denyerek> Which, BTW, I am an absolute convert to. TV is now just a memory.
  • 15:55:56 <cedricziel> with a sophisticated build workflow you can adopt the first 70% from that.
  • 15:56:18 <Denyerek> The initial lump in the learning curve hurt my ass, but now I'm moving OK :)
  • 15:56:44 <cedricziel> i found out that for ME, starting directly with the integration of templates didnt work out very well. refactoring in cms's is painful
  • 15:56:54 <cedricziel> (dont speak of debugging)
  • 15:57:00 <cedricziel> btw, i like the alba sample!
  • 15:57:15 <Denyerek> Thanks
  • 15:58:11 <cedricziel> oh, and not that much related to you i guess, but such workflow scales quite nice with more devs involved
  • 15:59:04 <cedricziel> imagine one FE guy and one BE guy, they can work together quite nice without sendingzips over and over and diffing the shit out of a dropbox folder
  • 16:01:04 <Denyerek> Well, you're just working on the mock in the repo right
  • 16:02:10 <Denyerek> Coming back ALL the way to the start, though.
  • 16:02:26 <Denyerek> You will have what, one JS per component
  • 16:02:32 <Denyerek> Something in Grunt then smashes them all together
  • 16:03:00 <Denyerek> So that's why you won't have JS in an <asset> because then it doesn't work in your mock setup
  • 16:03:27 <Denyerek> So if you DID want to re-use a CE in a different project (Say you'd written a complex content element you wanted to use elsewhere)
  • 16:03:42 <Denyerek> I suppose you could have n extension that contained all your reusable CEs
  • 16:03:49 <Denyerek> and just install that anyway :D
  • 16:03:53 <Denyerek> So that's a bit redundant!
  • 16:04:02 <floxx> i'm building custom navigation with additional contents of page properties set via ft3 - how can i access xml values of tx_fed_page_flexform
  • 16:04:03 <floxx> ?
  • 16:04:04 <Denyerek> I think I just solved the problem there.
  • 16:04:07 <floxx> is there a viewhelper?
  • 16:04:15 <Denyerek> Reusable CE's should be in their own extension.
  • 16:04:23 <Denyerek> Which can then be set up in the exact same way.
  • 16:04:59 <cedricziel> floxx: there's a record.data or similar thing, maybe danilobuerger can help. i'm out for now
  • 16:05:06 <cedricziel> Have a good time folks
  • 16:05:18 <Denyerek> But if you don't include compiled resources in the extension, you can't install that extension via TER, for example.
  • 16:05:21 <Denyerek> hmm.
  • 16:05:44 <danilobuerger> floxx flux:form.data
  • 16:06:04 <cedricziel> in such cases you would deploy to ter via zip artifact or from a t3 instance Denyerek. Mision accomplished
  • 16:07:54 <Denyerek> I see, yes. So you'd supply the compiled resources in the extension zi
  • 16:07:56 <Denyerek> zip
  • 16:07:59 <Denyerek> but NOT keep them in the repo
  • 16:08:07 <Denyerek> and anyone closing the ext via repo would have to have grunt, etc.
  • 16:08:13 <Denyerek> *cloning
  • 16:08:13 <Denyerek> OK
  • 16:08:20 <Denyerek> That's enough for me for now, I need to finish building the site
  • 16:08:22 <Denyerek> :)
  • 16:09:15 <cedricziel> :p i hope this answer was clear enough for you ;)
  • 16:09:34 <Denyerek> Haha
  • 16:09:37 <Denyerek> Well... yes and no ;)
  • 16:09:47 <Denyerek> Your answer was clear, how I use it, not so much :D
  • 16:15:17 <floxx> danilobuerger: thanks…but it doesn't work. whats wrong here: <flux:form.data table="pages" field="tx_fed_page_flexform" uid="{subPages.uid}" as="xmlArr">
  • 16:16:04 <danilobuerger> no idea what you are doing wrong, the view helper definitely works
  • 16:18:15 <floxx> danilobuerger: sorry - my fault. dumbest thing ever. namespace was missing ;)
  • 16:18:22 <floxx> sorry
  • 16:18:34 <danilobuerger> np
  • 16:21:31 <Denyerek> danilobuerger, how do I insert <script> into the page, rather than as an external JS
  • 16:21:55 <Denyerek> I've just realised that the concatenated JS file will be different page-to-page based on whether or not the CE's are used
  • 16:22:10 <Denyerek> so any CE initialisation would be better as inline <script> to avoid another http req.
  • 16:27:38 <Guest|2703> Hello folks... anyone alive right now?
  • 16:47:23 <soee> a lot of us
  • 16:51:55 <Guest|2703> i got a question regarding flux v7: i've created a flux field "text" and enabled the richtext editor as stated in the docs with defaultExtras. The thing is, when i create links with the RTE they do not get converted into realurl like format but are build with id=x
  • 16:52:17 <Guest|2703> the links are internal ones to other pages
  • 16:52:21 <Denyerek> Hnnnnnnnngh
  • 16:52:26 <Denyerek> I remember something to do with this
  • 16:52:53 <Denyerek> yes
  • 16:53:14 <Denyerek> set defaultExtras="rtetransform[mode=tscss]"
  • 16:53:36 <Guest|2703> i have: defaultExtras="richtext[*]:rtetransform[mode=tscss]"
  • 16:53:45 <Denyerek> In which case, you DON'T want the tscss
  • 16:53:54 <Denyerek> I can't remember which way around it should be
  • 16:53:59 <Denyerek> but it's definitely related to the supplied transofmr
  • 16:54:23 <Guest|2703> okay... this helps where i have to look at
  • 16:55:20 <Guest|2703> thanks for that :)
  • 17:01:22 <xaver> Can i do something like this <f:if condition="{v:page.content.render( column: 1)} != ''">
  • 17:01:47 <xaver> maybe add a 404 page for google http://fluidtypo3.org/blog/new-stuff-controllers.html NamelessCoder
  • 17:02:16 <Denyerek> xaver, you ever got mod_deflate working ?
  • 17:02:56 <Denyerek> ySlow and Pagespeed are complaining my JS and CSS aren't compressed
  • 17:02:57 <xaver> s/ever/always/ :)
  • 17:03:04 <Denyerek> but i uncommendted the section in .htaccess
  • 17:03:12 <xaver> i never use that stuff
  • 17:03:15 <Denyerek> I set config.compressCSS and compressJS in my TS
  • 17:03:25 <xaver> thats to compress -> minify
  • 17:03:27 <Denyerek> And still it complains
  • 17:03:36 <xaver> deflat is like gzip from apache
  • 17:03:36 <Denyerek> Ok
  • 17:03:38 <Denyerek> yeah
  • 17:03:40 <Denyerek> Deflate's what I want
  • 17:03:49 <Denyerek> So I uncommented the section in the .htaccess for mod_deflate
  • 17:03:57 <Denyerek> http://alba-dev.sozu.co.uk
  • 17:04:05 <Denyerek> and it's complaining the resources aren't gzipped :/
  • 17:04:10 <xaver> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
  • 17:04:24 <xaver> and apache deflate must be available
  • 17:04:35 <Denyerek> I have ths:
  • 17:04:48 <Denyerek> luidtypo3.org/blog/new-stuff-controllers.html NamelessCoder
  • 17:04:55 <Denyerek> https://gist.github.com/Denyerec/ee8e5387caaaba7b6a8e
  • 17:05:04 <Denyerek> deflate's available.
  • 17:05:44 <xaver> forget that stuff and add the line above :)
  • 17:06:11 <Denyerek> Brilliant :D
  • 17:06:17 <xaver> i think you can somehow enable gzip via php in TYPO3
  • 17:06:18 <Denyerek> Should I leave the other stuff in ?
  • 17:06:24 <Denyerek> Ahh that might be it yes
  • 17:06:36 <Denyerek> But it might not process flies included by fluid <v:asset> helpers
  • 17:06:42 <Denyerek> so better to let apache deal with it
  • 17:07:24 <xaver> i would drop it - php is slower and Filesmatch triggers only a not used filename
  • 17:08:20 <Denyerek> Yeah I have done so.
  • 17:08:21 <Denyerek> Thatnks
  • 17:08:22 <Denyerek> Thanks
  • 17:08:27 <Denyerek> that should be a standard thing IMO!
  • 17:08:36 <Denyerek> But i suppose they want to keep the .htaccess fairly neutral
  • 17:10:52 <xaver> Denyerek: do you know if i can set a conidtion if the column in flux has a element in it
  • 17:12:15 <Denyerek> Only thing I could think, would be to pull the content in that column and count it :/
  • 17:48:28 <xaver> cedricziel: i'm a idiot :(
  • 17:55:57 <bjo3rn> don't say that ;)
  • 18:01:34 * soee hugs xaver :D
  • 18:02:51 <xaver> bjo3rn: booked the camp ticket but not a room (had a lot todo) and now everything is full
  • 18:03:15 <bjo3rn> I can bring a tent ;)
  • 18:04:00 <bjo3rn> seriously: all places are sold out?
  • 18:04:10 <Denyerek> Time to get cozy boys :)
  • 18:05:03 <xaver> i can get a appartment
  • 18:05:22 <xaver> from 2 o'clock to 8:30 2 times -_- overkill
  • 18:05:28 <bjo3rn> bjo3rn puts on some barry white ;)
  • 18:05:30 <xaver> i tried everthing in the region
  • 18:07:17 <bjo3rn> hm, hrs.com says something else.
  • 18:08:32 <bjo3rn> plenty of places. from 37,- to 152,- ^^
  • 18:09:02 <bjo3rn> come on xaver, go for it! you can do it!
  • 18:09:53 <xaver> where?
  • 18:09:56 <xaver> in stuttgart?
  • 18:09:58 <bjo3rn> yep
  • 18:10:01 <xaver> hohenheim is outside+
  • 18:10:50 <bjo3rn> zuffenhausen?
  • 18:10:57 <bjo3rn> hm, porsche ^^
  • 18:11:06 <xaver> and at 1 o'clock in night is the subway not so active
  • 18:11:15 <xaver> last year it was late :P
  • 18:11:56 <bjo3rn> the cheapest is in zuffenhausen and claims to be 6.3km from the centre
  • 18:12:29 <bjo3rn> free welcome drink! ^^
  • 18:12:44 <xaver> i don't drink
  • 18:12:56 <bjo3rn> ...little
  • 18:13:05 <xaver> never
  • 18:13:07 <bjo3rn> ^^
  • 18:13:09 <bjo3rn> ever?
  • 18:13:23 <xaver> yes
  • 18:13:49 <xaver> and t3camp has jochen and patrick always make very strong cocktails
  • 18:13:54 <bjo3rn> anyway, 37,-, mhotel
  • 18:14:11 <xaver> i want to go
  • 18:15:14 <xaver> bye i go home :) we can write later again
  • 18:16:28 <bjo3rn> cya
  • 18:24:36 <xaver> to late for the bus :)