#silverstripe IRC Log

IRC log for 7 October 2014

All timestamps are in UTC.

1: [00:06:47] * Tanger has joined #silverstripe
2: [00:06:49] <adrexia> maybe good au is just nicer
3: [00:06:55] <adrexia> **google au
4: [00:07:28] <ss23> heh
5: [00:07:31] <ss23> WE can hope not
6: [00:07:50] <adrexia> ok, sick of drupal now
7: [00:07:53] <adrexia> its being weird
8: [00:08:49] <adrexia> I think I really hate php templates
9: [00:08:59] <adrexia> you'd probably love it ss23
10: [00:09:00] <adrexia> ;)
11: [00:10:04] <UncleCheese> yeah that's why i think twig is so overrated
12: [00:10:29] <ss23> PHP templates are the nicest
13: [00:10:32] <ss23> Well, XHP
14: [00:10:33] <ss23> But still
15: [00:12:22] <Colin[pi]> the more raw php out of templates the better
16: [00:12:24] <adrexia> twig is bound to be better than what I am seeing drupal doing
17: [00:12:24] <Colin[pi]> imho
18: [00:13:06] <simon_w|work> PHP templates are horrible
19: [00:13:13] <adrexia> agreew
20: [00:13:52] <adrexia> I like things ordered and seperate.
21: [00:13:55] <Ryan-Toast> I need to stop forgetting not to organise things when it’s supposed to be date night :P
22: [00:13:58] <adrexia> this is chaos
23: [00:14:00] <Colin[pi]> i mean, if you're disciplined, php templates can be fine
24: [00:14:04] <ss23> <3 PHP templates :D
25: [00:14:11] <ss23> Then again, I run Gentoo
26: [00:14:16] <Colin[pi]> but it's too tempting to go "Ima just put this code here, no harm done"
27: [00:14:32] <adrexia> also, its ugly to read
28: [00:14:39] <Colin[pi]> mm
29: [00:14:55] <adrexia> who wants to read <?php $variable ?> everywhwere?
30: [00:15:17] <ss23> Come on, we write PHP. Have you seen what namespaces look like?
31: [00:15:22] <adrexia> or wworse, straight php with string contreustion
32: [00:15:25] <ss23> We gave up all rights to asthetically pleasing code a long time ago
33: [00:15:34] <stojg> <?=$var;?>
34: [00:15:34] <adrexia> ss23 you m,ay have. i did not
35: [00:15:44] <adrexia> and name spaces are ugly so I don't use them :P
36: [00:16:34] <Colin[pi]> stojg: that doesnt work with short tags disabled, does it?
37: [00:16:41] <stojg> nope
38: [00:16:52] <Colin[pi]> and short tags is generally considered a no-no
39: [00:17:28] <ss23> In new PHP versions it works regardless of short_tags
40: [00:17:34] <Colin[pi]> o rly?
41: [00:18:27] <ss23> heh
42: [00:18:29] <ss23> Speaking of this
43: [00:18:40] <ss23> I have seen lots of scripts protect against uploading PHP by checking for "<?"
44: [00:18:48] <ss23> inb4 I upload one with <script> instead o/
45: [00:19:48] <ss23> Colin[pi]: http://php.net/manual/en/language.basic-syntax.phpmode.php
46: [00:19:53] <ss23> Starting with PHP 5.4, short echo tag <?= is always recognized and valid, regardless of the short_open_tag setting.
47: [00:20:11] <Colin[pi]> took them long enough
48: [00:22:44] <adrexia> ss23 do you secretly want to spend your days adding classes to templates?
49: [00:23:04] <adrexia> it seems that that is what happens when you make templates php :D
50: [00:23:37] <ss23> I don't know what you mean? :S
51: [00:26:09] * zippy has joined #silverstripe
52: [00:26:49] <zippy> what'd I miss
53: [00:27:16] <Kingy> zippy: php templating
54: [00:27:32] <zippy> is simon_w|work still going on about smarty?
55: [00:27:39] <Colin[pi]> zippy: http://i.imgur.com/ULEegzZ.gif
56: [00:27:56] <zippy> heh
57: [00:28:53] * _muskie9_ is now known as muskie9
58: [00:29:44] <simon_w|work> stojg, that looks like a great XSS hole :p
59: [00:29:59] * headtrip has joined #silverstripe
60: [00:31:08] <Colin[pi]> btw did antmas go travelling?
61: [00:31:33] <Colin[pi]> ah looks like he's sick
62: [00:32:02] <zippy> I thought traits would just work with silverstripe, do they really need a loader?
63: [00:32:40] <simon_w|work> zippy, yes
64: [00:32:48] <zippy> to which :)
65: [00:32:52] <simon_w|work> Well, if you want to be able to autoload them
66: [00:33:22] <zippy> i c
67: [00:34:50] * headtrip quit (Ping timeout: 272 seconds)
68: [00:36:24] <zippy> I got quite a few pages I only want single instances off. But setting canCreate() if instances > 0 return false; will mean those pages can't be ordered
69: [00:36:41] * zippy might have to rangi up a solution
70: [00:37:18] <ss23> zippy: Are they best suited to pages? I found I was using that mechanism to try and do things like footer content, when a new tab was more appropriate
71: [00:37:22] <ss23> s/tab/section thing/
72: [00:37:54] <zippy> yeap, things like a FooPageHolder
73: [00:38:17] <zippy> page type itis
74: [00:38:39] <ss23> What if you want more than one FooPageHolder though?
75: [00:38:46] <zippy> they dont
76: [00:38:52] <zippy> and never will
77: [00:38:58] <zippy> as the site wouldn't make sense too
78: [00:39:09] <ss23> Doesn't sound like it makes sense as a pagetype then IMMO!
79: [00:39:11] <ss23> IMO
80: [00:39:26] <zippy> what else could it be then, if it needs certain fields on it
81: [00:40:02] <zippy> put them into a master "SuperPageHolder" and then show and hide fields based on what TYPE of pages it would contain?
82: [00:40:14] * UncleCheese quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
83: [00:41:21] <Stomach> so some argentinian company has stolen our CSS and HTML for a website
84: [00:41:22] <Stomach> lol
85: [00:41:30] <Colin[pi]> haha Stomach
86: [00:41:31] <Stomach> http://www.voala.com.ar/ vs http://www.aucklanddj.co.nz/
87: [00:42:29] <simon_w|work> Oops, 17 weeks behind on the blockchain
88: [00:42:44] <Colin[pi]> Stomach: well.. I mean... it's a big web.. could be a coincidence, right? Right..?
89: [00:42:45] <Colin[pi]> ;)
90: [00:43:25] <Colin[pi]> jesus even the quote page is the same
91: [00:43:29] <Stomach> yeah
92: [00:44:13] <spronk> lul
93: [00:44:40] <zippy> Stomach: that site loads nice and fast...
94: [00:44:59] <Stomach> which one? :D
95: [00:45:07] <zippy> The aucklanddj one
96: [00:45:10] <zippy> Guess it helps with that low latency aye adrexia
97: [00:45:19] <zippy> I mean irogue_
98: [00:45:20] <zippy> :P
99: [00:45:40] <simon_w|work> After sending us a Cease & Desist, a competitor then copied our entire marketing layout
100: [00:45:48] <ss23> Stomach: In their defence, that's a really nice site
101: [00:45:51] <simon_w|work> Too bad they didn't figure out how to copy making a working product
102: [00:46:16] <zippy> Stomach: themes/base/production/css/style.vCe7SRvJ7Ui7ifQN4T0JSg.css
103: [00:46:26] <zippy> Stomach: do you keep all old copies as well, so they don't 404?
104: [00:46:34] <zippy> Stomach: and you use something like grunt/gulp to bundle those
105: [00:46:54] <Stomach> nah that hash is autogenerated and then interpreted through .htaccess
106: [00:46:57] <Stomach> its just a cache bust
107: [00:47:06] <Stomach> https://github.com/heyday/silverstripe-hashpath
108: [00:47:24] <Stomach> so locally its just style.css
109: [00:47:32] <Stomach> but that is generated by grunt
110: [00:48:43] <zippy> gotcha
111: [00:50:19] <Stomach> just means that when we update css/js we don't have to worry about browsers loading cached versions
112: [00:50:21] <Stomach> damn browsers
113: [00:51:05] <zippy> yeap, i generally do ?timestamp
114: [00:51:09] <zippy> or use requires with ss
115: [00:54:02] * Bollig|DesignCty has joined #silverstripe
116: [00:54:19] <Stomach> we don't use any requirements from SS except in the CMS
117: [00:59:42] <zippy> Stomach: you guys got quite a few things on github
118: [01:00:33] <Stomach> thats not me
119: [01:00:34] <Stomach> :P
120: [01:00:41] <Stomach> thats the company I used to work for
121: [01:00:44] <zippy> ahh
122: [01:00:45] <Stomach> Unclecheese did too
123: [01:00:47] <Ryan-Toast> Stomach: dat website
124: [01:00:54] <zippy> so http://heyday.co.nz/assets/Uploads/Slices/General/_resampled/sameimage-HYD-Homepage.3rdSlice.jpg thats not you then
125: [01:00:55] <adrexia> where do you work now?
126: [01:01:17] <Stomach> adrexia - a company called Little Giant in Auckland
127: [01:01:22] <Stomach> zippy - nope, thats not me
128: [01:01:33] <zippy> http://heyday.co.nz/assets/Uploads/Slices/Featured/_resampled/sameimage-HYD-AboutUsBanner.jpg - Packed in much - is that the actual office space?
129: [01:01:43] <adrexia> oh, isn't that where jeremy went?
130: [01:01:50] <Stomach> adrexia - yeah hes behind me
131: [01:01:59] * adrexia waves
132: [01:02:00] <Stomach> zippy - yeah thats the space, I'm the one on the left
133: [01:02:15] <zippy> Stomach: with the rocking beard?
134: [01:02:19] <Stomach> yep
135: [01:02:24] <zippy> thats a mean beard
136: [01:02:30] <Stomach> thanks :)
137: [01:02:31] <ss23> unclecheese was working at heyday too, right?
138: [01:02:37] <Stomach> ss23, yeah he was
139: [01:02:40] <ss23> Heydey, producer of developers who go elsewhere
140: [01:02:53] <zippy> which is UC?
141: [01:02:56] <adrexia> that's like everywhere
142: [01:02:59] <Stomach> zippy - hes not in that photo
143: [01:03:00] <Colin[pi]> ^
144: [01:03:01] <ss23> adrexia: I know
145: [01:03:05] <Ryan-Toast> Stomach: did they get sent a cease and desist?
146: [01:03:09] <ss23> :D
147: [01:03:13] <Stomach> ss23 - SilverStripe, producer of future DNA developers
148: [01:03:17] <Colin[pi]> lel
149: [01:03:17] <ss23> haha
150: [01:03:18] <ss23> :(
151: [01:03:23] <adrexia> lol
152: [01:03:26] <ss23> "CEASE AND DESIST IMMEDIATELY" "No" "OKay :("
153: [01:03:35] <Stomach> Ryan-Toast - yeah we sent them an email
154: [01:03:39] <Stomach> what're we gonna do though
155: [01:03:48] <Ryan-Toast> Stomach: Name and shame I guess.
156: [01:03:54] <Stomach> complain to the argentinian government? :D
157: [01:04:26] <Ryan-Toast> Stomach: They have afacebook, and twitrter.
158: [01:04:32] <spronk> hack their site
159: [01:04:35] <spronk> deface it
160: [01:04:36] <spronk> win
161: [01:04:44] <Stomach> lol
162: [01:05:16] <Ryan-Toast> Always keep that little self destruct ajax function in your js, muhahahaha
163: [01:05:41] <Stomach> what a terrible idea :P
164: [01:05:54] <Stomach> some little kid enters the contra code
165: [01:05:55] <Ryan-Toast> I’m honestly impressed that they copied pretty much everything.
166: [01:05:56] <Stomach> goodbye webserver
167: [01:06:16] <Stomach> actually little kids probably don't even know what the contra code is anymore
168: [01:06:22] <Stomach> Ryan-Toast - yeah thats my reaction too
169: [01:06:30] <Stomach> like, that would have taken some effort
170: [01:06:33] <Ryan-Toast> Stomach: It’s what happens when you go on awwwards though.
171: [01:06:36] <Ryan-Toast> You get copied.
172: [01:06:48] <Stomach> yeah, shame its so good for SEO :\
173: [01:06:54] <ss23> is it like the komani code?
174: [01:07:11] <Stomach> ss23 - same thing
175: [01:07:16] <ss23> Oh
176: [01:07:28] * codetoday quit (Remote host closed the connection)
177: [01:08:18] <nicolaas> simon_w|work: I am completely lost, perhaps you can help me?
178: [01:09:07] <nicolaas> I am not talking about GPS help.... It is this ajax thing.
179: [01:09:24] * codetoda_ has joined #silverstripe
180: [01:09:38] <nicolaas> if I add ?ajax=1 to my url then something really weird happens
181: [01:09:59] <nicolaas> I am now looking at all the instances of is_ajax and isAjax in the project
182: [01:10:00] <zippy> ss23: hmmmmmm?
183: [01:10:11] <nicolaas> to see if that makes any difference.
184: [01:10:53] * muskie9 quit (Ping timeout: 240 seconds)
185: [01:10:57] <zippy> ss23: http://logs.simon.geek.nz/index.php?date=2014-10-07#log_1432657 + next line
186: [01:11:37] * Kingy is now known as Kingy[a]
187: [01:11:58] <ss23> zippy: I DUNNO :O
188: [01:11:59] <ss23> Sorry
189: [01:12:56] <zippy> .... :(
190: [01:13:06] <ss23> :(
191: [01:13:10] <zippy> only reason I come into this channel is for your insights!
192: [01:13:13] <ss23> haha
193: [01:13:15] <ss23> Liar liar
194: [01:13:17] <zippy> failed me today ss23 :(
195: [01:13:34] <ss23> I'm going out for dinner tonight with a friend, but it's 2pm and I haven't eaten yet
196: [01:13:40] <ss23> at this rate, I won't be hungry by the time dinner rolls around!
197: [01:13:46] <ss23> I should get it now...
198: [01:13:51] <ss23> What to get, what to get
199: [01:13:56] <ss23> I'm thinking BurgerKing
200: [01:14:05] <spronk> bk coupons bro
201: [01:14:15] <spronk> oh wow
202: [01:14:17] <spronk> bk have a new website
203: [01:14:23] <spronk> www.burgerking.co.nz
204: [01:14:30] <ss23> PAGEN OT FOUND
205: [01:14:31] <ss23> :(
206: [01:14:37] <spronk> http://www.burgerking.co.nz/pdfs/Coupon_Oct2014.pdf
207: [01:14:40] <spronk> fucks ssakes ss23
208: [01:14:42] <ss23> 404 page took ~5 seconds to load, and is broken
209: [01:14:46] <spronk> do i have to do everything for you?
210: [01:14:56] <ss23> ty dis one works
211: [01:14:58] <ss23> the one I found didn't work
212: [01:15:00] <ss23> IT DIDN'T WORK
213: [01:15:03] <spronk> that's because
214: [01:15:04] <spronk> they have a new website
215: [01:15:10] <spronk> sometime in the last week or so
216: [01:15:22] <ss23> I blame spronk
217: [01:15:38] <spronk> hmm
218: [01:15:41] <spronk> new website is a bit meh
219: [01:16:08] <spronk> hawaiian bk chicken ftw
220: [01:16:13] <spronk> that shit is fucking delicious.
221: [01:16:20] <Blacklite> yes
222: [01:16:26] <ss23> meh
223: [01:16:33] <Stomach> they dont cut in half anymore
224: [01:16:34] <Stomach> slackers
225: [01:16:38] <Blacklite> dude
226: [01:16:42] <ss23> the Chicken Big Feed > Hawaiian Chicken
227: [01:16:48] <Blacklite> cutting burgers in half.. i don't know where they got that idea but it is annoying
228: [01:16:58] <Blacklite> whole thing just falls apart
229: [01:17:03] <ss23> Blacklite: It's not hte burge rthough
230: [01:17:06] <ss23> It's the.... thing.
231: [01:17:29] <ss23> Oh
232: [01:17:32] <ss23> I think I'll get the D
233: [01:17:41] <ss23> Double Whopper with Cheese, Regular Fries, $7.50
234: [01:17:42] <spronk> chicken big feed
235: [01:17:52] <spronk> hmm
236: [01:17:57] <spronk> but bacon and pineapple man
237: [01:18:17] <ss23> the chiciken big feed could be okay, but I cbf carrying back the sundae
238: [01:18:24] <ss23> And I don't need the dirnk since we have free drinnks here
239: [01:18:26] <ss23> IT does look nice though
240: [01:18:28] <spronk> just gift it to someone
241: [01:18:37] <ss23> lol
242: [01:18:42] <ss23> "here... I was at BK and I thought of you"
243: [01:18:55] <ss23> I'll get D today, U another day
244: [01:20:01] <spronk> lawl
245: [01:20:21] <spronk> try that charm on to the staff, ss23
246: [01:20:27] * muskie9 has joined #silverstripe
247: [01:20:29] <spronk> record video evidence
248: [01:20:38] <ss23> hahaha
249: [01:20:42] <ss23> inb4 tresspassed
250: [01:21:22] <zippy> class="input-submit user-submit user-submit1"
251: [01:21:22] <zippy> nice
252: [01:24:09] * Kingy[a] is now known as Kingy
253: [01:25:04] <Ryan-Toast> zippy: niiiice
254: [01:25:22] <Ryan-Toast> zippy: reminds me of jquery-ui
255: [01:30:44] * headtrip has joined #silverstripe
256: [01:34:55] <Stomach> adrexia - Jeremy says "Hi Naomi :)"
257: [01:35:04] * headtrip quit (Ping timeout: 260 seconds)
258: [01:35:12] <adrexia> Hi Jeremy!
259: [01:37:54] * Sticks has joined #silverstripe
260: [01:42:29] <Sticks> Hi guys, I'm adding some javascript to the login page of SS3 with some Requirments in a Security extension. I have a feeling this JS is being loaded and causing issues when the CMS pings Security every few minutes. Is there a simple way to add JS to the login page but not have it load in other Security checks?
261: [01:43:56] * Kingy is now known as Kingy[a]
262: [01:44:54] * Kingy[a] is now known as Kingy
263: [01:46:42] * codetoda_ quit (Remote host closed the connection)
264: [01:48:09] * Ryan-Toast quit (Quit: Ryan-Toast)
265: [01:49:49] <simon_w|work> Sticks, hook into onBeforeSecurityLogin
266: [01:53:32] <Sticks> Will do, simon_w|work. Cheers. Currently using onAfterInit() which might've been a poor choice.
267: [02:02:41] * Jakx has joined #silverstripe
268: [02:03:36] <Jakx> yo
269: [02:04:41] <Jakx> what's the most effective way to query the number of database rows, in SS 2.4?
270: [02:04:56] <Jakx> I'm running out of memory, trying to DataObject::get() the whole set.
271: [02:06:55] <zippy> will DataObject::get()->Count() fetch them all ? otherwise just do a plain query
272: [02:07:33] <Jakx> zippy, ->Count() dies, sadly. Sweet, will try a plain query.
273: [02:07:49] <stojg> it dies?
274: [02:07:58] <Kingy> don't ya love finding out people are using access databases
275: [02:08:06] <zippy> Jakx: http://doc.silverstripe.org/framework/en/2.4/reference/sqlquery#quick-value-checking
276: [02:08:31] <stojg> access.. I'm outta here.
277: [02:08:39] * stojg quit (Quit: Textual IRC Client: www.textualapp.com)
278: [02:08:45] <Kingy> hahaha
279: [02:08:52] <Colin[pi]> aw yiss, design concept finished 8D
280: [02:09:13] <Jakx> zippy, cheers for the link.
281: [02:19:45] <Colin[pi]> mm 10 hours to produce a design concept, quoted 14, so that's acceptable
282: [02:24:51] * veb has joined #silverstripe
283: [02:25:25] <zippy> Colin[pi]: GTD done huh
284: [02:25:50] <Colin[pi]> GTD?
285: [02:26:50] <zippy> Getting Things Done
286: [02:27:15] <zippy> but then I guess my msg would then be "done done"
287: [02:31:29] * headtrip has joined #silverstripe
288: [02:32:17] <zippy> 4 days in, and thus far pretty happy with the iphone 6
289: [02:35:42] * headtrip quit (Ping timeout: 245 seconds)
290: [02:38:31] <novaweb> Requirements::javascript($CMSFieldWithSomeJavaScriptInIt); is this possible?
291: [02:38:51] <novaweb> I need to pass some javascript from a CMS field in to the init function of a page...
292: [02:39:00] <Stomach> sure
293: [02:39:07] <novaweb> Cheers.
294: [02:39:24] <Stomach> Requirements::javascript($this->data()->ReallyBadIdeaButDoable);
295: [02:39:34] <novaweb> hahaha
296: [02:39:52] <Stomach> but it will be customScript, not javascript
297: [02:40:00] <novaweb> So many restrictions... Few possibilites left.
298: [02:40:03] <novaweb> Ok thank you.
299: [02:40:24] <Stomach> http://doc.silverstripe.org/framework/en/reference/requirements#custom-inline-scripts
300: [02:40:45] <novaweb> I should scroll down next time huh...
301: [02:42:16] <Colin[pi]> zippy: no bending? ;P
302: [02:42:52] <zippy> Colin[pi]: I brought the bending repair kit as well
303: [02:42:55] <zippy> http://d.ibtimes.co.uk/en/full/1360338/rolling-pin.jpg
304: [02:43:03] * simon_w has joined #silverstripe
305: [02:43:28] * Jakx has left #silverstripe
306: [02:44:02] * irogue_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
307: [02:45:53] <ss23> Guys, remmeber
308: [02:46:07] <ss23> If you only have 16gb of ram, don't start 5x VMs using 4gb of ram each in 10 seconds
309: [02:46:14] <ss23> They'll start, but my computer is *so* fucked right now
310: [02:46:20] <Colin[pi]> lol ss23
311: [02:46:33] <Colin[pi]> ss23's computer "pls.. pls stahp"
312: [02:46:58] <ss23> Yeah, this is going to need a reboot...
313: [02:47:00] <ss23> :(
314: [02:47:08] <Kingy> ss23: if you have 4GB and try to start 1 VM with 2GB of ram just don't
315: [02:47:17] * simon_w quit (Client Quit)
316: [02:47:17] <Kingy> never works
317: [02:48:49] * jedateach quit (Quit: jedateach)
318: [02:50:23] * Kingy is now known as Kingy[a]
319: [02:55:01] * simon_w|air has joined #silverstripe
320: [02:58:56] * willr has joined #silverstripe
321: [02:59:26] * jedateach has joined #silverstripe
322: [03:02:10] <novaweb> Ok if you're using <<<JS heredoc in customScript, does your script need <javascript> tags around it, or is it implied with the heredoc? It's been aeons!
323: [03:02:19] * jordanmk has joined #silverstripe
324: [03:03:33] <jordanmk> hey guys, random question, what eCommerce platform would you recommend for when SilverStripe modules (e.g. Swipestripe) aren't quite sufficient
325: [03:03:45] <jordanmk> OpenCart? PrestaShop? Magento? something else?
326: [03:04:09] <novaweb> have you tried jedatech's solution?
327: [03:04:32] <Colin[pi]> novaweb: jedateach's solution is SS-based
328: [03:04:43] <Colin[pi]> jordanmk is after something non-SS by the sounds..
329: [03:04:44] <Colin[pi]> ?
330: [03:05:05] <jedateach> jordanmk: out of interest - what lacks in the SS options?
331: [03:05:18] <novaweb> Colin[pi] he's saying current solutions aren't sufficient. He may not be aware of silverstripe-shop
332: [03:05:33] <novaweb> jordanmk: https://github.com/burnbright/silverstripe-shop
333: [03:06:05] <jedateach> @jordanmk I’ve drawn a lot of inspiration from prestashop
334: [03:06:13] <jordanmk> well when it comes to sites that are primarily eCommerce, Swipestripe and other SS module solutions have only a fraction of the features available in other eCommerce platforms like those i mentioned
335: [03:06:45] <jordanmk> not that i would expect Swipestripe to have as many features as eCommerce platforms like those mentioned, considering it's just a module made to provide Shop functionality to SilverStripe sties
336: [03:06:47] * simon_w|air quit (Quit: Textual IRC Client: www.textualapp.com)
337: [03:06:58] <novaweb> You've tried silverstripe-shop jordanmk?
338: [03:07:03] <jordanmk> i haven't
339: [03:07:47] <novaweb> I'd give it a go, having split sites in the past myself, keeping them centralized is easier for the customer to learn and get their head around.
340: [03:09:17] * irogue_ has joined #silverstripe
341: [03:09:30] <jedateach> the http://demo.ss-shop.org site doesn’t really show off everything (yet). There are a few shop submodules that provide additional functionality…see the ‘suggests’ section in https://github.com/burnbright/silverstripe-shop/blob/master/composer.json
342: [03:11:25] <irogue_> considering that a few years back we had one crappy ecommerce module, the fact we now have two decent options is pretty awesome :)
343: [03:11:53] <jedateach> @jordanmk but yes, you’re right - there are far fuller featured solutions out there. I’ve just been building features as needed. SS-native modules will give you greater flexiblity for integrating across your entire site.
344: [03:12:38] <novaweb> Bump: if you're using <<<JS heredoc in customScript, does your script need <javascript> tags around it, or is it implied with the heredoc?
345: [03:13:04] <jedateach> you don’t need tags
346: [03:13:07] <jedateach> just raw js
347: [03:13:11] <novaweb> ty!
348: [03:14:35] <Stomach> yeah we use swipestripe for smaller clients who want "a website with ecommerce" and other solutions for clients who want "an ecommerce website"
349: [03:16:24] <irogue_> yep
350: [03:16:39] <irogue_> most ecommerce systems have crappy CMS, and most CMS systems have crappy ecommerce. it's hard to be everything to all people
351: [03:17:01] <jordanmk> Stomach, what other solutions do you normally use?
352: [03:17:15] <Stomach> opencart, magento
353: [03:17:18] <Stomach> both aren't great
354: [03:17:29] <simon_w|work> We've used Shopify in the past for those sites
355: [03:17:37] <irogue_> yeah, Shopify kicks ass for ecommerce
356: [03:17:52] <irogue_> wish any of the opensource systems were anywhere near that good
357: [03:17:59] * stojg has joined #silverstripe
358: [03:18:15] <jordanmk> jedtatech, thanks for the info. my main concern is having to build in extra functionality from scratch when using things like Swipestripe and SilverStripe-Shop
359: [03:18:55] <jedateach> jordanmk: yep, fair enough. Thats also the fun of open source :D
360: [03:19:01] * simon_w|work is going to be building his own billing system
361: [03:19:15] <simon_w|work> Stick it on top of omnipay
362: [03:19:34] <irogue_> <3 omnipay
363: [03:19:56] <simon_w|work> Should probably opensource it too
364: [03:19:57] <jedateach> simon_w|work: nice - feedback welcome assuming you use my module
365: [03:19:59] * simon_w|air has joined #silverstripe
366: [03:20:01] <jordanmk> irogue_, simon_w: do i understand correctly that you can't extend Shopify sites? except through modules/plugins?
367: [03:20:31] <simon_w|work> Turns out there's very little existing opensource stuff for recurring, pro-rated billing for services
368: [03:20:50] <irogue_> jordanmk: correct, it's a closed system. generally you'd run it alongside another site e.g. have silverstripe at www.company.blah, and shopify at shop.company.blah
369: [03:21:14] * UncleCheese has joined #silverstripe
370: [03:21:15] <irogue_> the template/theme customisation is good though
371: [03:21:25] <irogue_> so it's not too hard to make your sites match
372: [03:21:33] <simon_w|work> jedateach, I'm not building a shop :p
373: [03:22:01] <jedateach> simon_w|work: I was meaning this https://github.com/burnbright/silverstripe-omnipay
374: [03:22:22] <jordanmk> Stomach, would you recommend against using OpenCart or Magento? got any experience with others?
375: [03:22:40] <simon_w|work> jedateach, ah right
376: [03:22:45] <simon_w|work> Will see how much I need to hack it ;)
377: [03:23:00] <irogue_> jordanmk: when I looked at all of them, the best I found (for my purposes at least) was Magento. It has pretty much every functionality under the sun, but is complex as fuck to use.
378: [03:23:01] <jordanmk> irogue_ and simon_w: have you had any issues with using Shopify? is it something you'd recommend over other solutions?
379: [03:23:13] <Stomach> jordanmk - just be prepared for pain with Magento when configuring anything
380: [03:23:22] <Stomach> and opencart I'd really stay away from ideally
381: [03:23:32] <irogue_> Magento's templating is pretty painful too
382: [03:23:36] <Stomach> but magento does it all, but there are some _shit_ modules out there
383: [03:23:39] <irogue_> but yeah, still better than opencart
384: [03:24:12] <irogue_> jordanmk: only thing I'd really raise with spotify is that cost. especially if you need some addons, it can quickly balloon in price
385: [03:24:24] * cloph_away has joined #silverstripe
386: [03:24:31] <jordanmk> okay interesting, so you guys would say Magento is the best option? i'm aware that it has a steep learning curve but if it's worth the time spent learning, that's not such an issue
387: [03:24:32] * simon_w|air quit (Ping timeout: 250 seconds)
388: [03:24:53] <Stomach> its not that steep
389: [03:24:59] <Stomach> its just a pain in the ass
390: [03:25:07] <Stomach> its more like a cattle rod learning curve
391: [03:25:11] <jordanmk> haha
392: [03:25:12] * cloph quit (Ping timeout: 272 seconds)
393: [03:25:17] <Stomach> where some motherfucker chases you with a cattle rod for a few days
394: [03:25:18] <irogue_> also worth keeping in mind that it's owned by eBay now
395: [03:25:25] <irogue_> and who knows if they'll pull an Oracle on it
396: [03:25:31] <Stomach> yeah thats true :\
397: [03:25:31] <irogue_> start making all the good features enterprise-only
398: [03:25:39] <jedateach> jordanmk: a lot of magentos configuration is done in the browser, at least the last time I looked at it.
399: [03:26:07] <simon_w|work> Magneto also right a shittonne faster on top of HHVM
400: [03:26:16] <jordanmk> yeah i do actually have experience with magento sites, although it was doing front-end work on them
401: [03:26:19] * simon_w|work knows the guy that's been making that happen
402: [03:26:28] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
403: [03:27:55] <simon_w|work> jedateach, does your omnipay module allow providing API keys through something other than the Config API?
404: [03:28:53] * simon_w|work doesn't like putting API keys in version control. Or the web root.
405: [03:29:01] <irogue_> yeah, I only ever put API keys in _ss_env
406: [03:29:32] <simon_w|work> jedateach, I can use the Config class in _config.php to get around it, but wondering if there's a nicer way
407: [03:29:48] <jedateach> simon_w|work: not out of the box, no
408: [03:29:59] <jedateach> but I’m open to ‘better ways'
409: [03:30:14] <jedateach> good to see SS on http://www.hhvm.com/frameworks/
410: [03:30:15] <simon_w|work> The old way of configuring! :p
411: [03:30:21] <jedateach> :D
412: [03:30:45] <simon_w|work> And it's now actually pinned to a release version, which took some effort
413: [03:32:16] * headtrip has joined #silverstripe
414: [03:35:10] * Olliepop quit (Ping timeout: 246 seconds)
415: [03:36:23] * headtrip quit (Ping timeout: 240 seconds)
416: [03:38:23] * stojg has joined #silverstripe
417: [03:44:24] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
418: [03:44:30] <madmatt> yay, I really need to check out hhvm some more
419: [03:44:38] <madmatt> I've had a play, it's quick as
420: [03:45:51] <ss23> speeedy as
421: [03:46:18] * UncleCheese quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
422: [03:46:40] <madmatt> simon_w|work: Do you consider it production-ready in its current form?
423: [03:46:44] * nickmolhoek quit (Quit: nickmolhoek)
424: [03:47:01] <simon_w|work> madmatt, HHVM? Yes
425: [03:47:08] <madmatt> Sweet
426: [03:47:22] * muskie9 quit (Quit: Textual IRC Client: www.textualapp.com)
427: [03:49:57] <simon_w|work> madmatt, it does run a couple of the top 10 sites now ;)
428: [03:50:33] * stojg has joined #silverstripe
429: [03:51:30] * Ryan-Toast has joined #silverstripe
430: [03:53:20] <ss23> If there was a pig who had a rash
431: [03:53:22] <ss23> Would he use a topical oinkment?
432: [03:53:29] * irogue_ groans
433: [03:53:39] <ss23> :3
434: [03:53:48] <irogue_> tractorcow would approve
435: [03:54:03] <ss23> :D
436: [03:58:09] * micmania1 has left #silverstripe
437: [04:00:19] <Tanger> ss23: LOL
438: [04:00:32] <Tanger> My heart bleeds for puns
439: [04:00:34] <novaweb> later baters!
440: [04:00:42] * novaweb quit ()
441: [04:04:22] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
442: [04:06:41] * Phlunk3 quit (Remote host closed the connection)
443: [04:06:54] * stojg has joined #silverstripe
444: [04:06:56] <Colin[pi]> ss23: http://i.imgur.com/An9w3pH.png
445: [04:07:08] <Colin[pi]> (from where else but reddit, the internet pun database)
446: [04:07:14] <ss23> Colin[pi]: looool
447: [04:08:18] * jedateach quit (Ping timeout: 250 seconds)
448: [04:09:44] <Colin[pi]> fuckin lol: http://www.dailymail.co.uk/news/article-2781239/Athlete-spent-year-training-gruelling-150-mile-triathlon-race-missed-day-overslept.html
449: [04:09:49] <Colin[pi]> that'd be something I'd do
450: [04:12:02] <ss23> WHAT A NOOB
451: [04:12:44] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
452: [04:15:04] * willr quit (Quit: willr)
453: [04:16:33] <Colin[pi]> phabricator installation guide: Installation Requirements > You will need a computer
454: [04:16:34] <Colin[pi]> http://i.imgur.com/vZ84t.png
455: [04:18:28] <ss23> Hmm
456: [04:19:26] <ss23> I basically can categorize clients/people I work with based on the "I'd make an offensive joke with them" "I'd Skype them with SUP GANGSTA instead of hi" or "I recognize them"
457: [04:19:45] <irogue_> hahaha
458: [04:19:50] <Colin[pi]> lol
459: [04:20:51] <ss23> (I just noticed that I Skyped an external person with "SUP GANGSTA")
460: [04:21:14] <simon_w|work> Colin[pi], The phabricator has a great sense of humour
461: [04:21:26] <Colin[pi]> simon_w|work: mm the docs are pretty funny
462: [04:21:34] <simon_w|work> *phabricator team
463: [04:22:19] <Colin[pi]> "A Toaster, Car, Firearm, Thermostat, etc.: Yes, many modern devices now have embedded computing capability. We live in interesting times. However, you should not install Phabricator on these devices. Instead, install it on a normal computer."
464: [04:22:25] <irogue_> ss23: I just looked at the last thing I skyped to you
465: [04:22:34] <irogue_> and your reply
466: [04:22:36] <ss23> inb4 it has "bitch" in it
467: [04:22:39] <irogue_> I think we're in the first category
468: [04:22:47] <ss23> hahahahaha
469: [04:22:50] <ss23> YOLO
470: [04:22:53] <ss23> 420 BLAZE IT FAGGOT
471: [04:22:58] <irogue_> yep ^_^
472: [04:23:30] <simon_w|work> https://secure.phabricator.com/D7689
473: [04:24:08] <irogue_> "Maybe in the en_GB translation he can have a teacup instead of firey breath."
474: [04:24:10] <irogue_> oh god
475: [04:24:10] <irogue_> yes
476: [04:27:26] * Ryan-Toast quit (Quit: Ryan-Toast)
477: [04:28:08] <irogue_> http://vector.co.nz/outages
478: [04:28:10] <irogue_> whoooaaa
479: [04:28:14] <irogue_> look how empty the map is!
480: [04:30:54] <Colin[pi]> irogue_: ELI5 what happened with the power?
481: [04:31:08] <ss23> Aren't they still in "omg please don't use power" mode, irogue_?
482: [04:31:46] <zippy> Colin[pi]: substation fire
483: [04:32:06] <Colin[pi]> ahh k
484: [04:32:13] <Colin[pi]> mm yeah that'd do it
485: [04:32:56] <ss23> fuck
486: [04:33:02] * headtrip has joined #silverstripe
487: [04:33:04] <ss23> I arranged to get dinner with someone tonight but I'm really full from lunch
488: [04:33:08] <ss23> :(
489: [04:33:20] <ss23> Is it more socially accpetable to eat a small amount or cancel dinner or make the other person get nothing or what?!
490: [04:33:21] * ezero quit (Ping timeout: 272 seconds)
491: [04:33:34] <Colin[pi]> ss23: have a small dinneer
492: [04:33:37] <Colin[pi]> *dinner
493: [04:33:57] <ss23> I feel like I've just eaten! I didn't even have a big lunch :(
494: [04:34:03] <ss23> I'll try shove something down I guess
495: [04:34:22] <Colin[pi]> ss23: how long until?
496: [04:34:36] <ss23> Between now and the next 30 minutes, I'm meant to meet them
497: [04:34:55] <Colin[pi]> oh, mm that's rather soon
498: [04:35:08] <ss23> I could be like "Lets see a movie first!"
499: [04:35:25] <Colin[pi]> mm or say you're running late?
500: [04:35:29] <ss23> lol
501: [04:35:41] <ss23> I'd rather just eat not much
502: [04:35:42] <ss23> OH GOD
503: [04:35:45] <ss23> M GOOGLE MUSIC IS CUTTING OUT
504: [04:35:46] <ss23> THIS IS HORRIBLE
505: [04:36:12] * zippy quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
506: [04:37:23] * headtrip quit (Ping timeout: 240 seconds)
507: [04:37:26] <irogue_> Colin[pi]: specifically, the oil in the cables underground going into the substation caught fire
508: [04:37:45] <ss23> Why are they transporting oil at a power station!
509: [04:37:48] <ss23> That just seems irresponsible.
510: [04:37:50] <irogue_> lol
511: [04:37:55] <Colin[pi]> irogue_: oh, ohhh.. that sounds um, rather bad
512: [04:38:12] <irogue_> Colin[pi]: yeah... trying to put oil out can be challenging enough without it being underground
513: [04:38:15] <Colin[pi]> :\
514: [04:38:38] <irogue_> https://www.youtube.com/watch?v=XA9V1p_2HKs
515: [04:38:46] * stojg has joined #silverstripe
516: [04:38:54] <ss23> badass fire
517: [04:38:59] <ss23> needs more fireworks and explosion
518: [04:39:27] <irogue_> and then of course once the fire was out they had to test pretty much every part in the substation to make sure it wasn't fucked (and replace those that were)
519: [04:40:09] <irogue_> so the last of the power has just been switched back on today, and the substation still isn't at full capacity so there's still chance of brownouts
520: [04:40:55] <ss23> Is there really no redudanncy?
521: [04:40:58] <irogue_> doesnt affect me at all, I live in south auckland and work in central auckland. bung area is east auckland
522: [04:40:58] <Colin[pi]> ss23: https://www.youtube.com/watch?v=l4iNOguCNFQ
523: [04:41:02] <ss23> It seems like it'd be good to have a bit of redundancy
524: [04:41:03] <Colin[pi]> ^ that's more like it
525: [04:41:19] <ss23> WOOHOOOOOOOOOOOOOOOOOOOOOOO
526: [04:41:24] <ss23> AWESOME
527: [04:41:47] <ss23> hahahhaa, fireworks factory...
528: [04:41:56] <Colin[pi]> ss23: could you imagine?
529: [04:42:02] <Colin[pi]> and how easily it could happen too
530: [04:42:09] <irogue_> ss23: apparently substations are the hardest part to do redundancy for. there's redundancy upstream (supplies into substations) and downstream (multiple routes between substation and streets so if a pole gets knocked out it'll often auto-switch around it)
531: [04:42:09] <Colin[pi]> one mistake... KABLAMMO
532: [04:42:17] <ss23> Colin[pi]: dude... that'd be so cool
533: [04:42:24] <ss23> STILL GOING AT NIGHT
534: [04:42:26] <ss23> JESUS
535: [04:42:32] <Colin[pi]> guy dropped a box of fireworks that started it lol
536: [04:42:35] <Colin[pi]> WHOOPSIES
537: [04:42:38] <ss23> oh man
538: [04:42:42] <ss23> oh man that final explosion is crazy
539: [04:42:58] <ss23> holy shit that's awesome
540: [04:43:05] * veb has joined #silverstripe
541: [04:43:35] <Colin[pi]> mm like a mushroom cloud
542: [04:43:46] <ss23> oh man, those houses were actually obliterated
543: [04:43:55] <ss23> I would've been one of the idiots being like "NAW SHE'LL BE RIGHT THIS IS COOL TO WATCH"
544: [04:43:56] <Colin[pi]> yeah seriously it was *massive*
545: [04:44:08] <ss23> I'm glad I'm not in charge of those decisiosn
546: [04:45:43] * ezero has joined #silverstripe
547: [04:45:53] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
548: [04:50:08] * Stomach quit (Ping timeout: 260 seconds)
549: [04:51:03] * Shrike_Finland has joined #silverstripe
550: [05:06:44] * hailwood quit (Remote host closed the connection)
551: [05:08:35] * headtrip has joined #silverstripe
552: [05:08:53] * Shrike_Finland quit (Quit: Leaving.)
553: [05:08:54] * jedateach has joined #silverstripe
554: [05:14:05] * stojg has joined #silverstripe
555: [05:17:51] * irogue_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
556: [05:19:30] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
557: [05:22:43] * wmk has joined #silverstripe
558: [05:26:06] * stojg has joined #silverstripe
559: [05:31:11] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
560: [05:34:09] * wmk quit (Ping timeout: 272 seconds)
561: [05:40:40] * veb has joined #silverstripe
562: [05:57:55] * willr has joined #silverstripe
563: [06:01:19] * mirrors has joined #silverstripe
564: [06:01:45] <mirrors> hey can anyone tell me how I can update the many_many_extrafields
565: [06:01:51] <mirrors> i cannot find any documentation on it
566: [06:04:24] <simon_w|work> mirrors, $manyManyList->add($object, ['ExtraField' => $value])
567: [06:06:15] <mirrors> in square brackets like ?
568: [06:07:40] <simon_w|work> Well, that's just an array
569: [06:07:51] <mirrors> ah yeah ok cool
570: [06:10:06] * badu has joined #silverstripe
571: [06:12:02] <badu> Hi, can anybody help me, how to use transaction in SS with innoDB?
572: [06:14:14] * stojg has joined #silverstripe
573: [06:15:07] * Adesso has joined #silverstripe
574: [06:22:44] <willr> badu - see DB::getConn()->transactionStart(), transactionEnd() and transactionRollback()
575: [06:23:26] <willr> simon_w|work your flight wasn’t too delayed with the wind?
576: [06:28:14] * Sticks quit (Quit: Leaving)
577: [06:36:55] * Selay has joined #silverstripe
578: [06:37:30] * mirrors quit (Quit: Page closed)
579: [06:41:51] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
580: [06:42:55] * wmk has joined #silverstripe
581: [06:49:46] <Adesso> Moin
582: [06:53:26] * Nightjar has joined #silverstripe
583: [06:54:25] <Nightjar> last day of holiday proper :'(
584: [06:54:47] <Adesso> sad ... then enjoy it as best you can
585: [06:55:42] <Nightjar> missus is still asleep :/
586: [06:57:32] <Nightjar> although after flyinghome tomorrow I can update and upload more modules :-)
587: [06:58:02] <Nightjar> ... before work on Thursday *sigh* :P
588: [07:04:54] <Nightjar> so ciao for now :-)
589: [07:05:58] <wmk> hey -
590: [07:07:02] * stojg has joined #silverstripe
591: [07:10:35] * Adesso21 has joined #silverstripe
592: [07:11:21] * Adesso quit (Write error: Broken pipe)
593: [07:12:34] * ARNHOE has joined #silverstripe
594: [07:16:43] * Selay quit (Ping timeout: 246 seconds)
595: [07:27:05] * willr quit (Quit: willr)
596: [07:28:57] * willr has joined #silverstripe
597: [07:45:07] * stnvh has joined #silverstripe
598: [07:50:50] * Nikos has joined #silverstripe
599: [07:51:22] <Nikos> Hello guys, I am trying to setup one of my older silverstripe installation
600: [07:51:35] <Nikos> But for some reason it just showing up index of
601: [07:51:56] <Nikos> The database rebuild not working either, any clue ?
602: [07:52:51] * g4b0_ has joined #silverstripe
603: [07:53:10] * Shrike_Finland has joined #silverstripe
604: [07:53:42] <g4b0_> hi all
605: [07:54:28] <g4b0_> is it possible from the CMS to search for files recursively into all directories?
606: [07:57:48] * Werner_2_ has joined #silverstripe
607: [07:58:07] * Werner_2_ quit (Client Quit)
608: [07:58:27] <spronk> Nikos, look in logs for errors
609: [07:58:33] * wmk quit (Read error: Connection reset by peer)
610: [07:58:38] <spronk> g4b0_, not by default iirc
611: [07:58:46] * wmk has joined #silverstripe
612: [07:59:11] <wmk> g4b0_, files in assets?
613: [07:59:33] <wmk> Nikos, that can have many reasons, maybe we have a clue if you provide more infos.
614: [07:59:44] <wmk> any errors?
615: [07:59:48] <wmk> did you check the logs?
616: [07:59:54] <wmk> everything else working?
617: [08:00:05] <g4b0_> wmk: yep, in assets and its subfolders
618: [08:00:22] <wmk> g4b0_, and what are you looking for?
619: [08:00:35] <wmk> everything in assets should be synced with File table
620: [08:01:00] <wmk> so you can easily do File::get()->filter(//what you're searching for)
621: [08:01:01] <g4b0_> I would like to search for a name or a filename *through the File gridfield*
622: [08:01:23] * Bollig|DesignCty quit (Quit: Bollig|DesignCty)
623: [08:01:29] <wmk> subclass extend AssetsAdmin and add a search to the grid
624: [08:01:36] <wmk> subclass or extend...
625: [08:01:53] <g4b0_> but there's already a search
626: [08:02:19] <g4b0_> that search only into the current folder
627: [08:02:47] * Colin[pi] quit (Ping timeout: 245 seconds)
628: [08:02:48] <g4b0_> I'm wondering if there's a config to let it search into the entire assets
629: [08:03:29] <Tanger> Hey, can you extend gridfield components?
630: [08:04:54] <wmk> g4b0_, from looking at the code i'd say: no config option
631: [08:05:19] * kinglozzer has joined #silverstripe
632: [08:05:24] <wmk> so you'll have to hack it in yourself. As it sounds useful you should also file an issue and PR
633: [08:05:44] <g4b0_> off course I will do
634: [08:05:46] <wmk> Tanger, extend in terms of subclassing (yes, why not?) or Extension?
635: [08:06:05] <g4b0_> can you please point me to the AssetsAdmin file?
636: [08:06:11] <g4b0_> I can't find it...
637: [08:06:27] <Tanger> Subclassing to override some functionality. Given there's no extend() points in the components methods
638: [08:06:56] <Tanger> g4b0_: cms/code
639: [08:07:04] <Tanger> then controllers
640: [08:07:17] <wmk> GridFieldComponent doesn't extend from Object, it's an interface...
641: [08:07:37] <Tanger> In particular, I was referencing subclassing gridFieldAddExistingAutoCompleter
642: [08:07:57] <Tanger> Not a component interface, but a cass than does implement those interfaces
643: [08:08:12] <wmk> same here. no subclass of Object, so no easy $this->extend
644: [08:08:39] <g4b0_> Thanks a lot Tanger and wmk
645: [08:08:56] <g4b0_> I will have a look for recursive file search
646: [08:09:42] <Nikos> wmk: Yeah, So I see this in the logs - client denied by server configuration: /var/www/cact/sapphire/index.php
647: [08:09:45] * ocmnt has joined #silverstripe
648: [08:10:02] <ocmnt> howdy
649: [08:10:11] <Tanger> Yo
650: [08:10:22] <wmk> ocmnt, hi
651: [08:10:30] <Tanger> Didn't know sapphire had an index file lol
652: [08:10:42] <Nikos> wmk: seems like htaccess issue ?
653: [08:10:50] <Tanger> ^^
654: [08:11:01] <wmk> Tanger, i guess the saphire/index.php is just for redirecting
655: [08:11:09] <Nikos> Tanger: :O
656: [08:12:03] <Tanger> Thanks, btw wmk. What a pain. So much code re-use for such a small change
657: [08:12:14] <wmk> Nikos, which version of Silvestripe? in my 2.4 install i also don't see an saphire/index.php
658: [08:12:48] <wmk> Tanger, of course. If it's a huge method you try to overwrite it's a bit of redundant code
659: [08:13:04] <wmk> you can of course start a discussion on dev ml
660: [08:13:06] <Nikos> wmk: Yeah its 2.4
661: [08:13:14] <Nikos> I even dont see any index.php
662: [08:13:43] <Tanger> Nikos: What's your htaccess look like?
663: [08:13:44] <wmk> what url did you call? domain.com/dev/build/ ??
664: [08:13:51] <Nikos> yes
665: [08:14:10] <Tanger> What's your RewriteBase and sapphire rewrite rule look like?
666: [08:14:25] <Tanger> Oh, wait!
667: [08:14:36] <Tanger> Nikos: Make sure mod_rewrite is working properly
668: [08:14:40] <Nikos> I dont have any htaccess in the root
669: [08:15:02] <Nikos> Tanger: Yeah it works for my other ss installations
670: [08:15:52] <wmk> Nikos, without a .htaccess in your httpdocs root mod_rewrite cannot work on apache
671: [08:16:15] <wmk> maybe the virtual host isn't set up properly.... http://www.cyberciti.biz/faq/httpd-client-denied-by-server-configuration/
672: [08:16:53] <wmk> <radio> i cannot tollerate intollerance</radio> hmm, why not???
673: [08:17:30] * Otterpocket has joined #silverstripe
674: [08:19:55] * willr quit (Quit: willr)
675: [08:26:35] <Nikos> wmk: Yeah, so it was .htaccess
676: [08:26:42] <Nikos> Thanks!
677: [08:26:47] <wmk> ;)
678: [08:30:56] * zippy has joined #silverstripe
679: [08:41:37] * Mish_ quit (Quit: Mish_)
680: [08:44:25] * ocm has joined #silverstripe
681: [08:46:11] * jedateach quit (Quit: jedateach)
682: [08:48:12] * ocmnt quit (Ping timeout: 272 seconds)
683: [08:48:13] * ocm is now known as ocmnt
684: [08:48:57] * jcwacky has joined #silverstripe
685: [08:50:01] * Tanger quit (Quit: Tanger)
686: [08:50:16] <jcwacky> When doing a Event::get()->leftJoin('EventShowing’… I’m getting duplicate Events returned (eg. when an Event has more than one EventShowing), how can I get a DISTINCT list?
687: [08:51:31] <wmk> YO! SS has so much built in magic, you just have to find it....
688: [08:51:44] <wmk> jcwacky, hmm,
689: [08:53:50] <wmk> searching for distinct in code and api led me to this: http://api.silverstripe.org/3.1/class-DataList.html#_distinct
690: [08:54:19] <wmk> so Foo::get()->filter()->leftJoin()->distinct(true) should do the trick
691: [08:54:23] <wmk> good to know ;)
692: [08:56:11] * Zauberfisch quit (Ping timeout: 272 seconds)
693: [08:56:59] <Otterpocket> I just started looking into Testing with SapphireTest, I not sure if something is breaking or if I am just doing it wrong
694: [08:57:01] * hailwood has joined #silverstripe
695: [08:57:04] <Otterpocket> http://paste.opensuse.org/13984c1a
696: [08:57:14] <Otterpocket> What should happen when I run the above?
697: [08:57:47] <Otterpocket> (from browsser not Sake)
698: [08:58:19] <ss23> I dunno :O
699: [08:58:21] <ss23> What happens?
700: [08:58:27] <ss23> You need to test it via /dev/test/ right?
701: [08:58:57] <Otterpocket> Yea, and when I do so I just get the Blue header but nothing outputs in the body
702: [08:59:14] <wmk> hmm, afaik you need to install phpunit via composer, there are some issues with a globally installed phpunit
703: [08:59:37] <wmk> any errors in log?
704: [09:00:06] <Otterpocket> wmk: I have PHPUnit, I installed it using my package manager maybe thats the problem
705: [09:00:19] <wmk> afaik...
706: [09:00:24] <jcwacky> wmk: Ah ha, but that only appears to be added a month ago, and isn’t in stable yet :( https://github.com/silverstripe/silverstripe-framework/commit/151b7e9876512d17ad1aef847e87f422c927bbcf
707: [09:00:25] * wmk should be more testing
708: [09:01:21] <Otterpocket> Maybe I need to write a Functional test to see if SaphireTest works ;)
709: [09:01:48] <wmk> jcwacky, damn. it's in 3.1 api already. that sucks
710: [09:02:11] <ss23> The API docs run off the latest from git
711: [09:02:19] <ss23> I'm not sure if it would be a good or bad idea to run it on latest stable...
712: [09:02:47] <wmk> doing a "search everywhere" in a current 3.1.6 i see a setDistinct in SQLQuery...
713: [09:03:08] <jcwacky> wmk: Yeh, was thinking SQLQuery might be my only option.
714: [09:03:20] <wmk> ss23, or at least switch latest stable / bleeding edge
715: [09:03:47] <wmk> those medhods should have an "added in version xxx" in phpdoc
716: [09:04:02] * Shrike_Finland quit (Quit: Leaving.)
717: [09:04:02] <wmk> so we see a 3.1.7 is not available right now
718: [09:05:51] <wmk> ss23, are you familiar with manifest builder?
719: [09:11:18] * ocm has joined #silverstripe
720: [09:14:36] * ocmnt quit (Disconnected by services)
721: [09:14:39] * ocm is now known as ocmnt
722: [09:15:49] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
723: [09:18:14] <Otterpocket> "Using the PEAR Installer to install PHPUnit is no longer supported. Please read the documentation and learn how to use PHPUnit from a PHAR or install it via Composer. We are sorry for any inconvenience this may cause." That would be the problem
724: [09:19:01] * Zauberfisch has joined #silverstripe
725: [09:22:54] * Shrike_Finland has joined #silverstripe
726: [09:26:19] <ss23> wmk: Not at all, sorry :(
727: [09:26:30] <wmk> np
728: [09:26:36] <ss23> 22:03:48 < wmk> those medhods should have an "added in version xxx" in phpdoc
729: [09:26:39] <ss23> I like that idea!
730: [09:26:44] <ss23> You should suggest it to the development team
731: [09:27:00] <wmk> dev ml?
732: [09:27:04] <ss23> Yeah, I guess so
733: [09:27:21] <ss23> The problem with having an api sectino for every release is that it takes like ~30 mins to generate now with ~3 versions :P
734: [09:27:34] <wmk> of course
735: [09:27:46] <ss23> I like the phpdoc idea a lot though
736: [09:27:51] <ss23> It seems stupid that we're not doing it now that I think about it...
737: [09:27:52] <wmk> though as a background task in the night it shouln't be hard.
738: [09:28:01] <wmk> and a tagged version (3.1.6 etc) won't change any more
739: [09:29:03] * Shrike_Finland quit (Quit: Leaving.)
740: [09:29:31] <ss23> They are background tasks at night!
741: [09:29:37] <ss23> Well it'd double it to an hour
742: [09:29:49] <ss23> (Assuming you did like latest 3.1 stable, latest 3.0 stable... etc)
743: [09:29:57] <ss23> It would be less useful to do just latest 3.1
744: [09:30:19] <wmk> stable (3.1.6, 3.1.5 etc..) has only be generated ONCE
745: [09:30:28] <wmk> when the version is released
746: [09:30:51] <wmk> well, thinking about it we don't need it in PHPDoc
747: [09:30:57] <ss23> ohhh :O
748: [09:30:58] <ss23> I see what you mean
749: [09:31:04] <ss23> you're right... :D
750: [09:31:06] <wmk> only generate for 3.1.6 (latest stable) right now
751: [09:31:10] <wmk> a one time task
752: [09:31:16] <wmk> and for lastest dev every night
753: [09:31:22] <wmk> which of course makes sens
754: [09:31:23] <wmk> e
755: [09:31:42] <ss23> wmk: Well I think that would work goodly too, but it'd require changes to how the api site works/looks at the moment. If you wanted to do the work, I'd be happy to deploy it, but I don't have time to write the code to do that nicely at the moment :(
756: [09:31:47] <ss23> It's on github though!
757: [09:32:17] <wmk> phew...
758: [09:32:45] <wmk> just file an issue at github or bring the discussion on the dev-ml, what do you think is better ss23
759: [09:32:46] <wmk> ?
760: [09:33:47] * Shrike_Finland has joined #silverstripe
761: [09:37:52] <jcwacky> wmk: Ok this is interesting, turns out I don’t need Distinct (it doesn’t help me)
762: [09:37:53] * Zauberfisch quit (Ping timeout: 240 seconds)
763: [09:38:15] <jcwacky> wmk: The presense of a sort on my DataList is causing the duplicate Events
764: [09:38:34] <jcwacky> wmk: This is the query: Event::get()->leftJoin('EventShowing','"EventShowing"."EventID" = "Event"."ID"')->filter("EventsPageID",$this->ID)->sort(array("StartTime" => "ASC"));
765: [09:38:50] <wmk> distinct only works if the whole result is the same. if you have included the ID field in the joined table it will never work
766: [09:39:07] <jcwacky> wmk: Removing the sort from the end removes the duplicates. StartTime is a field on EventShowing. If I sort by a field on Event it doesn’t duplciate.
767: [09:39:41] <wmk> jcwacky, what do you try to acchiev? get all events by start time?
768: [09:39:50] <jcwacky> Yep
769: [09:39:53] * Shrike_Finland quit (Ping timeout: 272 seconds)
770: [09:40:02] <wmk> what's the relation? Page m:n Event?
771: [09:40:13] <wmk> or Page 1:n Event?
772: [09:41:02] <jcwacky> Each event has 1 events page, and multiple showings.
773: [09:41:10] <jcwacky> Each page has mutliple events. Each showing has 1 event.
774: [09:41:14] <ss23> wmk: For phpdoc, dev mailing list (and suggest the other thing)
775: [09:41:34] <ss23> wmk: For "build documentation for stable versions too", I'd do a bug on api github too, maybe link that in the mailing list post
776: [09:41:44] <ss23> No one will look at the bug alone
777: [09:42:03] <wmk> ss23, if you send me the link to the issue i can mention it
778: [09:42:15] <ss23> wmk: There is no issue yet, is there?
779: [09:42:20] <ss23> I mean, I'm not writing that feature! :P
780: [09:42:27] <wmk> jcwacky, try to do a Event::get()->sort()->filter(relation to showing / current page)
781: [09:43:01] <wmk> ss23, if you make the issue / bugrequest i can mention it
782: [09:43:08] <ss23> wmk: ... but I don't wanna! :(
783: [09:43:34] <wmk> didn't see the conjunctive...
784: [09:43:36] <jcwacky> wmk: But I still need the join as StartTime is on EventShowing, not Event.
785: [09:43:55] <jcwacky> wmk: Perhaps I need to be doing EventShowing::get()… and joing that to Event?
786: [09:43:55] <wmk> hmmm...
787: [09:44:03] <wmk> possible solution, jcwacky
788: [09:44:40] <jcwacky> and then update my template to look for the EventShowing’s Event when displaying the info.
789: [09:44:42] <jcwacky> I’ll try that.
790: [09:47:58] <Otterpocket> so.. I installed using PHPunit using composer but I am still getting the message "Please install PHPUnit using pear" on dev/tests, is there a way to tell SS where phpunit is?
791: [09:49:21] <jcwacky> wmk: Hmm, that’s not working, still listing the same event twice when there are 2 showings, even with Distinct.
792: [09:54:13] <wmk> jcwacky, i bet you have to define the columns you need.
793: [09:54:43] <wmk> when you have all the IDs in the query distict doesn't work, cause they are different results.
794: [09:55:21] <wmk> jcwacky, you could also switch to dev-master and try distinct(), maybe it's less trouble/work
795: [09:55:37] <wmk> and more adrenaline if there are some unresovled bugs in dev-master
796: [09:55:41] <wmk> *G*
797: [09:56:14] <jcwacky> I’ve manually added those distinct additions to my local Framework.
798: [09:56:42] <wmk> if you get it deployed
799: [09:56:42] <jcwacky> Is it possible to define the columns when doing Event::get()->innerJoin() ?
800: [09:57:15] * Zauberfisch has joined #silverstripe
801: [09:57:31] <wmk> jcwacky, api says: no
802: [09:58:09] <jcwacky> Didn’t think so. So perhaps SQLQuery is the only way to do this.
803: [09:58:38] <wmk> but you can use http://api.silverstripe.org/3.1/class-DataList.html#_setQueriedColumns
804: [09:58:48] <jcwacky> Ah
805: [09:59:03] <wmk> if it's already implemented in latest stable *duck*
806: [10:00:56] <jcwacky> Ha! Looks like it is.
807: [10:01:06] <wmk> you win!
808: [10:10:25] <jcwacky> wmk: Hmm, not completely sure what fields should go in setQueriedColumns, tred setQueriedColumns(array("'Event'.'ID'", "'Event'.'Title'", "'EventShowing'.'EventID'")) but only getting ID numbers displaying in the template.
809: [10:10:56] <wmk> afaik it returns an array list then, you don't have the dataobjects with relateions
810: [10:11:00] <wmk> so you have to change the template.
811: [10:11:17] <wmk> try .Debug on the result
812: [10:12:41] <jcwacky> Name:Title Table: Value:#121
813: [10:12:41] * ss31noob has joined #silverstripe
814: [10:12:48] <jcwacky> weird
815: [10:12:57] <ss31noob> hi guys, i just noticed that Status has been removed in the SiteTree.php of 3.1
816: [10:13:12] <ss31noob> is there any way how to get the status of a page? if its a draft/published
817: [10:13:39] <jcwacky> wmk: Ah whoops know what I’ve done.
818: [10:14:43] * r_hector1 quit (Quit: Leaving.)
819: [10:15:25] <wmk> jcwacky, ??
820: [10:15:27] <jcwacky> wmk: Ok, resolved that, but even with distinct=true and setQueriedColumns as above, I’m getting duplicate Events.
821: [10:15:45] <wmk> you'll have to debug the query
822: [10:18:17] <jcwacky> How can a see the SQL for that specific query?
823: [10:18:19] <ss31noob> hi guys, i just noticed that Status has been removed in the SiteTree.php of 3.1.. is there an easy way how to get the status of a page if its a draft/published? (except for querying the SiteTreeLive table to see those published.. and just comparing it to the SiteTree table)
824: [10:23:12] <wmk> ->SQL() ??
825: [10:23:15] * veb has joined #silverstripe
826: [10:23:35] <wmk> ss31noob, should be in versioned extension
827: [10:29:16] <kinglozzer> wmk: What was your question about the manifest builder? (I don't have much experience of it, just curious)
828: [10:30:45] * coffee has joined #silverstripe
829: [10:30:46] <coffee> hey guys
830: [10:31:00] <coffee> apparently in ss3.1 the status in sitetree has been removed
831: [10:31:12] <wmk> kinglozzer, if i could add some values dynamically that get cached
832: [10:31:26] <coffee> is there a way to get the status off the page(published, draft, unpublished...etc)?
833: [10:31:42] <spronk> wait
834: [10:31:46] <spronk> status was removed from sitetree?
835: [10:31:56] <coffee> yes
836: [10:31:59] <wmk> coffee, dejavu? ss31noob just asked this question some minutes ago
837: [10:32:13] <coffee> sry wasn't logged in
838: [10:32:14] <wmk> coffee, did you look in the Versioned extension?
839: [10:32:22] <coffee> no
840: [10:33:59] <kinglozzer> wmk: Like setting a class property in the manifest based on PHP version or something? No idea :P
841: [10:34:05] <ocmnt> hahaha, deja vu indeed
842: [10:34:19] <wmk> kinglozzer, could have been ;)
843: [10:34:22] <ocmnt> ss31noob, and coffee: https://github.com/silverstripe/silverstripe-cms/blob/3.1/code/model/SiteTree.php#L186
844: [10:34:28] <ocmnt> that is what you are lookin for
845: [10:35:05] <spronk> glitch in the matrix brau
846: [10:35:14] <ocmnt> yea, I am hacking in to it
847: [10:35:15] <ocmnt> sorry about that
848: [10:35:28] * g4b0_ quit (Ping timeout: 260 seconds)
849: [10:35:54] <coffee> so i looked at the versioned extension still didn't get it
850: [10:36:26] <wmk> coffee, dunno. maybe just use the old code in an extension. can you show us the method in 3.0 / 2.4 ??
851: [10:37:08] <coffee> im doing a report and i need to get the current status of the page
852: [10:37:19] <coffee> in 2.4 i used to get it from the SiteTree
853: [10:39:12] * ARNHOE quit (Ping timeout: 260 seconds)
854: [10:39:32] <wmk> hmm, no idea right now.
855: [10:39:58] <wmk> cu l8r
856: [10:40:01] * wmk quit (Quit: nice to meet you ;))
857: [10:40:20] * ARNHOE has joined #silverstripe
858: [10:45:33] * ARNHOE_ has joined #silverstripe
859: [10:45:54] * Shrike_Finland has joined #silverstripe
860: [10:46:23] * ARNHOE quit (Ping timeout: 240 seconds)
861: [10:49:19] * jcwacky_ has joined #silverstripe
862: [10:50:53] * ARNHOE_ quit (Ping timeout: 240 seconds)
863: [10:50:57] * jcwacky quit (Ping timeout: 260 seconds)
864: [10:50:57] * jcwacky_ is now known as jcwacky
865: [10:52:16] <coffee> guyz, is there a way to force ss3.1 to get data from sitetree instead of sitetree_live
866: [10:52:25] <coffee> guyz, is there a way to force ss3.1 to get data from sitetree instead of sitetree_live?
867: [10:52:44] <ss23> "force"?
868: [10:52:48] <ss23> Set the site in draft mode
869: [10:53:00] <ss23> It depends on why you want to do it
870: [10:53:08] <ss23> Worst case you rewrite it to not use Versioned
871: [10:54:22] <coffee> I just need to do something like: SiteTree::get()->where( 'ID > 10' ); however this only gives me records from the SiteTree_Live table when I the data from the SiteTree table so I can get unpublished pages as well
872: [10:54:46] <coffee> when I need the data from the SiteTree...*
873: [10:54:49] <ss23> coffee: http://doc.silverstripe.org/framework/en/topics/versioning
874: [10:55:13] <coffee> thanks
875: [10:55:54] <spronk> ugh
876: [11:01:20] * Shrike_Finland quit (Quit: Leaving.)
877: [11:07:59] <Adesso21> I have want to get the ParentID of a Page in the controller, is it $this->ParentID() ?
878: [11:08:14] <ss23> $this->ParentID should work
879: [11:08:16] <ss23> But there's uh
880: [11:08:33] * zippy quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
881: [11:08:35] <ss23> (That is, no ())
882: [11:08:43] <ss23> There's a thing you can do, like $this->the-real-object->Foo
883: [11:08:46] <ss23> But I can't recall what it is :(
884: [11:09:12] <Adesso21> taht works ;)
885: [11:09:27] <Adesso21> I was trying UP and the like... but I guess ParentID is simpler
886: [11:09:49] <ss23> ^.^
887: [11:10:16] * r_hector has joined #silverstripe
888: [11:11:19] <kinglozzer> ss23: $this->dataRecord / $this->data()
889: [11:11:36] <ss23> Thanks kinglozzer! google wasn't being helpful
890: [11:11:50] <ss23> Adesso21: So there, if you ever want to get like $this->PropertyThatExistsOnControllerAndTheObject, you should use ->dataRecord/data()
891: [11:12:10] * ARNHOE has joined #silverstripe
892: [11:12:28] * Nikos quit (Quit: Page closed)
893: [11:13:11] * Adesso21 is now known as Adesso
894: [11:13:32] * Adesso checks his nick again O.o
895: [11:15:53] * Adesso thinks he is getting into yet another unknown field ..
896: [11:16:30] * Shrike_Finland has joined #silverstripe
897: [11:17:18] <Adesso> relation ..
898: [11:17:46] <Adesso> uhmmm .. let me just try it out
899: [11:19:42] * coffee quit (Quit: Page closed)
900: [11:20:25] <Adesso> ok.. my head hurt trying to figure this out ..
901: [11:21:17] <Adesso> I want to get a list of items from a Parent Page many_many with a filter
902: [11:23:07] <Adesso> ParentPageModelName::get()->relation("ParentPageRelationName")->filter('SomeExtraBoleanValue',true)->limit(3,0);
903: [11:24:09] * Adesso looks at his screen, IT FUCKING WORKS !!!!
904: [11:24:18] * Adesso does a raindance around his table
905: [11:24:50] <ss23> XD
906: [11:24:53] <ss23> Good work!
907: [11:25:04] <Adesso> I think.. i might just understand it now
908: [11:25:08] <Adesso> just maybe
909: [11:27:30] * Adesso trips and falls almost halving his scull.....
910: [11:28:11] <Adesso> now to limit it to this spesific ParentPage....
911: [11:29:16] <Adesso> in relation I would thus need no not just say ParentPageRelationName, but also ParentPageID
912: [11:29:37] * Adesso trys thinking while sowing his head back together again
913: [11:30:58] * Adesso is done sowing... sees brain on Floor... Doh !
914: [11:31:19] <Adesso> I seriously have no clue how to add that contraint
915: [11:31:33] <Adesso> constraint
916: [11:33:27] <Adesso> appendExtraFieldsToQuery() ?
917: [11:34:15] <Adesso> 7me knows he alays think to complicated ..
918: [11:34:24] <Adesso> this is simple ..
919: [11:34:27] <Adesso> I just know it
920: [11:36:27] <Adesso> ok... now in a form of a Question : How do I get only the PageObjects that are related to the ParentPage in ParentPageModelName::get()->relation("ParentPageRelationName")
921: [11:36:54] <Adesso> ParentPageModelName::get()->relation("ParentPageRelationName") would give me all Related Objects across the DB
922: [11:36:56] <ss23> filter(array('ID' => $this->ParentID
923: [11:37:16] <ss23> Adesso: There's no magic for it, you just specify it manually
924: [11:37:18] <Adesso> that easy :/
925: [11:37:29] <Adesso> manno
926: [11:39:20] <Adesso> it's a many_many, so then filter(array('RelationNameID'=>$this->ParentID))
927: [11:39:34] * Adesso types with one had while holding his brain in the other
928: [11:39:35] * Shrike_Finland quit (Quit: Leaving.)
929: [11:39:47] <ss23> Yeah, that sounds about right
930: [11:41:45] * Shrike_Finland has joined #silverstripe
931: [11:42:22] * ss31noob quit (Ping timeout: 246 seconds)
932: [11:44:25] * Adesso is now dancing arounf the table with his Brain in his hands...
933: [11:44:43] <Adesso> this is a first ..
934: [11:44:58] <Adesso> so you chain to filters after one another ..
935: [11:45:34] <Adesso> the first filter is the relationshipID , and the second filter is actually a table value... and SS just figures it out ..
936: [11:45:58] * Adesso thinks he should go and have lunch.... cause he is just hungra from all this dancing ..
937: [11:46:01] <ss23> XD
938: [11:46:51] <Adesso> If I carry on like this I am going to have to start doing something else that is difficult.. cause SS taking all my brain-thinking time away
939: [11:47:15] <Adesso> it's so simple it kinda hurts
940: [11:52:53] <kinglozzer> https://github.com/silverstripe-labs/silverstripe-fulltextsearch/blob/master/code/search/SearchUpdater.php#L30-L40
941: [11:52:54] <kinglozzer> (・_・;)
942: [11:53:07] <ss23> kinglozzer: dude.
943: [11:53:08] <ss23> I know.
944: [11:53:28] <ss23> kinglozzer: I stay the fuck away from that module
945: [11:53:56] <kinglozzer> ss23: Using it with DMS. DMS "view count" doesn't use DB::manipulate(), so I've had to write a second one of those classes which overrides the first :|
946: [11:54:24] <ss23> :S
947: [11:54:28] <kinglozzer> Feel so... dirty
948: [11:54:30] <ss23> XD
949: [11:54:37] <ss23> You feel dirty? Did the see the script I just wrote? :P
950: [11:55:23] <ss23> FUCK
951: [11:55:26] <ss23> I ACCIDENTLY COMMITED TO MASTER
952: [11:55:27] <ss23> AGAIN
953: [11:55:48] <kinglozzer> lol ss23, I do that all the time
954: [11:56:02] <ss23> I have no clue how I did that
955: [11:56:04] <ss23> I see the PR there...
956: [11:56:20] <kinglozzer> ss23: https://github.com/silverstripe/deploynaut/pull/50/files
957: [11:56:24] <ss23> :/
958: [11:56:25] <kinglozzer> Oh wow, I see what you mean :P
959: [11:56:32] <ss23> I set all my origins correctly...
960: [11:56:39] <ss23> WHY DID THAT HAPPEN
961: [11:57:03] <ss23> WTF
962: [11:57:04] <ss23> IT'S GONE
963: [11:57:05] <ss23> ;_;
964: [11:57:15] <ss23> ...
965: [11:57:16] <ss23> okay
966: [11:57:21] <ss23> So I'm a retard and so is the Github UI
967: [11:57:28] <ss23> Long story short I did my PR right, but it's a yucky script
968: [11:57:30] <ss23> kinglozzer: SO YEAH
969: [11:57:33] <ss23> I'm going to run it in prod
970: [11:57:40] <ss23> Wish me luck not accidently rm -rf'ing important shit
971: [11:57:42] <kinglozzer> ss23: glhf
972: [11:57:48] <kinglozzer> :P
973: [11:58:00] <ss23> <b>RUNNING IN WET MODE</b>
974: [11:58:01] <ss23> lol
975: [11:58:02] <ss23> :3
976: [11:58:11] <ss23> boom, done
977: [11:58:12] <ss23> o/
978: [11:58:29] <ss23> Cleaned up ~15GB of space
979: [11:58:29] <ss23> :D
980: [12:03:30] * UndefinedOffset has joined #silverstripe
981: [12:04:15] * Shrike_Finland quit (Quit: Leaving.)
982: [12:09:22] * Shrike_Finland has joined #silverstripe
983: [12:14:25] * Shrike_Finland quit (Ping timeout: 272 seconds)
984: [12:19:28] * Sj0hn has joined #silverstripe
985: [12:21:51] <Sj0hn> Hey Ya'll
986: [12:25:52] * g4b0_ has joined #silverstripe
987: [12:31:28] * Shrike_Finland has joined #silverstripe
988: [12:40:02] * Shrike_Finland quit (Quit: Leaving.)
989: [12:46:38] * r_hector quit (Quit: Leaving.)
990: [12:51:54] <Sj0hn> Any1 knows how to edit the /admin/security/ gridfield?
991: [12:52:04] <Sj0hn> Trying to add an component
992: [12:53:42] <Sj0hn> found this paste: http://www.sspaste.com/paste/show/53d56b029aece but doesn't do much for me.
993: [12:56:36] <ocmnt> Sj0hn, did you add your extentions?
994: [12:56:49] <ocmnt> in config.yml?
995: [12:58:05] <Sj0hn> _config.php also ok?
996: [12:58:10] <Sj0hn> should be right
997: [13:07:20] <g4b0_> wmk: I found a way to search files recursively into assets
998: [13:07:41] <g4b0_> just expand "Filter" slide
999: [13:07:49] <g4b0_> and then search through it
1000: [13:07:59] <g4b0_> not through the gridfield
1001: [13:11:55] <Adesso> when I use $default_sort to sort on a SS_Datetime, is there something I should add? Cause it's not really listening to my ASC or DESC
1002: [13:13:19] * Adesso adds a flush..... Bingo
1003: [13:21:02] * thehacksaw has joined #silverstripe
1004: [13:24:37] * NobrainerWeb has joined #silverstripe
1005: [13:29:28] <Sj0hn> *fixed it.. added the extension to SecurityAdmin
1006: [13:32:49] <ocmnt> how did you fix it?
1007: [13:32:54] <ocmnt> adding extention to security?
1008: [13:33:50] * ss31noob has joined #silverstripe
1009: [13:34:54] * x75 has joined #silverstripe
1010: [13:37:01] <x75> hi, anyone keen to help me with BetterBrief/silverstripe-opauth? Can't figure out how to make the E-Mail Field mandatory. Guess I need to set a Validator for Member, but I don't know how.
1011: [13:38:23] * jcwacky quit (Quit: jcwacky)
1012: [13:39:47] <NobrainerWeb> x75: at line 1434 in Member you can see how to validate a field
1013: [13:41:01] <NobrainerWeb> public function validate() { $result = parent::validate(); if($this->Name == '') { $result->error(‘DataObject must have a name'); } return $result; }
1014: [13:42:37] <x75> NobrainerWeb: thanks, I've seen that. What I don't get, the Member_Validator should already require E-Mail and Firstname. And from what I understand, opauth will ask you for missing information (twitter does not supply e-mail) but in the opauth module Member is always valid. So I guess I need to register the Member_Validator (or a custom Version).
1015: [13:43:33] <x75> is there a way to register a validator, maybe over config system or injector?
1016: [13:44:47] <x75> NobrainerWeb: btw, this is Johannes from WerStreamt.es from the Meetup..
1017: [13:45:04] <NobrainerWeb> Oh hi :o)
1018: [13:45:19] <NobrainerWeb> What a great weekend
1019: [13:45:40] <ocmnt> x75, have a look at this: http://api.silverstripe.org/master/class-Validator.html
1020: [13:45:51] <x75> yes, we are still talking about it. Tom and Sebastian want to host a meetup here right away ;)
1021: [13:45:52] <NobrainerWeb> Did you guys launch new design or?
1022: [13:46:08] <x75> NobrainerWeb: no, net yes
1023: [13:46:10] <NobrainerWeb> hehe, not just gaming?
1024: [13:46:48] <x75> NobrainerWeb: don't ask
1025: [13:47:17] <ss31noob> have anyone tried to override the value of $node_threshold_leaf and $node_threshold_total in Hierarchy.php so to limit the number of pages to be displayed in the CMS?
1026: [13:47:25] <x75> ocmnt: I did, for the last few hours. I just don't get it.
1027: [13:48:40] * catcher has joined #silverstripe
1028: [13:51:12] <kinglozzer> ss31noob: Never tried it before, but I remember reading about it somewhere.
1029: [13:51:48] <x75> There is http://api.silverstripe.org/3.1/source-class-Member.html#646 getValidator() but I guess I'm on the wrong track.
1030: [13:52:16] <ss31noob> kinglozzer: im actually confused with what node_treshold_leaf does because eventhough i changed the number to smaller one.. seems like it doesnt change anything
1031: [13:52:58] <ss31noob> ooops.. it should be node_threshold_total that i am a bit confused..
1032: [13:53:00] <kinglozzer> ss31noob: "Limit on the maximum children a specific node can display"
1033: [13:53:15] <ss31noob> yeah,.. i know the sense of node_threshold_leaf..
1034: [13:53:23] <ss31noob> it's the node_threshold_total that i am a bit confused
1035: [13:53:52] <ss31noob> kinglozzer: have you read something about node_threshold_total ?
1036: [13:54:04] <kinglozzer> ss31noob: I'm just reading the code documentation on it
1037: [13:54:07] <kinglozzer> It's a bit more complicated
1038: [13:54:09] <x75> SilverStripe limits the amount of initially rendered nodes in order to avoid processing delays, usually to a couple of dozen. The value can be configured through Hierarchy::$node_threshold_total.
1039: [13:54:18] <kinglozzer> It's sorta a minimum number of nodes to mark
1040: [13:55:02] <ss31noob> kinglozzer: "It's sorta a minimum number of nodes to mark".. i didnt get what does this means or how can i see this in the admin
1041: [13:55:03] <kinglozzer> ss31noob: Have you seen this description of it? http://api.silverstripe.org/3.1/source-class-Hierarchy.html#19-26
1042: [13:55:07] <kinglozzer> I'm still trying to understand it :P
1043: [13:55:43] <ss31noob> kinglozzer: yeah i do.. but its a bit confusing hahaha
1044: [13:56:27] <kinglozzer> Yeah it is quite confusing :P
1045: [13:56:33] <ss31noob> i tried to set it into Config::inst()->update('Hierarchy', 'node_threshold_total', 2); just to show the big difference
1046: [13:56:37] <ss31noob> but i cant see any
1047: [13:57:46] <kinglozzer> ss31noob: From my understanding, it'll load nodes (and children) until it hits that number. Once it does hit that number, any other nodes it loads will not have children included (but they will be loaded by AJAX anyway)
1048: [13:57:46] <x75> I guess, it should reduce the amount of nodes rendered right away and load the rest via ajax, so the end result would be the same.
1049: [14:01:12] <ss31noob> hmm okie
1050: [14:04:35] <kinglozzer> ss31noob: It seems that node_threshold_total is overridden for the CMS anyway :/
1051: [14:04:42] * NobrainerWeb quit (Quit: NobrainerWeb)
1052: [14:07:56] * muskie9 has joined #silverstripe
1053: [14:10:19] <Sj0hn> @ocmt yes. added the following: SecurityAdmin::add_extension('CustomSecurityExtension'); to the _config.php
1054: [14:10:40] <Sj0hn> @ocmnt*
1055: [14:13:51] <ss31noob> kinglozzer: yeah seems like.. weird thing is that there is a method in the Hierarchy.php named markPartialTree and seems like it's setting the value of treshold total to 30 lol
1056: [14:20:42] <kinglozzer> ss31noob: Yeah, that was what I tried :P it's the only thing that seems to make a difference
1057: [14:20:51] <kinglozzer> ss23: Don't suppose you're still awake?
1058: [14:21:18] <kinglozzer> Are there any deploynaut docs on the "initial" deploy, copying assets etc?
1059: [14:31:55] * catcher quit (Read error: Connection reset by peer)
1060: [14:37:54] * jeroenem has joined #silverstripe
1061: [14:38:03] * Adesso quit (Quit: EOD)
1062: [14:39:21] <x75> ok, does anyone else get an 404 on http://api.silverstripe.org/3.1/class-Member.html
1063: [14:40:05] <jeroenem> Does anyone know if there is a patch available to disable the split-mode by default in the CMS?
1064: [14:40:13] <jeroenem> i think it's really confusing
1065: [14:41:17] <jeroenem> x75: Yes, i got the 404 too - I think they are currently working on the api site http://api.silverstripe.org/3.1/
1066: [14:41:53] <x75> jeroenem: ok, back to reading local source then
1067: [14:46:25] <jeroenem> guess thats the way to go for now
1068: [14:50:40] * badu quit (Ping timeout: 246 seconds)
1069: [14:56:28] * catcher has joined #silverstripe
1070: [14:56:48] * g4b0_ quit (Quit: Sto andando via)
1071: [15:01:55] * Sj0hn quit ()
1072: [15:03:46] * Gadzina quit (Quit: Connection closed for inactivity)
1073: [15:03:53] * NobrainerWeb has joined #silverstripe
1074: [15:06:38] * muskie9 quit (Read error: Connection reset by peer)
1075: [15:07:13] * muskie9 has joined #silverstripe
1076: [15:10:11] <x75> ok, I give up. anyone here ever used silverstripe-opauth?
1077: [15:10:19] <ocmnt> not me
1078: [15:15:29] <jeroenem> x75: not me but there is some documentation available on git https://github.com/BetterBrief/silverstripe-opauth/blob/1.1/docs/en/configuration/index.md
1079: [15:18:15] <x75> jeroenem: yeah, thats what I started with. I'm pretty sure I'm missing someting stupid.
1080: [15:19:15] * ARNHOE quit ()
1081: [15:20:00] <x75> jeroenem: it says "OpauthValidator's custom_validator property to the class name of the validator you require." so I tried Member_Validator, but that did nothing. From reading the source I guess it can't work, since that part only kicks in if Member is not valid. So I need to tell Member to use Member_Validator or some other validator.
1082: [15:22:24] * danbroooks has joined #silverstripe
1083: [15:22:34] <danbroooks> in entwine, what is the difference between onadd and onmatch ?
1084: [15:23:49] <jeroenem> x75: hmm i'm not known with this module, afraid i cant help you out on this one
1085: [15:24:23] <x75> np, thanks for trying.
1086: [15:25:55] * NobrainerWeb quit (Quit: NobrainerWeb)
1087: [15:30:04] * muskie9 quit (Read error: Connection reset by peer)
1088: [15:30:46] * muskie9 has joined #silverstripe
1089: [15:31:35] <ocmnt> danbroooks, I believe onadd triggers on ajax loads, while onmatch does not
1090: [15:31:48] <danbroooks> ah ic
1091: [15:31:48] <ocmnt> so onadd gets called on 'live' objects
1092: [15:31:49] <danbroooks> thanks
1093: [15:36:54] * jeroenem quit (Quit: Page closed)
1094: [15:40:01] * ss31noob quit (Ping timeout: 246 seconds)
1095: [15:40:27] * NobrainerWeb has joined #silverstripe
1096: [15:40:51] * muskie9 quit (Read error: Connection reset by peer)
1097: [15:41:32] * muskie9 has joined #silverstripe
1098: [15:47:50] * Colin[pi] has joined #silverstripe
1099: [15:51:38] <NobrainerWeb> Hi guys, i have a Block that belongs_many_many Pages. That creates a table of Page_Blocks, which i have added a many_many_extraFields (SortOrder) to. Now i would like to set the value of the SortOrder field, either with populateDefaults or onAfterWrite - how do i do that?
1100: [16:07:40] * danbroooks quit (Ping timeout: 246 seconds)
1101: [16:09:34] <x75> NobrainerWeb: I guess in the Block::onAfterWrite you could use the add method of the relation. it takes an array as second parameter with values.
1102: [16:10:27] <x75> NobrainerWeb: but don't know how you would know the correct sort order at that moment
1103: [16:10:54] <NobrainerWeb> i guess i would need to do a DB query for max on SortOrder column?
1104: [16:11:31] <x75> ok, do you only wnat to do it on first insert?
1105: [16:12:08] <NobrainerWeb> yes, after that it’s handled via the sortable gridfield plugin. I just want the items to be added at the bottom of the gridfield list as default
1106: [16:12:14] <x75> Since Max SortOrder would be over all Page_Blocks
1107: [16:12:46] <NobrainerWeb> yes, but i guess i could limit the search with the current blocks id?
1108: [16:12:50] <x75> ok, check the gridfieldextensions doku, there is a sample for that. it's for has_many but it should give you an idea.
1109: [16:13:19] <x75> https://github.com/ajshort/silverstripe-gridfieldextensions/blob/master/docs/en/index.md
1110: [16:13:54] <x75> I guess (never done it) you would have to just read the relation with the new value
1111: [16:13:58] * Shrike_Finland has joined #silverstripe
1112: [16:14:05] <x75> read => re add
1113: [16:14:22] * Shrike_Finland1 has joined #silverstripe
1114: [16:16:54] <NobrainerWeb> ok, thanks - i will try and look around
1115: [16:18:19] * Shrike_Finland quit (Ping timeout: 244 seconds)
1116: [16:19:55] * Shrike_Finland has joined #silverstripe
1117: [16:19:57] * Shrike_Finland1 quit (Read error: No route to host)
1118: [16:25:21] * NobrainerWeb quit (Quit: NobrainerWeb)
1119: [16:27:32] <catcher> SS API css still pointing to the wrong hostname!
1120: [16:29:29] <UndefinedOffset> ya cam mentioned something on the pull request about that the change is merged the docs just need to be re-built i guess https://github.com/silverstripe/api.silverstripe.org/pull/9
1121: [16:30:53] * stnvh quit ()
1122: [16:31:57] * Otterpocket quit (Quit: WeeChat 0.4.1)
1123: [16:32:13] * wmk has joined #silverstripe
1124: [16:35:19] * kinglozzer quit ()
1125: [16:36:50] * Fuxo has joined #silverstripe
1126: [16:38:37] * Fuxo quit (Client Quit)
1127: [16:38:55] * Fuxo has joined #silverstripe
1128: [16:49:17] * thehacksaw quit (Quit: Leaving)
1129: [16:49:17] * NobrainerWeb has joined #silverstripe
1130: [16:52:46] <catcher> Ah, static publish maybe?
1131: [16:53:54] * Fuxo_ has joined #silverstripe
1132: [16:54:19] * Fuxo_ quit (Client Quit)
1133: [16:55:55] * Fuxo quit (Quit: leaving)
1134: [16:59:23] <wmk> catcher, why not ;)
1135: [16:59:26] <wmk> hey NobrainerWeb
1136: [16:59:48] <NobrainerWeb> wmk: hi :-)
1137: [16:59:59] <wmk> arrived back home?
1138: [17:00:50] <NobrainerWeb> Yes, was home sunday at around 11
1139: [17:00:59] <NobrainerWeb> great weekend/meet-up
1140: [17:01:17] <wmk> yup.
1141: [17:01:28] <wmk> was tired all sunday
1142: [17:01:38] * Fuxo has joined #silverstripe
1143: [17:01:58] <wmk> trying to get some good vibes / power from it... just digging how to make actions translatable
1144: [17:02:04] * Shrike_Finland quit (Quit: Leaving.)
1145: [17:02:44] <NobrainerWeb> i’m pretty full of energi - so have been messing around with my module for the last 2 days now
1146: [17:02:46] <wmk> catcher, i don't see anything wrong at api.silverstripe.org. maybe clear your cache?
1147: [17:02:51] <NobrainerWeb> brain is starting to feel fried
1148: [17:02:56] <wmk> hehe
1149: [17:02:57] * Fuxo quit (Read error: Connection reset by peer)
1150: [17:02:59] <wmk> the block module?
1151: [17:03:03] <NobrainerWeb> yes
1152: [17:03:13] <wmk> crazy you said other modules have been better...
1153: [17:03:20] <wmk> maybe in some aspects.
1154: [17:03:26] * Fuxo has joined #silverstripe
1155: [17:03:38] <wmk> i did a onepage module some weeks ago, pretty basic implementation using child pages
1156: [17:03:55] <wmk> after i saw your block stuff i decided not to show it at the con
1157: [17:04:33] <catcher> wmk, indeed, 'twas cached
1158: [17:04:36] <NobrainerWeb> lol, well if i had seen what Zauberfish had shown, maybe i would have done the same
1159: [17:04:47] <NobrainerWeb> but we all have little bits that are nice
1160: [17:04:56] <wmk> always be the first to present...
1161: [17:05:07] <wmk> yup. mine is dead simple
1162: [17:05:11] <NobrainerWeb> think it’s going to get very very difficult to agree on anything
1163: [17:05:33] <wmk> well, i've seen a comment on ML which was basically like
1164: [17:05:43] <wmk> - make a basic module for the basic functionallity, bulletproof
1165: [17:06:00] <wmk> - extend this module with specific funcitionality depending the single needs
1166: [17:06:13] <wmk> which sounds good to me
1167: [17:06:52] <NobrainerWeb> yeah same here
1168: [17:07:37] <NobrainerWeb> but then today i read that there is a guy who did a module based on the Widgets (which i know very little about) but they sounds like what we should actually build the module on
1169: [17:08:16] * Shrike_Finland has joined #silverstripe
1170: [17:09:14] <wmk> of course. there is already a widget module, official ss code, and it's like "sleeping beauty"
1171: [17:09:27] <wmk> noone knows it, uses it, but creates something similar
1172: [17:09:53] <wmk> it's also a bit of negative aspect that building stuff is dead easy with silverstripe
1173: [17:11:00] <NobrainerWeb> yeah can be - i did try the widgets stuff many years agi, when i first started using ss, but i did not like it and never tried it again. But i better have a look at all these different implementations
1174: [17:11:14] <NobrainerWeb> but time is not what i (or any other) have most of :-)
1175: [17:12:40] * muskie9 is now known as _muskie9_
1176: [17:15:32] <catcher> I need to convert data from an external API to something that's SS-viewable. I don't need to store the data; what's the best way to do this on the fly?
1177: [17:16:52] <Fuxo> catcher: via ajax?
1178: [17:17:18] <catcher> Fuxo, php
1179: [17:17:22] <wmk> NobrainerWeb, same here. tried once, never used again
1180: [17:17:44] <x75> catcher: is the API result an array or stdClass? I like ArrayList for that.
1181: [17:17:53] <wmk> catcher, depends on the api they provide
1182: [17:18:04] <wmk> there are some classes that can retrieve xml or json
1183: [17:18:28] <wmk> and give it back to you as SS_List so you can use it in SS
1184: [17:19:01] <wmk> class RestfulService
1185: [17:19:44] <catcher> I'm using a library API, it's coming back in stdClass
1186: [17:20:10] <catcher> I can loop through the results & create objects, just not sure what type of object to use.
1187: [17:20:50] <catcher> x75, an ArrayList composed of what though?
1188: [17:21:23] <x75> convert the object to array and then pass it to the ArrayList Constructor
1189: [17:22:41] <x75> new ArrayList((array)$YourObject)
1190: [17:23:06] <x75> something like that. you might have to put it in a variable first, didn't try
1191: [17:23:50] <x75> ok, got to get more coffee... be right back
1192: [17:25:56] * stephanvd has joined #silverstripe
1193: [17:26:49] * NobrainerWeb quit (Quit: NobrainerWeb)
1194: [17:27:35] * Shrike_Finland quit (Quit: Leaving.)
1195: [17:30:07] <Fuxo> catcher is that object a result of a controller action?
1196: [17:31:42] <catcher> Fuxo, not necessarily; I'm currently making the API call in a separate method
1197: [17:32:48] <catcher> The resultant object is a stdClass full of stdClasses, so ArrayList doesn't like it.
1198: [17:33:22] <wmk> catcher, if the api isn't tooo complicated: use resfulservice for the call
1199: [17:33:59] <wmk> it also caches the result for you
1200: [17:34:12] <wmk> and returns objects you can use directly
1201: [17:34:18] <catcher> Does restfulservice have oAuth support?
1202: [17:35:03] <wmk> you send an oauth token? isn't that just part of URL?
1203: [17:35:17] <wmk> or another param?
1204: [17:39:04] <wmk> hmm, seems not
1205: [17:41:46] <catcher> wmk, there seem to be a couple back & forths
1206: [17:42:48] <catcher> wmk, that said, I see another version of the API that doesn't require oAuth.
1207: [17:42:49] <wmk> catcher, look at other modules that do api calls, e.g.https://github.com/jelicanin/silverstripe-instagram-page/blob/master/code/pages/InstagramPage.php (not that i will say this is the best example, just a quick searchc)
1208: [17:43:09] <wmk> if it's save for now NOT to use oauth
1209: [17:43:40] <catcher> My case is read-only, so I'm not concerned with that.
1210: [17:44:05] <wmk> you can of course loop through the results, create the array manually and then the array list. add caching and go
1211: [17:44:30] <wmk> though restfulservice is a great tool and you get it done in very few lines
1212: [17:46:00] <catcher> wmk, the caching alone is probably worth switching. Though I could always partial cache.
1213: [17:46:27] <wmk> cache is a few-liner also
1214: [17:46:40] <wmk> but i'd use as much ss magic as possible
1215: [17:46:48] <wmk> don't reinvent the wheel
1216: [17:54:35] * gelignite has joined #silverstripe
1217: [17:54:44] * _muskie9_ is now known as muskie9
1218: [18:01:55] * x75_ has joined #silverstripe
1219: [18:05:16] * x75 quit (Ping timeout: 244 seconds)
1220: [18:14:30] * muskie9 is now known as _muskie9_
1221: [18:14:32] * _muskie9_ is now known as muskie9
1222: [18:22:21] <catcher> wmk, NOW I see that there's no json support!
1223: [18:22:39] <wmk> catcher, where?
1224: [18:23:46] * Shrike_Finland has joined #silverstripe
1225: [18:23:55] * Fuxo quit (Ping timeout: 272 seconds)
1226: [18:24:13] <catcher> http://doc.silverstripe.org/framework/en/reference/restfulservice
1227: [18:27:08] <wmk> damnit
1228: [18:27:24] <wmk> sorry for the inconvenience
1229: [18:30:45] * headtrip quit (Quit: Computer has gone to sleep.)
1230: [18:31:11] * headtrip has joined #silverstripe
1231: [18:35:17] * headtrip quit (Ping timeout: 245 seconds)
1232: [18:46:37] * kinglozzer has joined #silverstripe
1233: [18:47:52] <catcher> wmk, no worries, thanks for the feedback regardless
1234: [18:48:31] <wmk> fine.
1235: [18:50:13] <kinglozzer> catcher, wmk: RestfulService + json?
1236: [18:50:19] <wmk> jup
1237: [18:51:02] <kinglozzer> json_decode(json_encode($xml)); usually works if you're desperate :P
1238: [18:52:09] * SightUnseen has joined #silverstripe
1239: [18:52:19] * SightUnseen has left #silverstripe
1240: [18:53:00] <wmk> catcher ..?
1241: [18:53:56] <wmk> is there some kind of recoursive _t() ?
1242: [18:55:11] * UndefinedOffset quit (Quit: Leaving.)
1243: [19:01:45] * headtrip has joined #silverstripe
1244: [19:01:53] <catcher> I think I'll just go back to the official API & loop/convert. It's only 2 levels deep.
1245: [19:02:11] <catcher> Partial caching will be just fine too.
1246: [19:02:15] * Stomach has joined #silverstripe
1247: [19:03:46] * Kingy[a] is now known as Kingy
1248: [19:06:43] * headtrip quit (Ping timeout: 272 seconds)
1249: [19:20:44] <Kingy> morning
1250: [19:22:29] <wmk> evening ;)
1251: [19:22:41] <kinglozzer> evening Kingy
1252: [19:29:28] * x75_ quit (Remote host closed the connection)
1253: [19:29:48] * Phlunk3 has joined #silverstripe
1254: [19:30:36] <Kingy> pssh evening
1255: [19:30:45] <Kingy> where in the world are you folks?
1256: [19:30:53] <wmk> good ol' europe
1257: [19:33:00] <kinglozzer> Yup, UK here :)
1258: [19:34:05] <catcher> Shouldn't ?flush=1 clear a partial cache?
1259: [19:34:11] <Kingy> nice nice
1260: [19:35:34] * Olliepop has joined #silverstripe
1261: [19:35:39] * jedateach has joined #silverstripe
1262: [19:37:02] <kinglozzer> catcher: Yeah it should, though I think it may be broken in 3.1.
1263: [19:37:03] <kinglozzer> 6
1264: [19:37:22] * UndefinedOffset has joined #silverstripe
1265: [19:37:24] <catcher> kinglozzer, 3.1.6 indeed, hrm
1266: [19:37:56] <catcher> kinglozzer, do you know if a bug notice exists before I go looking/making one?
1267: [19:38:15] <kinglozzer> catcher: It's already been fixed for 3.1.7
1268: [19:38:24] <kinglozzer> The new Flushable stuff resolved it
1269: [19:38:28] <kinglozzer> (https://github.com/silverstripe/silverstripe-framework/issues/1383)
1270: [19:38:44] <catcher> kinglozzer, thank you kindly
1271: [19:39:18] * nickmolhoek has joined #silverstripe
1272: [19:39:37] * Ryan-Toast has joined #silverstripe
1273: [19:40:37] <Stomach> whats the easiest way to make sure that links to my controller are using the 'nice' version of it
1274: [19:40:46] <Stomach> I've added a Link() function which returns it
1275: [19:41:04] <Stomach> but when you are on an action in the controller, it just returns the base link for redirectbacks etc
1276: [19:41:56] <Stomach> I used to handle it in 2.4 by defining a $url_segment which I would then use in _config.php to define routes and everywhere else in the code but thats obviously not an option through yml config?
1277: [19:42:10] * Mish_ has joined #silverstripe
1278: [19:42:40] <catcher> kinglozzer, Is it best to get 3.1.7 w/ composer & package 3.1.x-dev?
1279: [19:42:41] * sk1u0122 has joined #silverstripe
1280: [19:43:02] <kinglozzer> catcher: Until there’s an RC, yeah
1281: [19:43:13] * sk1u0122 is now known as Fuxo
1282: [19:43:16] <wmk> Stomach, you can define routes in your config.php using config api...
1283: [19:43:31] <Stomach> wmk - yeah I know, but it feels dirty when everything else is in yml
1284: [19:43:47] <wmk> yup.
1285: [19:44:23] <wmk> but you can also define everything in yml by hand
1286: [19:45:03] <Stomach> yeah, feels dirty :P
1287: [19:45:09] <catcher> kinglozzer, golden, thanks
1288: [19:45:28] <wmk> Stomach, i'm just trying to get actions translated
1289: [19:45:28] <kinglozzer> catcher: No problem. Sorry I broke it :P
1290: [19:45:45] <wmk> kinglozzer !!!
1291: [19:45:55] <wmk> or is it a normal risk when making PRs?
1292: [19:46:14] <kinglozzer> wmk: D:
1293: [19:46:59] <kinglozzer> Well, there were no unit tests checking that partial caches were invalidated on flush, so... :P
1294: [19:47:23] <wmk> there were no tests.... but now they are i assume
1295: [19:48:37] <kinglozzer> Hmm, not sure
1296: [19:49:30] * stojg has joined #silverstripe
1297: [20:02:27] * headtrip has joined #silverstripe
1298: [20:02:46] <Ryan-Toast> Does anyone generate css from their cms?
1299: [20:07:10] * headtrip quit (Ping timeout: 272 seconds)
1300: [20:09:06] * UndefinedOffset quit (Quit: Leaving.)
1301: [20:10:09] <Stomach> lol @ tractorcow telling ss23 off
1302: [20:11:03] <kinglozzer> :P
1303: [20:11:11] * irogue_ has joined #silverstripe
1304: [20:11:57] * Fuxo quit (Ping timeout: 272 seconds)
1305: [20:12:17] * travis-ci has joined #silverstripe
1306: [20:12:17] <travis-ci> [travis-ci] silverstripe/silverstripe-cms#1061 (master - dd98317 : Damian Mooyman): The build passed.
1307: [20:12:17] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-cms/compare/b838f8161f30...dd98317b6705
1308: [20:12:17] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-cms/builds/37323449
1309: [20:12:17] * travis-ci has left #silverstripe
1310: [20:18:51] * stephanvd quit (Quit: Lingo - http://www.lingoirc.com)
1311: [20:24:49] <Kingy> Stomach: lol it's hilarious
1312: [20:26:26] * phillprice has joined #silverstripe
1313: [20:26:27] <phillprice> hmm thoughts? silverstripe/installer 3.1.6 requires silverstripe-themes/simple * -> no matching package found.
1314: [20:27:05] <irogue_> phillprice: that package definitely exists https://packagist.org/packages/silverstripe-themes/simple
1315: [20:27:41] * micmania1 has joined #silverstripe
1316: [20:27:57] <irogue_> phillprice: what's your required stability?
1317: [20:28:25] <irogue_> micmania1: mornin'
1318: [20:28:33] <micmania1> mornin’
1319: [20:29:09] <Kingy> love working at home
1320: [20:29:13] <Kingy> new couch as well
1321: [20:29:16] <Kingy> comfy as shit
1322: [20:29:28] <irogue_> shit is pretty comfy
1323: [20:29:33] <irogue_> I used it as a pillow once
1324: [20:29:41] <phillprice> Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for silverstripe/installer 3.1.6 -> satisfiable by silverstripe/installer[3.1.6]. - silverstripe/installer 3.1.6 requires silverstripe-themes/simple * -> no matching package found.
1325: [20:29:46] <Kingy> ya soft and accomdating
1326: [20:30:02] <phillprice> "require": { "silverstripe/installer": "3.1.6" }
1327: [20:30:59] <irogue_> phillprice: there should be a minimum-stability set somewhere
1328: [20:31:03] <irogue_> that needs to be dev, not stable
1329: [20:31:14] * wmk quit (Quit: nice to meet you ;))
1330: [20:33:35] <phillprice> thats it i_rogue thank you
1331: [20:34:14] <phillprice> although i thought silverstripe/installer made a mysite directory!
1332: [20:35:10] <phillprice> sorry i meant to say thank you irogue_
1333: [20:37:37] <phillprice> joy its put mysite into /vendor/silverstripe/installer
1334: [20:41:14] <irogue_> phillprice: you probably shouldn't use silverstripe-installer *under* your own composer.json
1335: [20:41:29] <irogue_> just include cms and framework (and the relevant theme if required) directly
1336: [20:41:55] <irogue_> silverstripe-installer is designed to be the root
1337: [20:42:04] * phillprice quit (Ping timeout: 246 seconds)
1338: [20:42:30] <Stomach> nope.
1339: [20:43:35] <Ryan-Toast> if you have a DB field that’s a Curreny field, can you use the Nice method all magic like. i.e $this->Currency->Nice() ?
1340: [20:44:23] <Stomach> sure
1341: [20:44:33] <irogue_> Ryan-Toast: *magic*
1342: [20:44:40] <Stomach> but you might need to use $this->dbObject('Currency')->Nice()
1343: [20:44:51] <Stomach> not sure if $this->Currency will return the object or the value
1344: [20:45:12] <Ryan-Toast> irogue_: http://i.imgur.com/Dhlw3.gif
1345: [20:45:50] <Stomach> Ryan-Toast - you need a new magic gif
1346: [20:45:52] <Ryan-Toast> Stomach: Ah, cool. I’m asking because I’m going to make a DBObject extension, and that explains it :)
1347: [20:45:54] <adrexia> wow. Stephen's deploynaut contribution spammed by github
1348: [20:45:58] <adrexia> epic
1349: [20:46:05] <Ryan-Toast> Stomach: http://i.imgur.com/WTUWY7U.gif
1350: [20:46:15] <Stomach> hahahaa
1351: [20:46:29] <adrexia> I have to stop watching. its far too busy
1352: [20:47:02] <Stomach> but then how will you procrastinate
1353: [20:47:10] <Ryan-Toast> Stomach: okay, I think I’m good to make my cssgen class.
1354: [20:47:35] <adrexia> / oh, a continue? I think not. See, we're already done. It would be USELESS at this point. USELESS I TELL YOU. USELESSSSSSSSSSSSSS
1355: [20:47:49] <adrexia> he should have taken that appraoch at the start and ditched the continues
1356: [20:49:25] <irogue_> | walked into the office this morning to hear tractorcow say "ooo, nothing like a pull request from stephen in the morning! I can release all my pent-up judgement"
1357: [20:49:27] * Colin[pi]-2 has joined #silverstripe
1358: [20:49:30] <adrexia> http://programmers.stackexchange.com/questions/58237/are-break-and-continue-bad-programming-practices
1359: [20:49:38] <adrexia> lols
1360: [20:49:50] <adrexia> I have heaps more judgement to give
1361: [20:49:55] <jolene> :<
1362: [20:50:07] <adrexia> amazing comments though
1363: [20:50:12] <adrexia> need more of 'em
1364: [20:51:04] * Colin[pi] quit (Ping timeout: 258 seconds)
1365: [20:52:40] <Ryan-Toast> Stomach: can I extend/add a method to DBObhject without having to make a new field type?
1366: [20:53:34] <Kingy> haha irogue_ he didn't hold back
1367: [20:53:42] <Kingy> email after email of
1368: [20:53:45] <Kingy> oh a useless comment
1369: [20:53:48] <Kingy> another useless comment
1370: [20:53:50] <Kingy> useless comments
1371: [20:54:00] <adrexia> that was Sean I think
1372: [20:54:18] <Stomach> Ryan-Toast - why would you want to do that :S
1373: [20:54:23] <Stomach> its structurally a new type right?
1374: [20:54:26] <irogue_> yeah, sean's the comment hater :P
1375: [20:54:28] <adrexia> Sean was somewhat less impressed by the comments than I was
1376: [20:54:33] <adrexia> :D
1377: [20:54:48] <Kingy> oh it was too haha
1378: [20:55:12] <Ryan-Toast> Stomach: I have a field that saves a serialised array, and I want to have a method that I can output it a certain way wherever I want, and not sure where I should have that method.
1379: [20:55:19] <Kingy> ionno i always welcome humorous comments
1380: [20:55:32] <Kingy> 2-3 years down the track when you re-visit it and you get a good chuckle
1381: [20:55:35] <Kingy> always nice
1382: [20:55:49] <irogue_> yep
1383: [20:56:04] <Stomach> Ryan-Toast - on the field I would imagine
1384: [20:56:07] <irogue_> is good when you read some old cold and think "what the fuck was I thinking?" then notice the comment saying "I'm going to regret this in 5 years"
1385: [20:56:22] <Ryan-Toast> Stomach: how do you call the field method?
1386: [20:56:43] <Stomach> oh I see
1387: [20:56:44] <Stomach> dunno
1388: [20:56:46] <Stomach> irogue_ halp
1389: [21:00:37] <kinglozzer> Ryan-Toast: EXTENSIONS :D
1390: [21:00:48] <kinglozzer> Also caps
1391: [21:00:49] <Ryan-Toast> kinglozzer: but what to extend? :P
1392: [21:01:09] * UncleCheese has joined #silverstripe
1393: [21:01:13] <kinglozzer> Ryan-Toast: Whatever data type you’re storing it as? HTMLText, StringField, whatever
1394: [21:01:23] <kinglozzer> Or do I misunderstand? ><
1395: [21:01:30] <Ryan-Toast> kinglozzer: just storing it as Text
1396: [21:02:13] <kinglozzer> I’d add an extension to Text then
1397: [21:02:56] <kinglozzer> return $this->formatAllPretty($this->owner->value); etc etc
1398: [21:03:13] * headtrip has joined #silverstripe
1399: [21:03:55] <Ryan-Toast> Is there an example in framework or somethin that I can have a look at?
1400: [21:04:43] <irogue_> my coworker keeps mispronouncing "sectional page" as "sexual page"
1401: [21:04:59] <kinglozzer> Ryan-Toast: class MyTextExtension extends Extension() { public function FancyFormatted() { return strtoupper($this->owner->value); } - then {$Field.FancyFormatted} in template :)
1402: [21:05:18] <kinglozzer> Text: extensions: - MyTextExtension << config.yml
1403: [21:05:23] <kinglozzer> Sorted
1404: [21:05:29] <Stomach> .co.nz
1405: [21:05:34] <Stomach> bah
1406: [21:05:36] <Ryan-Toast> kinglozzer: Nice, thanks man :)
1407: [21:05:56] <Ryan-Toast> kinglozzer: off to go code now: http://i.imgur.com/VLm8H.gif
1408: [21:06:10] <kinglozzer> Hahaha
1409: [21:06:47] <irogue_> i need to teach my cat to do that
1410: [21:07:17] * headtrip quit (Ping timeout: 245 seconds)
1411: [21:14:46] * catcher quit (Quit: Leaving)
1412: [21:17:11] <kinglozzer> Just realised.. mac mail supports gifs
1413: [21:17:31] <kinglozzer> From now on, all email correspondence will be via gif
1414: [21:17:55] <adrexia> sounds like the best plan ever
1415: [21:18:16] <adrexia> I have an iphone app that just lets you send other using the app gifs
1416: [21:18:26] <adrexia> but I only know two others using it
1417: [21:19:12] * Colin[pi]-2 is now known as Colin[pi]
1418: [21:19:21] * markcl has joined #silverstripe
1419: [21:19:25] <markcl> Hello
1420: [21:19:36] <kinglozzer> adrexia: I think there are iOS 8 keyboards for that now :P
1421: [21:19:50] <kinglozzer> No idea what apps it works with though
1422: [21:19:51] <markcl> In Silverstripe templates, should I use <%loop Children %> or <%loop $Children %>
1423: [21:19:54] <markcl> ?
1424: [21:20:15] <Colin[pi]> markcl: the first one
1425: [21:20:38] <markcl> ok
1426: [21:20:45] <kinglozzer> Colin[pi]: I thought it was the second :|
1427: [21:20:50] <Stomach> yeah its the second
1428: [21:20:51] <markcl> me too
1429: [21:20:54] <Colin[pi]> actually no Im wrong
1430: [21:20:55] <Stomach> <% loop $Children %>
1431: [21:20:58] <Colin[pi]> the second :P
1432: [21:20:58] <markcl> my IDE says the first one is deprecated
1433: [21:20:59] <kinglozzer> Well, it doesn’t matter, but “best practise”
1434: [21:21:09] <markcl> yeah, but why the second?
1435: [21:21:09] <kinglozzer> c/s
1436: [21:21:16] <markcl> is there any explanation for it somewhere in the docs?
1437: [21:21:19] <adrexia> its the second
1438: [21:21:28] <kinglozzer> markcl: Something to do with $ ensuring it looks up a variable, otherwise it may be treated as stinr
1439: [21:21:30] <kinglozzer> string
1440: [21:21:32] <adrexia> they both work, but the second one is better pratice
1441: [21:21:37] <irogue_> yep, what kinglozzer said
1442: [21:21:41] <kinglozzer> Hamish explained it to me once on a Github ticket
1443: [21:21:50] <markcl> so you can actually have strings in templates without quotes?
1444: [21:22:04] <micmania1> The second one is 3.0+ syntax. The first one is 2.4 (which 3.0 falls back to).
1445: [21:22:06] <Colin[pi]> "Note that inside a tag like this, variables should have a '$' prefix, and literals should have quotes. SilverStripe 2.4 didn't include the quotes or $ prefix, and while this still works, we recommend the new syntax as it is less ambiguous."
1446: [21:22:06] <markcl> lie <%if $var == xxxxx %>
1447: [21:22:08] <Colin[pi]> (from the docs)
1448: [21:22:12] <adrexia> it will still work, because its backwards compatible
1449: [21:22:18] <markcl> *like
1450: [21:22:25] <irogue_> markcl: again, deprecated but possible
1451: [21:22:40] <markcl> thanks everyone
1452: [21:22:42] <irogue_> the old 2.4 syntax was <% if Blah = Toast %>
1453: [21:22:48] <irogue_> where Blah was a variable and Toast was a string
1454: [21:22:55] <irogue_> as you can see, very ambiguous
1455: [21:23:01] <adrexia> yeah, because thats not confusing...
1456: [21:23:11] <adrexia> :D
1457: [21:23:30] <irogue_> so now it's <% if $Blah == 'Toast' %> for maximum obviousness
1458: [21:23:36] <adrexia> also, I have a nervous dislike to single = in if statements
1459: [21:23:38] <Kingy> adrexia: not at all haha
1460: [21:23:59] <Kingy> just take everything you've previously learnt and throw it out the window
1461: [21:24:08] <kinglozzer> adrexia: Me too!
1462: [21:24:12] <irogue_> just do things right now :P
1463: [21:24:48] <irogue_> ignore the horrible way you learnt for 2.x and just do it the way that feels correct to you as a PHP dev :P
1464: [21:24:53] <Kingy> :P
1465: [21:25:07] <adrexia> markcl which IDE do you use?
1466: [21:25:10] <Kingy> so a team at work is using excel with macros to populate an access db
1467: [21:25:20] <adrexia> I'm starting to think I want one
1468: [21:25:21] <Kingy> sigh, I'm trying to figure out how to migrate them away from that
1469: [21:25:29] <irogue_> adrexia: my guess is phpStorm/IDEA
1470: [21:25:34] * adrexia nods
1471: [21:25:40] <markcl> I use PHPStorm?
1472: [21:25:48] <adrexia> cool
1473: [21:25:50] <irogue_> as I use that and the SilverStripe plugin for it tells you off for not using $Blah :P
1474: [21:25:58] <adrexia> a lot of people sem to like taht one
1475: [21:25:59] <Kingy> lol
1476: [21:26:12] <Kingy> I prefer sublime
1477: [21:26:16] * Shrike_Finland quit (Quit: Leaving.)
1478: [21:26:23] <markcl> I have both Sublime and PHPStorm
1479: [21:26:32] <adrexia> I have coding copnventions in my head. but it would be nice to have something that slapped me when I slipped up
1480: [21:26:32] <markcl> Usually use Sublime for small projects since its really fast
1481: [21:26:41] <irogue_> Kingy: if someone put as much effort into the SilverStripe plugin for Sublime as the PhpStorm has had put into it, I'd go back to using Sublime
1482: [21:26:46] <adrexia> I currently use sublime
1483: [21:26:48] <markcl> Usually use PHPStorm when I need to navigate crazy structures
1484: [21:27:26] <adrexia> Get so used to editors that its hard to change
1485: [21:27:28] <markcl> Sublime looks really cool and clean
1486: [21:27:31] <irogue_> cos the SS plugin for PhpStorm is really good
1487: [21:27:36] <Kingy> might convince work to buy me a licence for PHPStorm then
1488: [21:28:05] <markcl> I prefer its UI. PHPStorm looks too ugly in comparison
1489: [21:28:14] <markcl> Makes me more productive when the UI is clean
1490: [21:29:07] <irogue_> Kingy: yeah we all get licenses for it here, but there's still a fair chunk of sublime users, and ss23 just uses vim cos he thinks he's too cool for an IDE :P
1491: [21:29:16] <Kingy> haha
1492: [21:29:18] <adrexia> I suspect I'd get slapped for spending that much on a non open source editor. Apparently even using sublime is less than ideal ;)
1493: [21:29:23] <Ryan-Toast> markcl: just use darkra theme
1494: [21:29:36] <Kingy> PHPStorm is free for opensource projects isn't it?
1495: [21:29:54] <irogue_> Kingy: only for completely non-commercial use
1496: [21:29:55] <markcl> i use vim too when im on the terminal or ssh.
1497: [21:30:01] <adrexia> irogue_, ss23 isn't the only one
1498: [21:30:21] <markcl> So basically I go back and forth with 3 copletely different IDEs
1499: [21:30:31] <adrexia> though I think he's the only one that doesn't dev in the same OS he runs
1500: [21:30:33] <Kingy> yeah there was a guy at work who has fully customised vim so it basically was an IDE
1501: [21:30:34] <Kingy> was pretty epic
1502: [21:30:39] <markcl> vim is just awesome for ssh
1503: [21:31:13] <Colin[pi]> https://nthitz.github.io/turndownforwhatjs/
1504: [21:31:15] <irogue_> whenever I run into people arguing about vim vs emacs I step in and say "you're both idiots, nano is without a doubt the best"
1505: [21:31:28] <irogue_> suddenly they have a common enemy and can get along!
1506: [21:31:32] <adrexia> I just use vi for ssh
1507: [21:31:47] <adrexia> irogue_, lols
1508: [21:31:54] <adrexia> _best_ response
1509: [21:32:27] <kinglozzer> lol Colin[pi]
1510: [21:32:33] <adrexia> ..actually when I first tarted doiign terminal type stuff, nano was much better for me. IT actually told me waht to do
1511: [21:32:47] <irogue_> yep
1512: [21:32:48] <irogue_> same here
1513: [21:32:52] <irogue_> tho the key combinations are WACK
1514: [21:32:53] <adrexia> vim is all elitist and thinks you should already know
1515: [21:32:57] <irogue_> save? ctrl+w obviously
1516: [21:33:01] <adrexia> agree, tehy are
1517: [21:33:07] <irogue_> wait no
1518: [21:33:09] <irogue_> ctrl+o right?
1519: [21:33:11] <irogue_> ctrl+w is find
1520: [21:33:14] <adrexia> yeah taht's the one
1521: [21:33:16] <irogue_> see, i cant even remember
1522: [21:33:33] <irogue_> thats why they have to put them at the bottom of the screen all the time
1523: [21:33:38] * Gadzina has joined #silverstripe
1524: [21:33:43] <irogue_> reminds me a lot of the word processor I used on my Amstrad
1525: [21:34:10] <irogue_> with all the F keys and what they do listed across the bottom
1526: [21:35:47] <Stomach> ctrl + output makes perfect sense
1527: [21:35:56] <irogue_> Stomach: it's actually writeOut
1528: [21:36:03] <irogue_> and Whereis for find
1529: [21:36:19] <irogue_> bbs, coffee with hamish o'clock
1530: [21:36:20] <Stomach> my brain transposed it to something more useful years ago
1531: [21:36:52] <adrexia> ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
1532: [21:36:52] <adrexia> ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
1533: [21:37:06] <kinglozzer> battery's done for
1534: [21:37:09] <kinglozzer> g'night all
1535: [21:37:32] * kinglozzer quit ()
1536: [21:37:32] <adrexia> night
1537: [21:45:23] <Mish_> hey guys, I’m quite a php nub, and have probably a dumb question… is it possible to do multiple ->write()’s with one function? I want to save a dataobject, and write the data to a file at the same time
1538: [21:45:40] * Nightjar has joined #silverstripe
1539: [21:46:41] <Stomach> Mish_ - you can write anytime you like
1540: [21:47:59] <markcl> What is this darkra phpstorm I hear about?
1541: [21:48:56] <markcl> 17:29:15
1542: [21:48:57] <markcl> <Ryan-Toast> markcl: just use darkra theme
1543: [21:49:11] <markcl> A google search didn't help
1544: [21:50:17] <Ryan-Toast> markcl: darkrai: http://i.imgur.com/eYLsvB9.jpg
1545: [21:51:37] <jolene> lol project explorer and tabs
1546: [21:51:59] <jolene> so slow to use and so much screen space taken up
1547: [21:52:07] * gelignite quit (Quit: http://bit.ly/nkczDT)
1548: [21:52:10] <Ryan-Toast> Each to their own.
1549: [21:52:22] <markcl> hey <Ryan-Toast>, what's the url to download the theme?
1550: [21:52:32] <Ryan-Toast> markcl: it’s already in phpstorm by default
1551: [21:52:33] <markcl> https://www.google.com.ph/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=theme+darkrai+phpstorm&start=10 doesnt work
1552: [21:52:34] <Nightjar> Dafuq is this $out .= motherfuckn HTML
1553: [21:52:36] <markcl> oh
1554: [21:53:34] <Nightjar> Ryan-Toast: L 2 template, GOSH
1555: [21:53:53] <Ryan-Toast> Nightjar: testing stuff first.
1556: [21:54:09] <Nightjar> all I'm hearing are excuses.
1557: [21:54:17] <Ryan-Toast> Nightjar: so?
1558: [21:54:50] <Nightjar> check yo self before you wreck yo self
1559: [22:02:24] * StefanLehmann quit (Read error: Connection reset by peer)
1560: [22:03:44] * StefanLehmann has joined #silverstripe
1561: [22:03:58] * headtrip has joined #silverstripe
1562: [22:08:23] * headtrip quit (Ping timeout: 240 seconds)
1563: [22:11:46] * mirrors has joined #silverstripe
1564: [22:13:26] <Stomach> irogue_ - gonna come along on Friday
1565: [22:13:48] <irogue_> oh are you now
1566: [22:13:59] <irogue_> what happened to being too busy? :P
1567: [22:14:19] <simon_w|work> Free booze happened? :p
1568: [22:14:31] <mirrors> UncleCheese: Hi there uncle cheese...I love you display logic module but I just discovered the fields that are hidden by default and are shown conditionally are not shown when I view the pages history
1569: [22:14:59] <irogue_> simon_w|work: its a friday, that was always a given :P
1570: [22:15:00] <UncleCheese> interesting
1571: [22:15:28] <UncleCheese> the history state is readonly, right?
1572: [22:15:39] <mirrors> yes
1573: [22:15:49] <UncleCheese> yeah, so there's no form control to provide a value to the fields that aren't shown
1574: [22:15:54] <mirrors> i can see the fields when i inspect element...they are just hidden
1575: [22:16:12] <UncleCheese> ideally, display logic doesn't run when the form is in a readonly state. that's probably the easiest fix
1576: [22:17:54] <Stomach> irogue_ - management decided that we'd like to be more involved with SS
1577: [22:18:07] <irogue_> Stomach: hehe, excellent
1578: [22:18:12] * tankr has joined #silverstripe
1579: [22:18:16] <irogue_> management doing something right for once!
1580: [22:19:00] <irogue_> tankr: is confirmed, Stomach is coming on friday
1581: [22:19:21] * muskie9 quit (Quit: Textual IRC Client: www.textualapp.com)
1582: [22:20:45] <tankr> Sweet as, see you then Stomach. I think Janine's organising a bbq.
1583: [22:20:59] <simon_w|work> Where's my BBQ?
1584: [22:21:39] <irogue_> simon_w|work: you're welcome to come join in :P
1585: [22:22:14] <simon_w|work> irogue_, in Auckland? Screw that :p
1586: [22:22:41] <mirrors> UncleCheese: So any ideas how I can achieve that?
1587: [22:22:49] <Stomach> wooo free bbq
1588: [22:23:11] <UncleCheese> submit a PR?
1589: [22:23:39] <UncleCheese> you'd probably just have to check the state of the form in the FieldHolder method, or whatever loads the display_logic js
1590: [22:23:46] <UncleCheese> and don't load it if the form is readonly
1591: [22:24:05] <Stomach> tankr - going to bring in another one of my developers, and our technical director is going to come in for the beginning but not stay for the hacking
1592: [22:24:53] <adrexia> opf edit the js so it isn't bound to forms taht are in readonly
1593: [22:26:09] <tankr> Stomach: sweet as! appreciate the help :-)
1594: [22:26:22] <Stomach> we shall see how much help we are :P
1595: [22:26:52] <ss23> Oh clients! You're so optimistic!
1596: [22:27:08] <UncleCheese> mirrors probably the simplest thing is in the DisplayLogic method, check $this->owner->getForm()->Fields()->dataFields()->count()
1597: [22:27:21] <ss23> "Could you please advise what logs you are looking at." It's just a var_dump
1598: [22:27:24] <ss23> IT'S JUST A VAR_DUMP
1599: [22:27:42] <mirrors> UncleCheese: thanks I was just looking at that method
1600: [22:27:47] <UncleCheese> actually
1601: [22:27:54] <UncleCheese> saveablefields() might be more appropriate
1602: [22:27:55] <adrexia> .field.not()
1603: [22:28:03] <adrexia> and put .readonly in tehre
1604: [22:28:06] <adrexia> easy fix
1605: [22:28:17] <adrexia> or that other syn]tax
1606: [22:28:33] <UncleCheese> yeah, mirrors .. saveablefields is what you want
1607: [22:29:45] <adrexia> $('.field.display-logic:not(.readonly)').entwine({
1608: [22:30:40] <Ryan-Toast> I have a dropdownField that’s being populated by an Enum. I have set an empty text, but when I add a new dataobject the dropdown defaults to the first enum value. How can I set the default to be empty?
1609: [22:31:33] <UncleCheese> mirrors http://www.sspaste.com/paste/show/543464af62639
1610: [22:32:12] * veb has joined #silverstripe
1611: [22:32:53] <Stomach> Ryan-Toast - enums must have a value
1612: [22:33:00] <Ryan-Toast> Stomach: :(
1613: [22:33:03] <Ryan-Toast> Thought so
1614: [22:33:10] <Ryan-Toast> Back toa Text field I guess.
1615: [22:33:15] <Stomach> so your enum declaration should be Enum("'','Stuff','Things', "''");
1616: [22:33:31] <Ryan-Toast> you can have blank enums?
1617: [22:33:34] <adrexia> Unclecheese doesn't the cms just load js once and keep it forever?
1618: [22:33:43] <adrexia> (like until a page refresh)
1619: [22:34:00] <UncleCheese> ugh
1620: [22:34:02] <UncleCheese> yeah, you're right
1621: [22:34:10] <adrexia> you sort of have the assume the js has already been n included form elsewhere in the site
1622: [22:34:17] <UncleCheese> mirrors a js level fix makes more sense
1623: [22:34:26] <UncleCheese> plus, maybe the user has a few readonly fields for whatever reason
1624: [22:34:33] * adrexia nods
1625: [22:34:55] <adrexia> more specific js bindings is the easiest fix that I could see
1626: [22:35:19] <UncleCheese> You want this:
1627: [22:35:44] <UncleCheese> $('.field.display-logic:not(:readonly').entwine({
1628: [22:35:49] <UncleCheese> .... i think
1629: [22:35:57] <adrexia> haha thats wehat I said up there ^
1630: [22:35:59] <UncleCheese> whatever the hip jquery thing is
1631: [22:36:00] <adrexia> ;)
1632: [22:36:05] <UncleCheese> you were using a class :-b
1633: [22:36:13] <adrexia> exxcept $('.field.display-logic:not(.readonly)').entwine({
1634: [22:36:22] <adrexia> yeah - readonly gets a class
1635: [22:36:31] <UncleCheese> assuming you're using the core templates, yes
1636: [22:36:32] <adrexia> ins there, so may as well use it
1637: [22:36:40] <adrexia> hmm ...
1638: [22:36:46] <UncleCheese> maybe you have your own implementation of readonly
1639: [22:36:52] <adrexia> true
1640: [22:36:57] <UncleCheese> it's a bit pedantic
1641: [22:37:02] <adrexia> yep ;)
1642: [22:37:04] <UncleCheese> do whatever you want, mirrors
1643: [22:37:08] <UncleCheese> colon or period
1644: [22:37:11] <UncleCheese> see if i give a crap
1645: [22:37:15] <adrexia> if you have your own implementation I'd say, add the class backl in
1646: [22:37:40] <UncleCheese> this is a pretty coool module
1647: [22:37:43] <adrexia> but you kjnow, know that we don't have to worry too much about older IEs its much for muchness
1648: [22:37:45] <UncleCheese> amazing showcase of entwine, tbh
1649: [22:37:56] <adrexia> *now
1650: [22:38:04] <UncleCheese> this is exactly the use case that entwine must have had in mind
1651: [22:38:30] <UncleCheese> intherited behaviour that can be either augmented or overridden
1652: [22:39:46] <Kingy> oh dear god
1653: [22:39:47] <irogue_> don't let hamish hear you say how amazing entwine is, it'll go to his head
1654: [22:39:58] <UncleCheese> i know
1655: [22:40:03] <Kingy> just got an email:"Could we do something like if we get a new visitor to our site that when they click off the site a box pops up saying thanks for visiting"
1656: [22:40:07] <UncleCheese> i quite enjoyed my chat with him about it last time i was in AKL
1657: [22:40:12] <adrexia> I think UncleCheese was saying how amazing his use c ase for entwine was
1658: [22:40:13] <adrexia> :P
1659: [22:40:13] <UncleCheese> he was kind of like,.... oh, that thing
1660: [22:40:25] <UncleCheese> yeah, let's not cloud the water, here.. it's self-praise
1661: [22:40:37] <UncleCheese> clearly, it's all about me
1662: [22:40:49] <irogue_> uh-oh, it's gone to your head instead
1663: [22:40:56] <adrexia> lols
1664: [22:41:21] <UncleCheese> UncleCheese has to write sig a list of what ideas in uservoice are most important
1665: [22:41:37] <UncleCheese> i've already chosen one, but i'll sell you my second vote
1666: [22:41:40] <UncleCheese> shoudl we start the bidding?
1667: [22:41:58] <adrexia> not really a user void if only some ever get listened to
1668: [22:41:59] <adrexia> ;)
1669: [22:42:04] <adrexia> *voice
1670: [22:42:06] * Stomach bids $1 on Replace extensions with traits
1671: [22:42:11] <adrexia> though void is fitting
1672: [22:42:20] <UncleCheese> Stomach terrible idea.
1673: [22:42:21] <UncleCheese> next
1674: [22:42:28] <Stomach> what
1675: [22:42:30] <Stomach> WHAT
1676: [22:42:36] <UncleCheese> extensions and traits are NOT interchangable
1677: [22:42:45] <Stomach> thats why you replace them
1678: [22:42:46] <Stomach> :D
1679: [22:42:50] <UncleCheese> explain to me how I add a new field to the Member class with a trait?
1680: [22:42:53] <Stomach> with a complicated trait loading system
1681: [22:42:55] <Stomach> duh.
1682: [22:42:57] <UncleCheese> oh
1683: [22:42:58] <UncleCheese> great
1684: [22:43:00] <Stomach> :P
1685: [22:43:08] <irogue_> http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/6425928-files-should-be-stored-in-dataobject-fields
1686: [22:43:11] <simon_w|work> UncleCheese, by giving the web user write access to everything
1687: [22:43:12] <irogue_> this one right herrrrr
1688: [22:43:26] <UncleCheese> simon_w|work freals?
1689: [22:43:45] <simon_w|work> "I think if needed the remaining limitations of Traits can be worked around with DI and code generation."
1690: [22:44:00] <simon_w|work> Code generation.
1691: [22:44:03] <UncleCheese> i wasn't sure what his point was
1692: [22:44:09] <simon_w|work> Hamish thinks it's a good idea.
1693: [22:44:17] <UncleCheese> so Member.php gets rewritten
1694: [22:44:17] <simon_w|work> That is terrible.
1695: [22:44:19] <Stomach> simon_w|work - we did code generation for some ecommerce stuff at heyday
1696: [22:44:24] <Stomach> and it was all developer controlled
1697: [22:44:28] <Stomach> and it was still a bad idea
1698: [22:44:34] <Stomach> http://silverstripe.uservoice.com/forums/251266-new-features/suggestions/6190884-make-the-framework-faster
1699: [22:44:36] <UncleCheese> yeah.. too difficult to reconcile
1700: [22:44:41] <irogue_> code writing code... mmmmm, delicious
1701: [22:44:46] <UncleCheese> that was my #1, Stomach
1702: [22:44:59] <Stomach> irogue_ - thats how the entire template parser works
1703: [22:45:05] <UncleCheese> and nobody lets their web user have write access to the framework directory
1704: [22:45:05] <Stomach> its all generated
1705: [22:45:13] * muskie9 has joined #silverstripe
1706: [22:45:18] <simon_w|work> The static parsing is bad enough. I would hate to see what limits Hamish ends up imposing just to get adding traits to existing classes to work.
1707: [22:45:20] <irogue_> Stomach: yeah, I know, and it's terrifying enough
1708: [22:45:38] <simon_w|work> And then there's the whole duplicate method resolution
1709: [22:45:44] <UncleCheese> nah, templates are in the user space and are intended to be disposable
1710: [22:45:49] <simon_w|work> (Extensions is first in. Traits is compile time error)
1711: [22:46:07] <UncleCheese> simon_w|work that's what token_get_all() is for!
1712: [22:46:23] <UncleCheese> or maybe ReflectionClass()... mmm...
1713: [22:47:02] <simon_w|work> UncleCheese, I switched the config parsing stuff to Reflection. So much faster and forwards compatible!
1714: [22:47:45] <UncleCheese> really? why was it done the way it was, then?
1715: [22:48:05] <simon_w|work> So it doesn't have to load every class
1716: [22:48:13] <UncleCheese> and doesn't it only affect ?flush requests?
1717: [22:49:39] <micmania1> Hamish told me that reflection doesn’t always pickup private statics.
1718: [22:50:12] <UncleCheese> then why did they enforce private statics?
1719: [22:50:14] <Stomach> the fact the whole config system is private static with a stat method to access them really confuses me tbh
1720: [22:50:14] <UncleCheese> ugh
1721: [22:50:16] <simon_w|work> micmania1, he's wrong, and token parsing definitely doesn't
1722: [22:50:49] <Colin[pi]> confession time: I hate the yaml config
1723: [22:50:49] <UncleCheese> Stomach well, that's just backward compatability
1724: [22:50:58] <UncleCheese> stat() shouldn't be used anymore
1725: [22:51:01] <spronk> what are we talking about using reflection for?
1726: [22:51:17] <simon_w|work> spronk, getting all the default values for config (so, the private statics)
1727: [22:51:18] <UncleCheese> blogs
1728: [22:51:23] <spronk> AH
1729: [22:51:35] <spronk> for what purpose?
1730: [22:51:40] <Stomach> UncleCheese - why isn't it deprecated then?
1731: [22:51:42] <micmania1> Parsing PHP is mental.
1732: [22:52:04] <UncleCheese> https://github.com/ircmaxell/PHPPHP
1733: [22:52:23] <UncleCheese> https://github.com/ircmaxell/PHPPHP#for-the-love-of-god-why
1734: [22:52:44] <simon_w|work> spronk, instead of parsing token_get_all(), and then passing things into eval()
1735: [22:52:50] <spronk> yeesh
1736: [22:52:51] <spronk> yeah
1737: [22:53:22] <Colin[pi]> UncleCheese: omg
1738: [22:53:22] <UncleCheese> simon_w|work i'm still not clear on how token_get_all() solves the problem of having to load all the classes?
1739: [22:53:29] <Colin[pi]> that's just... um... wow
1740: [22:53:34] <UncleCheese> lolz
1741: [22:53:45] <simon_w|work> UncleCheese, you pass in the contents of the file without actually executing the file
1742: [22:53:58] <simon_w|work> (so, token_get_all(file_get_contents('Blah.php'))
1743: [22:53:59] <UncleCheese> oh, right
1744: [22:53:59] <simon_w|work> )
1745: [22:54:01] <stojg> Point 8 feels like the most relevant point on PHPPHP#for-the-love-of-god-why
1746: [22:54:06] <UncleCheese> and with reflection class you have to have loaded the class
1747: [22:55:01] <stojg> let us use @annotations instead!
1748: [22:55:22] <Stomach> whats concerning the PHPPHP is that there have been 25 pull requests
1749: [22:55:35] <Colin[pi]> :\
1750: [22:55:40] <simon_w|work> stojg, user attributes! So much saner then parsing doc blocks :p
1751: [22:55:49] <UncleCheese> incidentally they're all deletions, witht he commit message, "kill this fucking project"
1752: [22:56:04] <simon_w|work> http://docs.hhvm.com/manual/en/hack.attributes.php
1753: [22:57:13] <Stomach> right, so its time to learn java again then :\
1754: [22:57:27] <stojg> I just get this weird taste of java as soon as I think of meta annotation
1755: [22:57:32] <spronk> eh
1756: [22:57:33] <spronk> don't fight it
1757: [22:57:36] <spronk> php is pretty much turning into java
1758: [22:57:49] <stojg> we need more abstract factories!!
1759: [22:58:01] <Stomach> FactoryFactory
1760: [22:58:01] <simon_w|work> Oh man, don't use the popular frameworks
1761: [22:58:03] * Stomach cries
1762: [22:58:03] <simon_w|work> So much Java
1763: [22:58:06] <mirrors> UncleCheese: and adrexia Thanks for your help...I have the entwine onmatch function matching....I am not sure exactly what I should do in this JS function
1764: [22:58:25] <mirrors> and agreed entwine is amazing !!!
1765: [22:58:41] <UncleCheese> don't need to change the funciton.. just the selector
1766: [22:58:52] <UncleCheese> make it less greedy, so that it excludes readonly fields
1767: [22:59:19] <UncleCheese> actually, adrexia you win.. $('.field') points to a div, not an actual form input
1768: [22:59:23] <UncleCheese> so :readonly would fail :)
1769: [22:59:40] <Colin[pi]> Stomach: http://php.net/manual/en/class.iteratoriterator.php
1770: [22:59:42] <Colin[pi]> -_-
1771: [22:59:59] * adrexia does a victory dance
1772: [23:00:02] <adrexia> ;)
1773: [23:00:08] <adrexia> right, lunch time
1774: [23:01:01] <Stomach> Colin[pi] - lol
1775: [23:01:11] * muskie9 is now known as _muskie9_
1776: [23:01:16] * _muskie9_ is now known as muskie9
1777: [23:02:29] <Colin[pi]> guis I have a 2.4 site that was throwing a 500 due to this: $hash = $member->encryptWithUserSettings($token)
1778: [23:02:34] <mirrors> UncleCheese: so the selector on line 80?
1779: [23:02:44] <Colin[pi]> clearing cookies fixed it... is that a symptom of a bigger problem?
1780: [23:02:53] <UncleCheese> yup
1781: [23:04:30] * r_hector has joined #silverstripe
1782: [23:04:40] <markcl> I save 15 decimal places into a NumericField but it seems it only saves the first 12
1783: [23:04:42] * headtrip has joined #silverstripe
1784: [23:04:52] <markcl> ex. 11.123159888717248 becomes11.123159888717000
1785: [23:04:54] <markcl> I wonder why
1786: [23:07:21] <simon_w|work> markcl, what's your precision INI value set to?
1787: [23:07:33] <hailwood> Hey guys, does SS have a built in "date range" Object? I need users to be able to add any amount of sets of start & end dates to a page. (they are training dates).
1788: [23:07:44] * zippy has joined #silverstripe
1789: [23:07:55] <simon_w|work> hailwood, nope
1790: [23:07:57] <markcl> hailwood: http://doc.silverstripe.org/framework/en/reference/form-field-types
1791: [23:08:29] <markcl> use DateField and just validate them via an embedded JS?
1792: [23:09:02] * headtrip quit (Ping timeout: 245 seconds)
1793: [23:09:42] <stojg> markcl, is it saved in a database? What type of DBField? MySQL?
1794: [23:11:26] <markcl> You can save it to a database if its linked to a Date object i think
1795: [23:11:26] <markcl> http://doc.silverstripe.com/framework/en/3.1/topics/data-types
1796: [23:11:46] <markcl> The Silverstripe ORM thingy will take care of what data type it is for you
1797: [23:15:01] <Colin[pi]> "Silverstripe ORM thingy" lol I like that
1798: [23:15:16] <markcl> Im too lazy to type ActiveRecord-like thing.
1799: [23:15:45] <mirrors> UncleCheese: changing line 80 to $('.field.display-logic:not(.readonly)').entwine({ does not make any difference
1800: [23:17:30] <markcl> simon_w|work: my php_ini is set to the default precision (14 i think)
1801: [23:17:49] <simon_w|work> markcl, and you'
1802: [23:17:53] <simon_w|work> markcl, and you're getting 14 SF
1803: [23:18:24] <markcl> is there any way to change it via silverstripe simon_w|work?
1804: [23:18:39] <simon_w|work> markcl, ini_set('precision', 9001)
1805: [23:18:50] <markcl> where should i put that?
1806: [23:18:52] <markcl> can i put that in
1807: [23:18:57] <markcl> the getcmsfields?
1808: [23:19:10] <simon_w|work> _config.php makes more sense
1809: [23:19:28] <simon_w|work> Also, check to make sure the field you're storing into has enough precision
1810: [23:19:59] <UncleCheese> mirrors it does for me
1811: [23:20:07] <UncleCheese> did you reload the page?
1812: [23:20:09] <markcl> Whoa! It works awesomely
1813: [23:20:11] <markcl> Thanks simon
1814: [23:20:26] <markcl> I didn't know about the php precision thingy until today, i wonder why they bothered limiting it
1815: [23:20:42] <simon_w|work> Performance
1816: [23:21:03] <markcl> I will be setting it to 20 then instead of 9001
1817: [23:21:26] <markcl> thanks
1818: [23:22:57] * r_hector quit (Quit: Leaving.)
1819: [23:23:48] <UncleCheese> mirrors just released the fix in 1.0.5.
1820: [23:24:51] <zippy> damn - I am caught between two minds between braces at the end of statements, or on new lines...
1821: [23:25:00] <zippy> if() { or put the { on new line..
1822: [23:25:01] <Colin[pi]> zippy: I do new lines
1823: [23:25:13] <zippy> I used to HATE new lines, but now I have a semi..
1824: [23:25:29] <Colin[pi]> "but now I have a semi.." ... :\
1825: [23:25:41] <zippy> Colin[pi]: do you do } else { or put that on 3 lines?
1826: [23:25:51] <Colin[pi]> 3 lines, which some would hate
1827: [23:25:57] <Colin[pi]> but I like each on their own line
1828: [23:26:01] * stojg quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1829: [23:26:06] <adrexia> zippy don't use new lines ever
1830: [23:26:08] <adrexia> they are ugly
1831: [23:26:09] <adrexia> :P
1832: [23:26:10] <adrexia> ;)
1833: [23:26:16] <zippy> just makes the code so much longer though
1834: [23:26:21] <Colin[pi]> adrexia: this is a contentious issue :P
1835: [23:26:35] <adrexia> silverstripe standards thankfully solve it for us
1836: [23:26:37] <adrexia> :P
1837: [23:26:38] <zippy> 12 extra lines in a 50 line file just for putting } on new lines..
1838: [23:26:53] <zippy> now if I was paid on LoC :D
1839: [23:26:55] <adrexia> but I avoid using modules that put curly mbraces on new lines
1840: [23:27:02] <simon_w|work> zippy, just use Python and get rid of braces entirely :p
1841: [23:27:10] <adrexia> because they obviosauly aren't following satanrds
1842: [23:27:12] <irogue_> adrexia: i'm very happy that SS standards happen to line up almost entirely with what I did anyway
1843: [23:27:13] <adrexia> *standards
1844: [23:27:16] <zippy> simon_w|work: funny enough, this is to replace a python script..
1845: [23:27:20] <irogue_> simon_w|work: agreed :P
1846: [23:27:20] <adrexia> irogue_, me too ;)
1847: [23:27:47] <simon_w|work> (note: I actually rather hate Pyhton's formatting. Programming shouldn't be whitespace sensitive)
1848: [23:27:59] <irogue_> I'd just like to put this out there: fuck SOAP
1849: [23:28:07] <UncleCheese> Hey!
1850: [23:28:08] <adrexia> jslint fails your js for putting brackets on newlines too
1851: [23:28:11] <zippy> irogue_: that I can agree on
1852: [23:28:16] <simon_w|work> irogue_, and another S thing: fuck SAML
1853: [23:28:20] <ss23> if anyone is bored and wants lulz - https://github.com/silverstripe/deploynaut/pull/50
1854: [23:28:20] <adrexia> irogue_, agree
1855: [23:28:26] <UncleCheese> let's have a SOAP acronym contest
1856: [23:28:42] <Stomach> ss23 we already laughed about that this morning :D
1857: [23:28:43] <adrexia> REST forever
1858: [23:28:47] <UncleCheese> Stupid Old Archaic Protocol
1859: [23:28:51] <adrexia> hehe
1860: [23:28:59] <irogue_> UncleCheese: the rule is generally any I.T. acronym with 'Simple' in it is far from simple
1861: [23:29:00] <zippy> ss23: This task needs more any documentation. :) :P
1862: [23:29:01] <Stomach> adrexia - jslint only fails for new lines if thats what your config says :P
1863: [23:29:02] <UncleCheese> Send Over Another Programmer
1864: [23:29:06] <ss23> :P
1865: [23:29:07] <adrexia> ss23 that's what i did this mornign
1866: [23:29:26] <adrexia> Stomach jslint is opt out, not opt in
1867: [23:29:44] <adrexia> so unless you tell your config to avoid it, it fails you
1868: [23:29:48] <irogue_> ss23: http://logs.simon.geek.nz/index.php?date=2014-10-08#log_1433947
1869: [23:29:54] <adrexia> jshint is opt in
1870: [23:30:01] <simon_w|work> Also, fuck JSON. Especially for config.
1871: [23:30:08] <Colin[pi]> "No control structure is allowed to have spaces directly before or after the opening parenthesis" http://doc.silverstripe.org/framework/en/trunk/misc/coding-conventions
1872: [23:30:10] <ss23> irogue_: Yeah, saw that :P
1873: [23:30:11] <Colin[pi]> ^ really?
1874: [23:30:16] * adrexia <3's JSON
1875: [23:30:26] <Stomach> adrexia - oh I'm using jshint
1876: [23:30:28] <Stomach> damn names
1877: [23:30:31] <Stomach> >_<
1878: [23:30:34] <adrexia> except for not allowing comments. I need comments
1879: [23:30:35] <simon_w|work> adrexia, try commenting your config :p
1880: [23:30:47] <UncleCheese> simon_w|work if you're so allergic to whitespace sensitivity, i would think JSON would be your friend
1881: [23:30:56] <irogue_> Colin[pi]: yup, really
1882: [23:30:56] <UncleCheese> because surely you can't stand yaml
1883: [23:31:02] <ss23> JSON is nice for certain things, but configuration is not one of them
1884: [23:31:05] <adrexia> simon_w|work, bingo
1885: [23:31:07] <UncleCheese> An XML config layer! Who's with me?
1886: [23:31:20] <Colin[pi]> irogue_: *goes to open random class in SS3 core* *class contains if statements that break that rule*
1887: [23:31:20] <simon_w|work> UncleCheese, oh, yaml is worse. JSON shouldn't be required to be written by hand
1888: [23:31:35] <irogue_> Colin[pi]: fix them then :P
1889: [23:31:39] <adrexia> UncleCheese, I predict, noone
1890: [23:31:43] <UncleCheese> the quoting and commas are tedious
1891: [23:31:53] <irogue_> Colin[pi]: tbh there's still 1.0 era code in ss core, far before the coding standards
1892: [23:31:54] <Colin[pi]> irogue_: I hate without the space after the if: if($a != 2) {
1893: [23:31:58] <UncleCheese> well, xml is the only remaining choice for simon_w|work
1894: [23:31:58] <Colin[pi]> looks so ugly
1895: [23:32:01] <ss23> hum
1896: [23:32:07] <UncleCheese> unless
1897: [23:32:10] <simon_w|work> UncleCheese, I do my config in PHP
1898: [23:32:15] <UncleCheese> parse_ini_file
1899: [23:32:18] <ss23> Trying to paste some code into gist and it's not indentingy on my tabs
1900: [23:32:22] <ss23> i's converting them to newlines
1901: [23:32:23] <ss23> :/
1902: [23:32:28] <Colin[pi]> UncleCheese: XML config layer would be a really bad idea
1903: [23:32:33] <adrexia> Colin[pi], I usded to hate it with the space
1904: [23:32:40] <adrexia> I learnt to not mind it
1905: [23:32:52] <zippy> adrexia: thats how it all starts, soon you will have { on new lines
1906: [23:32:54] <UncleCheese> Colin[pi] go tell Magento
1907: [23:32:56] <adrexia> because the bigger enemy lies in those who use a new line
1908: [23:33:00] <zippy> :P
1909: [23:33:01] <adrexia> :P
1910: [23:33:12] <UncleCheese> can we all agree, fuck magento?
1911: [23:33:15] <Colin[pi]> UncleCheese: seriously.. XML was partly the reason why we have yaml and such now
1912: [23:33:23] <irogue_> obv we should be doing our config in JSONx, for more enterprise
1913: [23:33:26] <irogue_> http://pic.dhe.ibm.com/infocenter/wsdatap/v6r0m0/index.jsp?topic=%2Fcom.ibm.dp.xm.doc%2Fjson_jsonx.html
1914: [23:33:57] <adrexia> well, Json doesn't try to be smart
1915: [23:33:57] <UncleCheese> oh good lord
1916: [23:34:09] <adrexia> apparently that makes it a good security choice
1917: [23:34:13] <adrexia> it can't do much
1918: [23:34:22] <UncleCheese> i think if you're writing your config in php, you might as well use json
1919: [23:34:28] <simon_w|work> What I don't get is why we can't just use PHP for config. It's not communicating between things, so doesn't need to be a portable format.
1920: [23:34:52] <adrexia> talk to Hamish
1921: [23:34:53] <UncleCheese> the idea being that you just have a massive array sitting in a php file?
1922: [23:35:09] <simon_w|work> UncleCheese, or multiple files
1923: [23:35:14] <simon_w|work> Any you can use single quotes
1924: [23:35:17] <Colin[pi]> simon_w|work: I'm with you on this... I like php config
1925: [23:35:21] <Colin[pi]> it's fast as fuck too
1926: [23:35:25] <simon_w|work> And string concatenation!
1927: [23:35:29] <simon_w|work> And comments!
1928: [23:35:30] <irogue_> yeah, php config makes sense for php
1929: [23:35:34] <UncleCheese> and loops!
1930: [23:35:34] <Colin[pi]> the yaml layer is causing most of the performance issues in SS3 :P
1931: [23:35:50] <simon_w|work> Colin[pi], and Hamish doesn't like my fix it
1932: [23:35:51] <UncleCheese> Colin[pi] but why.. is it inherently that it's yaml?
1933: [23:35:52] <irogue_> json config makes sense for JS
1934: [23:35:53] <irogue_> etc
1935: [23:36:09] <simon_w|work> UncleCheese, it's the caching of the merging
1936: [23:36:14] <Colin[pi]> UncleCheese: overhead of parsing + it apparently needs a lot of optimising
1937: [23:36:30] <UncleCheese> right, but that has nothing to do with yaml.
1938: [23:36:35] <UncleCheese> php would have to be merged, too
1939: [23:36:48] <Colin[pi]> yeah but any time you use config that's not the native lang, you get overhead
1940: [23:36:53] <UncleCheese> my undertsanding is that Config::update() is the primary bottleneck
1941: [23:37:06] <Colin[pi]> nothing.. ever.. EVER.. will be as fast as raw php config
1942: [23:37:20] <UncleCheese> Colin[pi] true, but its' just a question as how much latency it's adding versus accessibility
1943: [23:37:21] * novaweb has joined #silverstripe
1944: [23:37:24] <Colin[pi]> mm
1945: [23:37:25] <UncleCheese> a lot of people like writing yaml
1946: [23:37:28] <UncleCheese> (and reading)
1947: [23:37:31] <Colin[pi]> I know, it's a balancing act
1948: [23:37:35] <UncleCheese> if it's a huge tradeoff in performance, it's not worth it
1949: [23:37:39] <UncleCheese> i don't know the answer to that
1950: [23:37:41] <simon_w|work> https://git.simon.geek.nz/simon_w/silverstripe-framework/commit/a4e6f935e5ae9d1512cb39df1452346d707a55d7
1951: [23:37:42] <Colin[pi]> I'm not actually a fan of yaml but I'm kinda old school :P
1952: [23:37:52] <jolene> i went through a massive bit of thinking about config over the last few months for a variety of projects i look after (a lot of them aren't web apps) and i've concluded yaml is infact the way and the light
1953: [23:37:56] <simon_w|work> YAML is horrible. Its whitespace model is worse than Python's
1954: [23:38:08] <jolene> i don't get how 'white space models' are even an issue
1955: [23:38:13] <jolene> everyones editors deal with everything
1956: [23:38:16] <jolene> (vim here)
1957: [23:38:41] <irogue_> simon_w|work: "it's not the way I would have done it" :P
1958: [23:38:45] <simon_w|work> jolene, when eveything else uses tabs for indentation, and YAML silently fails on a tab, it's a massive problem
1959: [23:38:47] <jolene> silverstripes yaml config is a bit fucked though i will say
1960: [23:38:52] <jolene> simon_w|work: disagree
1961: [23:39:01] <jolene> tabs are not used by 'everything'
1962: [23:39:11] <jolene> most vim programmers don't have vim sitting in tab mode
1963: [23:39:14] <simon_w|work> jolene, SilverStripe coding conventions say otherwise
1964: [23:39:44] <irogue_> yeah, mixed indentation within a project is a big ugh
1965: [23:39:47] <jolene> shrug, this is a pointless conversation, but in years i haven't seen everyone using tabs or python or yaml actually being major problems in day to day dev work because of their white space usage
1966: [23:39:54] <irogue_> "you have to use tabs over here, and spaces over here"
1967: [23:39:59] <adrexia> http://www.youtube.com/watch?v=LrW-HSHP0ws
1968: [23:40:03] <jolene> mixing identation is shit and should be either notified by the editor or seamlessly managed
1969: [23:40:08] <Stomach> irogue_ - you mean like SS coding standards? :P
1970: [23:40:21] <novaweb> Looking for a developer to implement a single payment page (dps) - Will need experience using SS payment and working with DPS hosted payment page.
1971: [23:40:32] <irogue_> Stomach: thats exactly what I'm saying
1972: [23:41:03] <Stomach> yeah I hate it
1973: [23:41:13] <irogue_> novaweb: http://www.silverstripehq.com/jobs/
1974: [23:41:15] <Stomach> spaces all the things!
1975: [23:41:18] <jolene> but i did run into problems with the SS yaml file and the parser not throwing sane errors, i looked at fixing it actually but the whole config thing was raising more questions than it was answering
1976: [23:41:31] <jolene> things should break with lots of noise and in a meaningful way
1977: [23:42:03] <novaweb> jolene can you not set your editor to indent with 3 spaces for yaml files only?
1978: [23:42:09] <novaweb> am I missing something?
1979: [23:42:24] <jolene> novaweb: as stated, white space has never been an issue for me in years of developing software (which includes yaml and python)
1980: [23:42:30] <irogue_> novaweb: I think you're addressing the wrong person there, that's exactly what jolene is saying
1981: [23:42:31] <jolene> someone else was having a QQ
1982: [23:42:33] <adrexia> I'm pretty sure indentation isn't the biggest probalem config systems have
1983: [23:42:42] <jolene> nope
1984: [23:42:44] <adrexia> just do the same as everything else in the file
1985: [23:43:00] <simon_w|work> Until you make a new file, and don't realise that it needs spaces
1986: [23:43:12] <adrexia> meh
1987: [23:43:19] <adrexia> life is hard
1988: [23:43:26] <simon_w|work> That's one of the most common problems people come in here with wrt the config
1989: [23:43:28] <jolene> the main problem is much the same as with templating languages, things like XXE from trying to do composit files or caching sanely and doing partial reconstructions
1990: [23:43:28] <adrexia> things don't work first itme
1991: [23:43:39] <irogue_> yeah, there is that "some people are n00bs" factor
1992: [23:43:41] <jolene> the SS config isn't a good example of yaml
1993: [23:43:46] * Gadzina quit (Quit: Connection closed for inactivity)
1994: [23:43:52] <jolene> i'm experienced using yaml and it broke in a non obvious way more than once
1995: [23:44:06] <irogue_> YAML, and the entire config system, are extremely confusing for people using SS as newbie devs
1996: [23:44:08] <jolene> it feels like a problem that still needs to be solved with SS
1997: [23:44:14] <adrexia> lets just agree that config of any sort is awesome
1998: [23:44:15] <simon_w|work> jolene, obviously not that experienced then :p
1999: [23:44:16] <adrexia> :P
2000: [23:44:20] <simon_w|work> The parsing is Symfony's
2001: [23:44:39] <jolene> simon_w|work: i'll put togeather a coherent complaint later this week if you like
2002: [23:44:46] <markcl> why yaml configs anyway, why not just use php?
2003: [23:44:48] <jolene> since i looked for a few hours at how to fix it sanely
2004: [23:44:52] <Colin[pi]> ^
2005: [23:44:56] <markcl> so there wont be any parsing errors
2006: [23:45:03] <simon_w|work> markcl, because Hamish didn't like it
2007: [23:45:07] <markcl> would be faster too
2008: [23:45:09] <jolene> config shouldn't be executable, config should be able to be cherry picked or transfered into different interpreters
2009: [23:45:15] <irogue_> ooo, lunch!
2010: [23:45:19] <adrexia> we have php, json, and yaml
2011: [23:45:22] <adrexia> because, why choose?
2012: [23:45:25] <Colin[pi]> I think SS, traditionally as a "developer's" cms/framework... the php config makes sense
2013: [23:45:28] * micmania1 quit (Quit: micmania1)
2014: [23:45:31] <jolene> config should be able to be inherited, composited, or partially constructed sanely
2015: [23:45:38] <markcl> laravel and codeigniter config are ph
2016: [23:45:40] <jolene> it's a big subject though
2017: [23:45:41] <markcl> *php
2018: [23:45:44] <adrexia> 18<28jolene> config shouldn't be executable
2019: [23:45:45] <adrexia> this
2020: [23:45:47] <markcl> they are very popular frameworks
2021: [23:45:55] <markcl> more popular than us, afaik
2022: [23:46:12] <adrexia> <Colin[pi]> I think SS, traditionally as a "developer's" cms/framework... the php config makes sense
2023: [23:46:12] <markcl> no one is complaining about their config files
2024: [23:46:14] <Colin[pi]> markcl: <@simon_w|work> markcl, because Hamish didn't like it <--- that's the reason :P
2025: [23:46:28] <adrexia> a developer should cope with whatever config system works best
2026: [23:46:40] <jolene> SS config is definitely a wart currently for me as someone that's used SS for like 4-5 projects but has used PHP for a decade off and on
2027: [23:46:46] <UncleCheese> I think a pluggable config would be ideal
2028: [23:46:48] <adrexia> perhaps if it were only "php" developer's framework...
2029: [23:46:58] <UncleCheese> there's no reason SS has to dictate that you have to use YAML or JSON or PHP
2030: [23:46:58] <jolene> and i don't think it's yaml's fault, the yaml config parser in SS is not a good thing though from reading it
2031: [23:47:04] <UncleCheese> it all comes back as a big hash table anyway
2032: [23:47:13] <jolene> json sucks as a config format, you can't use comments without breaking the yaml standard
2033: [23:47:21] <UncleCheese> ^ yeah
2034: [23:47:32] <UncleCheese> and god forbid I try to put a function in my JSON!
2035: [23:47:35] <adrexia> json is secure though
2036: [23:47:36] <UncleCheese> sheesh
2037: [23:47:39] * adrexia laughs
2038: [23:47:42] <jolene> seriously yaml is a good format, the SS config parser is not good, and over all it needs a coherent rethink
2039: [23:47:49] <adrexia> <UncleCheese> and god forbid I try to put a function in my JSON!
2040: [23:47:51] <adrexia> exactly!
2041: [23:48:02] <UncleCheese> i think using JSON for config kind of repurposes it
2042: [23:48:03] <adrexia> it won't do anything with it
2043: [23:48:05] <adrexia> it's te4xt
2044: [23:48:08] <adrexia> that'
2045: [23:48:10] <UncleCheese> it's like, isn't this a javascript object? wait..
2046: [23:48:16] <adrexia> is infact what is awesome about it
2047: [23:48:56] <simon_w|work> JSON should only be used for transferring data. It's not human friendly
2048: [23:49:02] <spronk> yaml is a nasty format
2049: [23:49:05] <adrexia> should use a csv config ;)
2050: [23:49:06] <spronk> with nasty syntax
2051: [23:49:12] <spronk> with nasty tries to be human readableness
2052: [23:49:20] <Colin[pi]> adrexia: oh no you dee-nt
2053: [23:49:23] <irogue_> oh god
2054: [23:49:26] <irogue_> fuck csv so hard
2055: [23:49:27] <adrexia> tots did
2056: [23:49:33] <simon_w|work> adrexia, please don't suggest that to Hamish :p
2057: [23:49:36] <Colin[pi]> LOL
2058: [23:49:41] * adrexia grins
2059: [23:49:43] <Colin[pi]> that, or .ini
2060: [23:49:52] <novaweb> this is better than watching the election debates...
2061: [23:49:55] <spronk> also
2062: [23:49:58] <adrexia> ruby config?
2063: [23:50:01] <adrexia> like sass
2064: [23:50:01] <spronk> SS most definitely should dictate a single config format
2065: [23:50:13] <adrexia> oh yeah - one more sort of config in the ss framework
2066: [23:50:18] <Colin[pi]> spronk: well they kinda are right? yaml
2067: [23:50:27] <adrexia> so we have php, json, yaml, and ruby
2068: [23:50:33] <adrexia> all in one framework
2069: [23:50:38] <Kingy> does src="//blah.blah" not working in IE8?
2070: [23:50:40] <simon_w|work> adrexia, don't forget XML
2071: [23:50:45] <adrexia> ...
2072: [23:50:48] <Colin[pi]> yeah I think it's a really bad idea to have a ton of different config formats
2073: [23:50:49] <simon_w|work> (Zend)
2074: [23:50:49] <adrexia> I was trying
2075: [23:50:52] <adrexia> :P
2076: [23:51:04] <adrexia> I don't care
2077: [23:51:11] <jolene> spronk: how is this config file bad? also you could use tabs or spaces, just use them consistently (not hard in99% of editors) https://gist.github.com/jotham/e23076e3c426a8c35202
2078: [23:51:12] <adrexia> different config, different things
2079: [23:51:31] <jolene> spronk: also it even inherits from a base config file trivially and breaks in a very clean easy to understand way
2080: [23:51:45] * joelpittet has joined #silverstripe
2081: [23:51:59] <jolene> and for example i can go something: [foo, bar, baz] and get a useful array like json or php
2082: [23:52:04] <UncleCheese> I don't think there's anything wrong with empowering the user to choose his own format
2083: [23:52:05] <spronk> do you really want me to go through the spiel of why yaml is bad? :)
2084: [23:52:14] <spronk> UncleCheese, because it's not about the user
2085: [23:52:20] <UncleCheese> Anymore than there's something wrong with allowing the user to use Twig
2086: [23:52:28] <spronk> frameworks should make it hard for developers to do strange things
2087: [23:52:48] <jolene> well i think at the very least the SS config system needs some love
2088: [23:52:59] <spronk> dictating a single configuration format might upset a few people but is far better in the long run, as it means anyone familiar with SS can be interchanged into another project and it'll share the same commonalities around config
2089: [23:53:00] <UncleCheese> so is the problem about the speed of the framework or the fact that the user has to learn a "confusing" markup language?
2090: [23:53:10] <Colin[pi]> UncleCheese: yes
2091: [23:53:18] <spronk> it will also mean documentation, examples etc are common to all SS projects
2092: [23:53:21] <jolene> json and xml are more confusing than yaml
2093: [23:53:24] <jolene> for a punter
2094: [23:53:25] <UncleCheese> but if that's the issue, then it's almost a non-starter, because not everybody will ever be happy
2095: [23:53:34] <adrexia> umm guys
2096: [23:53:36] <jolene> k&v pair makes sense in everyones head
2097: [23:53:37] <adrexia> we're developers
2098: [23:53:42] <adrexia> if you can't adapt...
2099: [23:53:44] <spronk> jolene, yaml isn't k&v
2100: [23:53:54] <jolene> spronk: my file was
2101: [23:53:58] <jolene> spronk: which is the point
2102: [23:53:59] <spronk> nope
2103: [23:54:00] <spronk> has sections
2104: [23:54:07] <jolene> you don't have to have sections mate
2105: [23:54:15] <UncleCheese> this is really fun
2106: [23:54:19] <UncleCheese> sorry i can't stay for the second act
2107: [23:54:28] <Colin[pi]> see this is what I dont understand... SS has always been a "dive in and write code" system, "can't find a module for what you want? should be pretty quick to write your own!"
2108: [23:54:36] <Colin[pi]> for me, the php config gels with that
2109: [23:54:50] <Colin[pi]> but eh.. yaml just feels icky for me
2110: [23:54:50] <mirrors> UncleCheese: I have updated to the latest version of your module and my fields are still not being shown in the page history...yes I have reloaded the page. I have even flushed. I can see that I am loading the new JS
2111: [23:54:55] <spronk> for the types of config that SS YAML gets used for, PHP is absolutely fine
2112: [23:55:10] <Colin[pi]> spronk: mm
2113: [23:55:15] <spronk> and in fact i'd even say better
2114: [23:55:19] <Colin[pi]> spronk: and dat speed
2115: [23:55:19] <UncleCheese> mirrors any JS errors? I was able to replicate the issue before the fix, and it was resolved after the fix
2116: [23:55:25] <spronk> because it's slightly more verbose
2117: [23:55:30] <spronk> and actually tells you waht the fuck is going on
2118: [23:55:50] <spronk> whereas the YAML configs have semantics that aren't defined in the file, and you have to know more about SS and how the site is structured to understand the config
2119: [23:55:51] <spronk> which is bad.
2120: [23:55:58] <Colin[pi]> ^
2121: [23:56:05] <Colin[pi]> yeah I think this is why it jars with me
2122: [23:56:29] <spronk> there are arguments for having config separate from code, and non-executable
2123: [23:56:39] <spronk> but those are mainly for deployment specific stuff
2124: [23:56:40] <mirrors> UncleCheese: no JS errors...i am using ->displayIf("HeaderImageSource")->isEqualTo("Custom")->end() on both an uploadfield and a textfield...where HeaderImageSource is a optionsetfield
2125: [23:56:51] <spronk> ss yaml doesn't tend to have too much deployment related stuff in it
2126: [23:56:53] <spronk> it's all hard wiring
2127: [23:57:18] <UncleCheese> yeah, i don't think uploadfields take .readonly classes
2128: [23:57:50] <adrexia> <Colin[pi]> see this is what I dont understand... SS has always been a "dive in and write code" system, "can't find a module for what you want? should be pretty quick to write your own!"
2129: [23:57:50] <adrexia> <Colin[pi]> for me, the php config gels with that
2130: [23:57:50] <adrexia> <Colin[pi]> but eh.. yaml just feels icky for me
2131: [23:57:59] <Colin[pi]> uh oh, here it comes
2132: [23:58:00] <adrexia> yaml *looks* nicer to me
2133: [23:58:02] <Colin[pi]> ;D
2134: [23:58:05] <UncleCheese> might have to update that selector to do something more inclusive.. i'm not sure.. have a play with it and see how you get on
2135: [23:58:07] <adrexia> things are ordered and can be modular
2136: [23:58:19] <Colin[pi]> adrexia: can be in php too if you're neat :P
2137: [23:58:30] <spronk> yeah...
2138: [23:58:32] <mirrors> UncleCheese: eitherway I added a textfield...so it should work for that
2139: [23:58:36] <adrexia> Colin[pi], yes, but face it - php devs
2140: [23:58:37] <adrexia> :P
2141: [23:58:43] <spronk> php arrays would be better than yaml
2142: [23:58:52] <jolene> i think the php config in SS is better than the yaml ocnfig but i think the problem lays with actually whoever came up with the yaml schema and whoever wrote the fucking disaster of a parser
2143: [23:58:53] <spronk> i mean, lets be honest
2144: [23:58:55] <UncleCheese> it should do... i have the exact same set up.. an option field talking to a text field
2145: [23:58:57] <jolene> no offence to anyone here
2146: [23:58:58] <spronk> how many PHP devs know YAML synatx?
2147: [23:59:04] <adrexia> ok, that's harsh... but people who are drawn to a language that has so much freedom tend to make messy stuff
2148: [23:59:07] <jolene> there is very little syntax spronk
2149: [23:59:11] <jolene> it could just be k&v
2150: [23:59:13] <jolene> that's my point
2151: [23:59:17] <jolene> you have to choose a sane schema
2152: [23:59:17] <spronk> yeah..
2153: [23:59:19] <Colin[pi]> adrexia: I like to think I'm pretty tidy.. ;_;
2154: [23:59:41] <adrexia> Colin[pi], I don't doubt it
2155: [23:59:47] <Colin[pi]> ;)
2156: [23:59:51] <adrexia> but it imposes less of a structure on you

These logs were automatically created by ss-log on irc.freenode.net.