#silverstripe IRC Log

IRC log for 2 May 2014

All timestamps are in UTC.

1: [00:08:52] <antmas> fook
2: [00:09:01] <antmas> retaining pagination on back is tough :(
3: [00:16:51] <antmas> All the docs I can find on it (.net btw) are written by some indian and described in 1123324523 lines of code
4: [00:16:58] <antmas> :/
5: [00:18:52] * gelignite quit (Quit: http://bit.ly/nkczDT)
6: [00:21:02] * UncleCheese quit (Quit: UncleCheese)
7: [00:26:02] * Motoservo_ has joined #silverstripe
8: [00:26:58] * Motoservo quit (Ping timeout: 240 seconds)
9: [00:26:58] * Motoservo_ is now known as Motoservo
10: [00:30:38] * joelpittet quit ()
11: [00:46:53] <Colin[pi]> back
12: [00:47:17] <antmas> Colin[pi]: did the kiss work?
13: [00:47:21] * jenniferaslan quit (Quit: jenniferaslan has left the room)
14: [00:47:30] <Colin[pi]> totally
15: [00:47:35] <antmas> win
16: [00:48:04] <Colin[pi]> nfp organisation though so prolly not a lot of $$
17: [00:48:09] <Colin[pi]> :\
18: [00:50:03] <Colin[pi]> hmm I should see about roaming on my phone before I go to NZ
19: [00:50:13] * Selay has joined #silverstripe
20: [00:50:51] <Selay> Hi guys, how do you set upload field to rename files to certain pattern or date-time or hash etc?
21: [00:51:06] <Selay> Now it is an issue if the same name file is uploaded
22: [00:52:15] <Selay> It is obvious that file can be different although their name is same. So, on upload it should rename it so that files never overwrites existing one.
23: [00:57:15] * Ryan-Toast quit (Quit: Ryan-Toast)
24: [01:10:48] * an_Eskimo quit (Ping timeout: 240 seconds)
25: [01:15:33] * UncleCheese has joined #silverstripe
26: [01:17:33] * Ryan-Toast has joined #silverstripe
27: [01:24:18] * PapaBearNZ quit (Ping timeout: 240 seconds)
28: [01:28:01] * an_Eskimo has joined #silverstripe
29: [01:32:14] * jedateach has joined #silverstripe
30: [01:34:32] <jordanmk> hey guys
31: [01:35:06] <jordanmk> i'm working on code written by a previous developer, come across a strange bit of code, not quite sure its purpose: http://pastebin.com/uJYz3YPh
32: [01:35:14] <jordanmk> any ideas why you would want to do that?
33: [01:36:59] <Stomach> because he didnt want the previous information in the post request for credit card info set into the form when it loads
34: [01:37:21] <Stomach> in case of error or something on the redirect back
35: [01:38:07] <spronk0> mm
36: [01:38:51] * jedateach quit (Ping timeout: 250 seconds)
37: [01:39:58] <jordanmk> don't quite understand what you mean
38: [01:41:18] <antmas> Colin[pi]: still though, good score :)
39: [01:41:38] <antmas> I just picked up an ecomm site and a restaurant
40: [01:42:27] <Colin[pi]> nice!
41: [01:44:05] <antmas> restaurant should be interesting as they want to be able to view loyalty points from the cards used over their POS
42: [01:48:00] <Colin[pi]> antmas: will that be an SS project or other?
43: [01:48:37] * babak quit (Quit: Connection closed for inactivity)
44: [02:31:47] <antmas> Colin[pi]: that 1 will be yeah
45: [02:31:59] <antmas> ecomm I'll prbably do in Shopify
46: [02:33:52] <Stomach> swipestripe :P
47: [02:40:01] <antmas> how is that now, Stomach ? been a while since I used it :P
48: [02:40:19] <Stomach> its okay, im actually just working on a default so us
49: [02:40:32] <Stomach> its a fairly heavily modified version now
50: [02:40:42] <Stomach> i should get around to committing it back to the core
51: [02:42:32] <antmas> for a simple ecomm site, should be OK right?
52: [02:43:56] <antmas> Shopify would be so fast though :P
53: [02:45:44] <Colin[pi]> I just finished an ss-shop site... yeaah prolly will do shopify next ;P
54: [02:46:54] <antmas> creaitng themes sounds actually kinda fun too
55: [02:46:59] <antmas> creating*
56: [02:48:40] <antmas> the POS system would be a good selling point too, for new small businesses
57: [02:49:22] <Colin[pi]> mm
58: [02:50:50] <Ryan-Toast> I can’t see POS without thinging “Piece of Shit”
59: [02:50:57] <antmas> same :P
60: [02:51:18] * Selay quit (Ping timeout: 240 seconds)
61: [02:51:22] <Colin[pi]> haha yeah
62: [02:52:43] <antmas> anyone dealt with POS systems before?
63: [02:57:24] <antmas> No? Good. Stay away from them.
64: [03:03:48] * wracu quit (Ping timeout: 240 seconds)
65: [03:05:00] <spronk0> heh
66: [03:05:00] <spronk0> yeah
67: [03:05:03] * spronk0 agrees
68: [03:06:20] * ApacheTiger has joined #silverstripe
69: [03:06:37] <ApacheTiger> Hello
70: [03:06:55] <ApacheTiger> Anyone here for a few quick questions concerning forms?
71: [03:07:15] <ApacheTiger> Actually multi-step forms using a progress bar.
72: [03:07:34] <Colin[pi]> ApacheTiger: sure, I just did a site with a multi-step form
73: [03:07:51] <ApacheTiger> Thank you.
74: [03:08:15] <ApacheTiger> How did you implement it? Did you do a post or use javascript to activate another tab using a jquery tab?
75: [03:08:54] <ApacheTiger> Also did you do it as a separate template and bypass building the form within the controller?
76: [03:08:54] <Colin[pi]> ApacheTiger: I did a series of form actions (via post) and redirect to a get (next step)
77: [03:09:13] <Colin[pi]> ApacheTiger: yes, I used a custom form class and template
78: [03:09:38] <ApacheTiger> So each page was a separate extension of a Page
79: [03:09:57] <ApacheTiger> Or did you just add new methods to the same controller?
80: [03:10:04] <Colin[pi]> new methods to same controller
81: [03:10:11] <Colin[pi]> keeps it all in one spot
82: [03:10:33] <Colin[pi]> originally I was posting and then rendering the next step, but simon_w quite rightly told me I was being a noob
83: [03:10:43] <Colin[pi]> so then I modified to redirect to get the next step
84: [03:11:09] <ApacheTiger> So you didn’t post directly to the next form?
85: [03:11:20] <ApacheTiger> You processed in between?
86: [03:11:30] <Colin[pi]> no, because then you get the "go back, do you really want to post again" browser prob
87: [03:11:57] <Colin[pi]> so the post methods make changes to the model, and then at the end of the method, it does a ::redirect($this->Link('stepname'));\
88: [03:12:16] <ApacheTiger> Perfect, thank you.
89: [03:12:28] <ApacheTiger> I was thinking that was what I would have to do.
90: [03:12:51] <ApacheTiger> I only need one page though right?
91: [03:12:55] <Colin[pi]> so I had action methods like "doBookingNext", "doSessionNext", "doPaymentNext" etc.
92: [03:13:02] <Colin[pi]> prolly not perfect but it works
93: [03:13:06] <Colin[pi]> yeah I had one page
94: [03:13:08] <ApacheTiger> Was it all on one page.
95: [03:13:16] <Colin[pi]> yep I made a "BookingPage" class
96: [03:13:45] <Colin[pi]> it's controller contains all the action methods and form stuff
97: [03:14:03] <Colin[pi]> I actually had different form objects for each page
98: [03:14:12] <ApacheTiger> Did it look like this? /signup/step1 /signup/step2?
99: [03:14:32] <Colin[pi]> you can see it here: https://www.jumpnputt.com.au/book-now/wagga-wagga
100: [03:14:34] <ApacheTiger> signup being the page using the BookingPage class?
101: [03:14:46] * cloph has joined #silverstripe
102: [03:14:51] <Colin[pi]> click on book and you'll see the next step
103: [03:14:57] <Colin[pi]> then you get next and prev buttons
104: [03:15:04] <ApacheTiger> Excellent, appreciate it.
105: [03:15:06] <Colin[pi]> (or back)
106: [03:15:11] * cloph_away quit (Ping timeout: 252 seconds)
107: [03:15:25] <ApacheTiger> Thank you.
108: [03:15:41] <Colin[pi]> np, like I said it may not be the best way (is there ever?) but it worked :)
109: [03:16:18] <ApacheTiger> nice site, btw
110: [03:16:32] <Colin[pi]> eh it's ok, thanks.. I think the design was a bit bland, but they liked it
111: [03:16:45] <ApacheTiger> simple and clean
112: [03:16:54] <ApacheTiger> perfect for putt putt
113: [03:17:14] <Colin[pi]> yeah he said to me "I like very minimal, colours on white bkg" I'm like "ok!"
114: [03:17:15] <ApacheTiger> thanks again sir.
115: [03:17:18] <Colin[pi]> np
116: [03:20:57] <ApacheTiger> is wagga-wagga your page and controller and session and SessionForm your methods?
117: [03:22:05] <Colin[pi]> book-now is handled by BookingPage_Controller, and it has url_handlers to accept '$Location!/$Action'
118: [03:22:19] <Colin[pi]> $Location is wagga-wagga, and then the action comes after
119: [03:22:53] <Colin[pi]> so for session, it has: '$Location/session/$Date/$Begin'=>'doSession'
120: [03:23:18] <ApacheTiger> I see, sort of a custom route.
121: [03:23:22] <Colin[pi]> yeah
122: [03:23:28] <ApacheTiger> cool thanks
123: [03:24:09] * ApacheTiger has left #silverstripe
124: [03:26:32] * travis-ci has joined #silverstripe
125: [03:26:32] <travis-ci> [travis-ci] silverstripe/silverstripe-framework#2346 (3.0 - 6bc9cfe : Damian Mooyman): The build was broken.
126: [03:26:32] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-framework/compare/c87373d0958a...6bc9cfe46d2e
127: [03:26:32] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-framework/builds/23092141
128: [03:26:32] * travis-ci has left #silverstripe
129: [03:31:07] <UncleCheese> finally found proper Wine Gums
130: [03:31:18] <UncleCheese> Nic Nacs on Cuba Street has 'em.
131: [03:31:43] <antmas> <3 wind gums
132: [03:31:45] <antmas> wine*
133: [03:32:02] <simon_w> Yay, bundaberg exists here too
134: [03:34:00] <UncleCheese> ha
135: [03:34:04] <UncleCheese> should do!
136: [03:34:21] <jordanmk> oh my fucking god
137: [03:34:30] <antmas> I thought bundaberg WAS australian?
138: [03:34:35] <UncleCheese> it is
139: [03:34:41] <antmas> huh
140: [03:34:43] <antmas> :/
141: [03:34:50] <UncleCheese> you'd just think it was kiwi based on how much it's consumed here
142: [03:34:58] <antmas> yeah I guess
143: [03:35:48] <jordanmk> just spent an hour trying to fix a problem where an AJAX form submit would produce "Error 500: Internal Server Error", looked in all the wrong places, finally figured out that the entire error was because I had a did <% control $Donations %>...<% end_control %> instead of <% control Donations %>...<% end_control %>
144: [03:35:53] <simon_w> It's like New Zealand isn't even the main producer of kiwifruit
145: [03:35:54] <jordanmk> thanks SS 2.4!
146: [03:37:27] <antmas> I'ts pretty astounding that a $ in a control tag can cause a 500 error :P
147: [03:37:42] <simon_w> antmas, means there's an extra }
148: [03:38:10] <jordanmk> i know antmas, doesn't make sense to me
149: [03:38:38] <jordanmk> but with the $, form fails to submit and console lists a 500 Internal Server Error. remove the $ and everything works perfectly
150: [03:39:04] <antmas> http://www.insult-generator.org/
151: [03:39:14] <jordanmk> wouldn't be so mad if i hadn't spent an hour playing around with the actual code of the form, the controller, etc. trying to figure out the issue, only to find it was caused by something that stupid and simple
152: [03:47:07] <antmas> Ryan-Toast: who was it that came over from SS?
153: [03:47:28] <Ryan-Toast> antmas: Janine
154: [03:47:31] <Ryan-Toast> jannine
155: [03:54:14] <antmas> Ryan-Toast: Titanfall get stale for you kinda quick?
156: [03:56:10] <simon_w> Oh man, github is even slower from here
157: [03:56:14] * simon_w blames ss23
158: [04:00:02] <ss23> :(
159: [04:01:04] <Colin[pi]> poor ss23
160: [04:01:20] <Colin[pi]> gets blamed for everything
161: [04:01:21] <Colin[pi]> lol
162: [04:02:28] <simon_w> Well, he is the only SS employee in here :p
163: [04:02:29] * antmas holds ss23
164: [04:03:10] <Colin[pi]> madmatt isnt?
165: [04:04:51] <antmas> used to be
166: [04:06:27] <spronk0> kek
167: [04:06:32] <spronk0> that bloody ss23
168: [04:06:36] <spronk0> breaks everything
169: [04:07:44] * ss23 dies
170: [04:07:53] <ss23> antmas: he used to be, and now he is again
171: [04:07:54] <ss23> :P
172: [04:07:55] <ss23> he left then came bakc
173: [04:07:57] <ss23> same with mandrew
174: [04:08:01] <antmas> oh
175: [04:08:02] <antmas> haha
176: [04:08:37] <Colin[pi]> couldn't endure being away, eh?
177: [04:09:59] * Ryan-Toast quit (Quit: Ryan-Toast)
178: [04:30:44] * pippy_ quit (Quit: Page closed)
179: [04:34:16] * nickmolhoek quit (Quit: nickmolhoek)
180: [04:39:49] * babak has joined #silverstripe
181: [04:41:37] * antmas has left #silverstripe
182: [04:54:03] * Error404NotFound has joined #silverstripe
183: [04:54:48] * an_Eskimo quit (Ping timeout: 240 seconds)
184: [04:55:45] * Error404NotFound quit (Remote host closed the connection)
185: [05:01:31] * UncleCheese quit (Quit: UncleCheese)
186: [05:02:01] * travis-ci has joined #silverstripe
187: [05:02:01] <travis-ci> [travis-ci] silverstripe/silverstripe-framework#2425 (pulls/authenticate-backuurl - c80b643 : Ingo Schommer): The build failed.
188: [05:02:01] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-framework/compare/3b5c18ab4786^...c80b6438bc23
189: [05:02:01] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-framework/builds/24240496
190: [05:02:01] * travis-ci has left #silverstripe
191: [05:03:44] * Shrike_Finland has joined #silverstripe
192: [05:05:27] * Shrike_Finland quit (Client Quit)
193: [05:16:26] * Turnerj has joined #silverstripe
194: [05:16:33] * bridgetm quit ()
195: [05:17:10] <Turnerj> You know how there is an "onAfterWrite" method, is there an "onAfterRead" method or equivalent?
196: [05:17:33] <Turnerj> Need to write a dataextension to modify fields before on write and on read
197: [05:17:51] * UncleCheese has joined #silverstripe
198: [05:18:05] * FrozenFire quit (Quit: There's no place like ~)
199: [05:18:28] <simon_w> Turnerj, so you want to change things as an object's read from the database?
200: [05:18:37] <Turnerj> Yeah
201: [05:18:53] <Turnerj> But I don't want to extend the object, just a dataextension
202: [05:19:12] <Turnerj> If I was extending the object, I know I can just override getField and setField
203: [05:20:12] <Turnerj> I looked into augmentSQL though it isn't that I want to modify the query
204: [05:22:39] * FrozenFire has joined #silverstripe
205: [05:27:13] <simon_w> So can you just add getBlah and setBlah?
206: [05:27:56] <Turnerj> Not really
207: [05:28:23] <Turnerj> I need it to be getField and setField so that every single place that calls getField and setField are affected
208: [05:28:47] <Turnerj> Basically, I'm trying to encrypt data being stored for a module but I don't want to modify the module
209: [05:29:15] <Turnerj> If there was a patch to the DataObject class that allowed an extension to getField and setField, that might solve my issue
210: [05:34:52] * Shrike_Finland has joined #silverstripe
211: [05:38:28] * travis-ci has joined #silverstripe
212: [05:38:28] <travis-ci> [travis-ci] silverstripe/silverstripe-framework#2427 (3.1 - 48f6566 : Simon Welsh): The build is still failing.
213: [05:38:28] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-framework/compare/73b2c7fe3598...48f65669c8bb
214: [05:38:28] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-framework/builds/24241879
215: [05:38:28] * travis-ci has left #silverstripe
216: [05:42:32] <Colin[pi]> simon_w: FIX IT FIX IT FIX IT FIX IT FIX IT
217: [05:48:24] * UncleCheese quit (Quit: UncleCheese)
218: [05:54:40] * Shrike_Finland quit (Quit: Leaving.)
219: [05:57:00] <jordanmk> hey guys. i'm getting a strange error when clicking on an account in the Security page of the CMS in SS 3
220: [06:00:49] <spronk0> whats the error?
221: [06:01:38] * jordanmk has joined #silverstripe
222: [06:01:56] <jordanmk> just got disconnected from SS, not sure if my previous messages got through so i'm gonna copy/paste
223: [06:02:12] <jordanmk> hey guys. i'm getting a strange error when clicking on an account in the Security page of the CMS in SS 3
224: [06:02:15] <jordanmk> PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 11328 bytes) in ...../httpdocs/framework/filesystem/GD.php on line 51
225: [06:02:34] <jordanmk> tried doing /dev/build?flush=all and regular ?flush=all, didn't help
226: [06:04:31] <simon_w> Colin[pi], NO, U
227: [06:04:42] <Turnerj> @jordanmk sounds like you have an image in the site that is huge. I only see that error when SS has to resize large images (or simply that the RAM allocated to PHP is set too low)
228: [06:04:51] <Colin[pi]> simon_w: NU UH
229: [06:09:02] * Ryan-Toast has joined #silverstripe
230: [06:09:05] * Ryan-Toast quit (Client Quit)
231: [06:12:46] <jordanmk> Turnerj, hmm yeah, it looks like it's a result of members being able to upload an image during registration and there are currently no checks for max file size of their upload
232: [06:14:42] * Turnerj quit (Quit: Page closed)
233: [06:17:15] <spronk0> fuck digiweb are useless hsot
234: [06:17:16] <spronk0> hosts
235: [06:17:17] <spronk0> for silverstripe
236: [06:19:50] <Colin[pi]> in what way?
237: [06:21:10] <eagles0513875> hey guys im workign on putting a site together and I would like to add a logo to the header of the site. I cant seem to do that from the CMS itself where should I look? woudl the page template be the one I need to modify?
238: [06:24:53] <Colin[pi]> eagles0513875: you'd need to edit the templates within the themes folder
239: [06:25:17] <eagles0513875> Colin[pi]: ok thanks :) any particular directory that the media such as images should be uploaded or can i upload them via the CMS and then modify the template
240: [06:25:38] <Colin[pi]> eagles0513875: usually I add images for the template just under an images folder within the theme
241: [06:25:45] <Colin[pi]> i.e. images for the design
242: [06:25:50] <Colin[pi]> like logos etc.
243: [06:25:59] <eagles0513875> Colin[pi]: ok
244: [06:26:00] <spronk0> ^^ they run mode_security
245: [06:26:02] <spronk0> and it fucks with ss.
246: [06:26:08] <Colin[pi]> spronk0: :\
247: [06:26:11] <spronk0> and then their support suggests that the site code should be updated.
248: [06:26:15] <spronk0> after 2 days of open ticket.
249: [06:26:17] <spronk0> ...
250: [06:26:22] <Colin[pi]> weaksauce
251: [06:26:25] <eagles0513875> spronk0: do you know how to administer linux? i can give you a top notch vps provider
252: [06:26:47] <spronk0> eagles0513875: yeah, this is a client's existing hosting
253: [06:26:54] <eagles0513875> omg lol
254: [06:27:01] <Colin[pi]> spronk0: wait is it shared hosting?
255: [06:27:03] <eagles0513875> why not get a vps and host it for them charge them x per month
256: [06:27:06] <spronk0> yeah, shared hosting
257: [06:27:09] <Colin[pi]> oh dear god
258: [06:27:12] <eagles0513875> shared hosting = FAILED HOSTINg
259: [06:27:17] <Colin[pi]> yeah that's gonna be shitty for SS :(
260: [06:27:19] <spronk0> i don't host for anyone, too much of a hassle
261: [06:27:34] <eagles0513875> spronk0: i would suggest a new provider to the client
262: [06:27:40] <eagles0513875> and you admin the server for them
263: [06:28:01] <spronk0> mm
264: [06:28:04] <Colin[pi]> I set myself up some linodes, love the control I have :D
265: [06:28:14] <eagles0513875> Colin[pi]: +1 to that
266: [06:28:18] <spronk0> i dont want to admin anything but i did suggest getting something at least vps-level
267: [06:28:22] <eagles0513875> Colin[pi]: love the new ssd setup too
268: [06:28:38] <eagles0513875> spronk0: 15 euros a month and ill host for them lol
269: [06:28:39] <spronk0> i usually recommend wiredtree for clients
270: [06:28:53] <spronk0> expensive, but managed
271: [06:28:54] <eagles0513875> spronk before you recommend them check out linode.com
272: [06:29:02] <eagles0513875> 20 USD a month on the cheapest node
273: [06:29:02] <spronk0> linode is bare metal :p
274: [06:29:05] * travis-ci has joined #silverstripe
275: [06:29:05] <travis-ci> [travis-ci] silverstripe/silverstripe-framework#2431 (3.1 - 7a772b2 : Damian Mooyman): The build was fixed.
276: [06:29:05] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-framework/compare/48f65669c8bb...7a772b2480fc
277: [06:29:05] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-framework/builds/24243582
278: [06:29:05] * travis-ci has left #silverstripe
279: [06:29:09] <eagles0513875> spronk0: yep :d
280: [06:29:13] <eagles0513875> :D but they are awesome
281: [06:29:18] <spronk0> yeah
282: [06:29:27] <spronk0> but not really very good for clients
283: [06:29:27] <eagles0513875> oh shit i need to head to the bank lol
284: [06:29:42] <eagles0513875> spronk0: setup something like the open source ispcp panel for them lol
285: [06:29:49] <eagles0513875> ispcp = alternative open source version to cpanel imho
286: [06:29:57] <spronk0> yeah..
287: [06:30:19] <spronk0> wiredtree give you cpanel if you want, $40/month or so
288: [06:30:35] <spronk0> 1.5GB/100GB ssd-accel space, 4TB bandwidth
289: [06:30:38] <eagles0513875> over priced im sorry for crap panel running on ancient centos
290: [06:30:52] <spronk0> or you can get pure SSD, 2GB/40GB/4TB for $55/mo
291: [06:30:54] <eagles0513875> lindoe is fully ssd so i have 48gb full ssd space
292: [06:30:59] <eagles0513875> and im only paying 20
293: [06:31:07] <Colin[pi]> I wish they had an AU DC
294: [06:31:09] <spronk0> yeah, but you're fully responsible for managing it
295: [06:31:16] <spronk0> i used to use linode
296: [06:31:27] <Colin[pi]> spronk0: they have managed server plans now, for most cost of course
297: [06:31:35] <spronk0> but with the time it takes to do the management part it just isn't really worth it for me
298: [06:31:46] <spronk0> they also had some security issues back a few years ago that made me question their entire org
299: [06:31:53] <eagles0513875> spronk0: they have managed services but that is an additional 100 USD
300: [06:32:03] <spronk0> eagles0513875: exactly, wiredtree's are managed for a lot less than that
301: [06:32:32] <spronk0> linode are OK
302: [06:32:36] <spronk0> DO are probably > them these days
303: [06:37:55] <eagles0513875> doubt it spec wise you cant compare
304: [06:38:02] <eagles0513875> anyway ill be back later to continue reading through the tutorials
305: [06:38:31] <spronk0> do and linode are basicalyl identical for specs, just that with DO you can get $5 and $10 lower end boxes
306: [06:56:12] * travis-ci has joined #silverstripe
307: [06:56:12] <travis-ci> [travis-ci] silverstripe/silverstripe-framework#2435 (3.1 - d5b76a8 : Hamish Friedlander): The build passed.
308: [06:56:12] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/silverstripe-framework/compare/7a772b2480fc...d5b76a87d08c
309: [06:56:12] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/silverstripe-framework/builds/24244237
310: [06:56:12] * travis-ci has left #silverstripe
311: [06:59:22] * anselmdk has joined #silverstripe
312: [07:09:51] * Shrike_Finland has joined #silverstripe
313: [07:16:40] <eagles0513875> can anyone tell me the first tutorial what this means The base_tag variable is replaced with the HTML base element.
314: [07:17:07] <simon_w> eagles0513875, <% base_tag %> becomes <base href="http://your-site.com/">
315: [07:24:40] <eagles0513875> simon_w: is that changed via the CMS or i have to manually change it in the template?
316: [07:28:17] * simon_w|air has joined #silverstripe
317: [07:28:42] <eagles0513875> wb simon_w|air
318: [07:28:59] <jordanmk> anyone got any experience with receiving PayPal IPN messages on a SS site?
319: [07:29:34] <jordanmk> i can't seem to get my site processing IPN messages
320: [07:32:53] <simon_w|air> eagles0513875, it's all automatic
321: [07:33:08] <eagles0513875> ok perfect thanks for clarifying :)
322: [07:33:42] <eagles0513875> simon_w|air: quick question regarding addons those then can be tweaked to suite the needs of ones website corect
323: [07:34:07] <simon_w|air> Style-wise? Yes
324: [07:36:17] <eagles0513875> ok and im seeing they have to be installed via composer??? can the code just not be downloaded and put into a particular directory
325: [07:36:54] <simon_w|air> You can just download the module and put the folder in your root directory
326: [07:39:53] <eagles0513875> simon_w: when you say root directory if i have the site at /var/www/SITE i put it in /var/www/site correct
327: [07:40:09] <simon_w|air> Yup
328: [07:40:16] <eagles0513875> kool ty :)
329: [07:45:08] * stnvh has joined #silverstripe
330: [07:47:04] * stnvh quit (Client Quit)
331: [07:47:56] * svandragt has joined #silverstripe
332: [07:50:00] <eagles0513875> simon_w|air: your opinion on using addons do you think they are a good idea or is coding your own sometimes better?
333: [07:57:11] <jordanmk> hey guys
334: [07:57:43] <jordanmk> i have a hosted paypal button that is only visible to registered members of my site, which after payment completion, posts an IPN message back to my website
335: [07:58:04] <jordanmk> how can i identify which user made the payment when i process the IPN message?
336: [07:58:31] <jordanmk> i can receive the IPN message but not sure how to identify the member that is responsible for it
337: [07:59:33] <simon_w> eagles0513875, for someone that doesn't understand SS that well, they're a good idea
338: [08:00:03] <eagles0513875> simon_w: what worries me though is eventual abandonment by the maintainer
339: [08:00:06] <simon_w> jordanmk, are you able to add some context to the message? Like include the user's ID in the response?
340: [08:02:35] <jordanmk> simon_w, the issue is that i'm using a hosted PayPal button, so i can't put any information identifying the user in the button
341: [08:03:04] <jordanmk> if i wasn't using a hosted button, i would just set a custom variable which would get passed to PayPal, and then PayPal would pass that through in the IPN message and I could identify the member based on that
342: [08:03:13] <simon_w> jordanmk, if it's PayPal that talks to your server, rather than the user's browser, you're going to need to change that
343: [08:03:23] * stnvh has joined #silverstripe
344: [08:03:24] <jordanmk> what do you mean
345: [08:04:01] <simon_w> jordanmk, how is the IPN message sent?
346: [08:04:11] <simon_w> User redirect, or PayPal sends it directly?
347: [08:04:32] <jordanmk> paypal posts directly to a URL of the website
348: [08:04:48] <simon_w> Then you're going to have to change the button
349: [08:05:00] <jordanmk> i previously had it by user redirect, and it was all working fine, but if the user makes the payment and then doesn't return to the site, the website never processes the payment
350: [08:05:30] <jordanmk> so the solution is to use IPN messages so that the website is notified of the payment as soon as it's made, regardless of whether the user returns to the site after payment
351: [08:05:53] <jordanmk> but now i have the problem of not being able to identify the user who made the payment when i receive an IPN message direct from PayPal
352: [08:07:57] <simon_w> jordanmk, you're going to have to change the button so you can send custom data back, even if it is just changing the URL the IPN gets sent to
353: [08:08:53] <jordanmk> not sure what you mean, are you saying i can't use a hosted button?
354: [08:09:20] * Shrike_Finland quit (Quit: Leaving.)
355: [08:12:08] * kinglozzer has joined #silverstripe
356: [08:12:47] * desperate has joined #silverstripe
357: [08:13:33] <desperate> What's the syntax if I want to add several filters to a get::
358: [08:14:01] <simon_w> jordanmk, basically. Unless you use the PayPal API to dynamically generate a hosted button for each user.
359: [08:14:17] <simon_w> desperate, ->fitler(array('A' => $v, 'B' => $v2))
360: [08:14:27] <desperate> thanks simon
361: [08:18:37] <jordanmk> hmm, alright
362: [08:19:55] * HyperMul1et has joined #silverstripe
363: [08:21:27] * HyperMullet quit (Ping timeout: 265 seconds)
364: [08:21:45] * ajmitch_ has joined #silverstripe
365: [08:23:04] * stnvh_ has joined #silverstripe
366: [08:23:27] * babak_ has joined #silverstripe
367: [08:25:21] * mrzero_ has joined #silverstripe
368: [08:25:21] * mrzero_ quit (Changing host)
369: [08:25:21] * mrzero_ has joined #silverstripe
370: [08:25:43] * Zauberfi1ch has joined #silverstripe
371: [08:29:08] * simon_w|air quit (Quit: This computer has gone to sleep)
372: [08:29:14] * Kapdap_ has joined #silverstripe
373: [08:30:42] * Pybaconk has joined #silverstripe
374: [08:30:53] * svandragt has joined #silverstripe
375: [08:31:17] <svandragt> morning
376: [08:31:29] <Pybaconk> KiaOra
377: [08:33:31] * wmk has joined #silverstripe
378: [08:33:47] * svandragt quit (Client Quit)
379: [08:34:38] * Tanger quit (*.net *.split)
380: [08:34:39] * Stomach quit (*.net *.split)
381: [08:34:39] * Kapdap quit (*.net *.split)
382: [08:34:39] * mrzero quit (*.net *.split)
383: [08:34:45] * mrzero_ is now known as mrzero
384: [08:34:54] * stnvh quit (*.net *.split)
385: [08:34:54] * babak quit (*.net *.split)
386: [08:34:54] * Zauberfisch quit (*.net *.split)
387: [08:34:54] * ajmitch quit (*.net *.split)
388: [08:34:59] <Pybaconk> om nom nom nom bacon egg and mushroom sandwich
389: [08:35:04] <Colin[pi]> mmm
390: [08:35:05] <Pybaconk> <3
391: [08:35:31] * babak_ is now known as babak
392: [08:39:23] * Shrike_Finland has joined #silverstripe
393: [08:41:45] <kinglozzer> Pybaconk: jelly
394: [08:44:43] <Pybaconk> kinglozzer: no that's for dessert silly
395: [08:44:47] <desperate> are these two statements going to give the same results in the same format:
396: [08:44:48] <desperate> $res=DataObject::get("Book", "displayBanner = 1" . " AND Eventlastdate >= '$now' AND PriOrdCarousel >= 1");
397: [08:44:56] <desperate> $res=Book::get()->filter(array('displayBanner' => 1, 'Eventlastdate' => $now, 'PriOrdCarousel' => 1));
398: [08:45:13] <kinglozzer> desperate: No
399: [08:45:24] <kinglozzer> Because you can't use => like that in an array
400: [08:45:26] <kinglozzer> of
401: [08:45:28] <kinglozzer> oh
402: [08:45:30] <kinglozzer> wtf
403: [08:45:34] <kinglozzer> yes you can
404: [08:45:36] <kinglozzer> I meant ofr the date
405: [08:45:38] <kinglozzer> for*
406: [08:46:06] <kinglozzer> You need 'Eventlastdate:GreaterThan' => $now
407: [08:46:25] <desperate> ah
408: [08:46:34] <eagles0513875> hey Pybaconk
409: [08:46:46] <desperate> don't I have to do the opposite, like greater than not
410: [08:46:53] <desperate> or was that an earlier version of SS
411: [08:53:17] * Tanger has joined #silverstripe
412: [08:54:12] <Pybaconk> hi eagles0513875
413: [08:54:50] <Pybaconk> desperate: no they're not.
414: [08:55:00] <Pybaconk> the first line should give you a bloody great error.
415: [08:55:05] <Pybaconk> the second line will return a list of books.
416: [08:55:24] <desperate> the 2nd did not work the first did
417: [08:55:32] <Pybaconk> desperate: the first shouldn't.
418: [08:55:41] <desperate> as Kinglozzer said.. I need to use : greaterthan
419: [08:55:41] <Pybaconk> it's old legeacy code that SHOULD throw an error IMO.
420: [08:55:52] <Pybaconk> yep, read the docs on ORM
421: [08:56:02] <desperate> ORM thanks
422: [08:56:33] <Pybaconk> http://doc.silverstripe.org/framework/en/topics/datamodel
423: [08:57:01] <Pybaconk> and specifically this part for what you want: http://doc.silverstripe.org/framework/en/topics/datamodel#search-filter-modifiers
424: [08:57:04] * ARNHOE has joined #silverstripe
425: [08:58:20] <Pybaconk> desperate: ^
426: [08:58:23] * Tanger quit (Quit: Tanger)
427: [09:02:39] * micmania1 has joined #silverstripe
428: [09:04:14] * wmk facepalms
429: [09:04:29] <wmk> SUSY!!!!
430: [09:06:07] * spronk2 has joined #silverstripe
431: [09:25:26] <Pybaconk> sysu?
432: [09:27:01] <Pybaconk> wmk: what do?
433: [09:27:30] * Motoservo quit (Ping timeout: 240 seconds)
434: [09:27:44] <wmk> Pybaconk, http://susy.oddbird.net/ did me some headache with my first mobile first layout
435: [09:28:10] <wmk> including a clear: both somewhere in a mixin which broke my columns
436: [09:28:33] <Pybaconk> so what we're saying here is that sass bad, css frameworks bad.
437: [09:28:54] <wmk> well...
438: [09:29:03] <wmk> php frameworks bad?
439: [09:29:08] <Pybaconk> sometimes.
440: [09:29:38] <Pybaconk> depends on the application (as in use case), and framework.
441: [09:30:38] <wmk> well, compass and susy is great in general
442: [09:31:26] <wmk> and the magic that disturbs somethimes is in every framework, even the beloved silverstripe
443: [09:32:03] * Motoservo has joined #silverstripe
444: [09:37:18] * Colin[pi]-2 has joined #silverstripe
445: [09:38:23] * Colin[pi] quit (Ping timeout: 240 seconds)
446: [09:39:03] * gelignite has joined #silverstripe
447: [09:39:37] * willmorgan has joined #silverstripe
448: [09:43:16] <Pybaconk> wmk: yeah, frameworks are made for rapid development, and there's always (always) going to be tradeoffs made for that purpose. They're generally built around a specific (albiet broad) domain (such as web development), and often these tradeoffs are acceptable.
449: [09:43:27] <Pybaconk> such as ActiveRecord (anti)pattern
450: [09:43:32] <Pybaconk> it breaks SRP
451: [09:43:42] <Pybaconk> but so fucking good no one gives a shit.
452: [09:44:40] <Pybaconk> until they outgrow it, in which case it's the wrong tool for the job.
453: [09:45:12] <Pybaconk> so as I said, depends on the application (problem to solve), & the tool of choice (framework)
454: [09:54:20] <willmorgan> would anyone be interested in the ability to run phpunit.xml specified test suites with sake or the web test runner?
455: [09:54:28] <willmorgan> or is that a stupid idea?
456: [09:55:42] * Shrike_Finland quit (Quit: Leaving.)
457: [09:58:20] <simon_w> willmorgan, well, you probably shouldn't be using the web-based test runner and, if you can use sake, you can directly use the phpunit binary instead
458: [09:59:11] <willmorgan> I'm having weird differences when running my tests with the phpunit binary and running them with sake
459: [09:59:25] <willmorgan> i think it's got something to do with lack of manifest building
460: [09:59:37] <willmorgan> or some directory differences in finding the manifest
461: [10:05:49] <Pybaconk> yaaaay
462: [10:05:59] <Pybaconk> php gives 500, DOESN'T SAY WHY :<
463: [10:09:11] <Pybaconk> how solve :<
464: [10:12:51] <spronk2> displa errorzzzzz
465: [10:12:54] <Colin[pi]-2> Pybaconk: nothing in server log?
466: [10:12:59] * Colin[pi]-2 is now known as Colin[pi]
467: [10:13:18] <Pybaconk> Colin[pi]: nup
468: [10:17:27] <micmania1> Pybaconk: ini_set("display_errors", 1); ini_set("display_startup_errors", 1); ??
469: [10:17:37] <Pybaconk> dunno, but probably
470: [10:18:14] <Pybaconk> well, even if they're not on screen they always go into the log don't they?
471: [10:19:43] <micmania1> should do
472: [10:21:12] <Pybaconk> yeh, error.log is last entry 2 days ago
473: [10:22:07] <willmorgan> hmm - the dataobject change constants have disappeared in master :(
474: [10:24:49] * PigeonFriend has joined #silverstripe
475: [10:25:04] <willmorgan> PigeonFriend: https://github.com/willmorgan/silverstripe-framework/commit/1d0b8d77accdae0425afe3448714f7cd48c4bd3f
476: [10:25:10] <willmorgan> going to fix that whitespace
477: [10:25:51] <PigeonFriend> ah @willmorgan - you been asking about why sake vs phpunit return different results?
478: [10:26:03] <Pybaconk> yep
479: [10:26:04] <willmorgan> not asking why, but noting that they do :p
480: [10:26:32] <PigeonFriend> anyone got any insight?
481: [10:26:33] * UncleCheese has joined #silverstripe
482: [10:27:15] <willmorgan> simon_w noted that I shouldn't be using the web-based test runner (noted duly) but my thoughts are the manifest isn't getting read properly
483: [10:27:29] <willmorgan> as the issues generally seem to be down to lack of extensions
484: [10:27:30] <PigeonFriend> why not use the web-based one?
485: [10:27:33] <willmorgan> and missing classes
486: [10:27:47] <PigeonFriend> seems strange to have a feature one shouldn't use :/
487: [10:27:49] * Shrike_Finland has joined #silverstripe
488: [10:27:56] <PigeonFriend> willmorgan: is it using the composer autoloader properly?
489: [10:28:13] <willmorgan> yeah it's using the right version of phpunit
490: [10:28:19] <willmorgan> it's more that things like extensions aren't being applied
491: [10:28:27] <PigeonFriend> ah
492: [10:28:50] <willmorgan> because the tests that seem to fail are those on our project that require an observer to catch an event and react to that
493: [10:29:23] <willmorgan> order complete -> order observer reacts and should tell tickets to be assigned -> tickets are assigned -> we assert they're assigned
494: [10:29:34] <willmorgan> another failure was when I was using ClassInfo which relies on the manifest
495: [10:29:42] <PigeonFriend> have you looked at the travis-support repo to see all the jiggery-pokery that SS do to get travis working? they do a lot of stuff and for some reason they get tests to pass that fail even on my local (via sake or phpunit)
496: [10:29:43] <Pybaconk> composer has it's own autoloader?
497: [10:29:57] <willmorgan> it's not to do with travis
498: [10:30:03] <willmorgan> travis is merely an environment on which phpunit runs
499: [10:30:18] <willmorgan> my point is that using the PHPunit binary instead of sake causes problems
500: [10:30:18] <PigeonFriend> indeed, but SS mess with the environment :P
501: [10:30:41] <PigeonFriend> except not on SS's travis builds
502: [10:30:41] <willmorgan> are SS framework builds tested with the binary, or with sake, on travis?
503: [10:30:46] <PigeonFriend> bin
504: [10:30:50] <willmorgan> oh. weird
505: [10:30:55] <PigeonFriend> exactly
506: [10:31:08] <willmorgan> what it might be is that there's actually an issue with sake/web test runner allowing extensions to leak
507: [10:31:08] <Pybaconk> sounds like server conf issue
508: [10:31:13] <willmorgan> and the binary isn't so forgiving
509: [10:31:24] <PigeonFriend> has anyone ever got all the core tests to pass on their own environments before?
510: [10:31:49] <PigeonFriend> because i haven't
511: [10:31:56] <PigeonFriend> and it doesn't on our travis, either
512: [10:32:08] <PigeonFriend> which is why I run a suite that only does our tetsts
513: [10:32:21] <Pybaconk> I have
514: [10:32:23] <Pybaconk> yes.
515: [10:32:25] <micmania1> PigeonFriend: yes
516: [10:32:30] <Pybaconk> but not recently.
517: [10:32:37] <Pybaconk> I don't do testing.
518: [10:32:40] <Pybaconk> Not my bag.
519: [10:33:22] * wmk quit (Quit: nice to meet you ;))
520: [10:33:41] <willmorgan> that's nice to know
521: [10:34:25] <Pybaconk> more to the point my job didn't demand it and I didn't hack core enough
522: [10:34:31] <willmorgan> ok champ
523: [10:34:47] <willmorgan> I think I'm going to play around with the required extensions static
524: [10:34:58] <Pybaconk> required extensions
525: [10:34:59] <Pybaconk> ?
526: [10:35:00] <willmorgan> I suspect that's the problem - the failing tests don't define them... so they're assumed
527: [10:35:02] <PigeonFriend> Pybaconk: one doesn't need tests because they hack core.. we don;t touch core, it's to make sure our sites work...
528: [10:35:07] <Pybaconk> as opposed to optional_extensions?
529: [10:35:13] <willmorgan> shh
530: [10:35:17] <PigeonFriend> willmorgan: https://github.com/silverstripe-labs/silverstripe-travis-support/blob/master/travis_setup.php is the funky stuff SS do
531: [10:35:22] <PigeonFriend> including re-writing composer
532: [10:35:28] <Pybaconk> PigeonFriend: yeah, old job was too sloppy seat of the pants for that.
533: [10:36:13] <Pybaconk> also sites weren't that serious mostly.
534: [10:36:24] <Pybaconk> don't need a test suite to know if my gallery is working.
535: [10:42:11] <PigeonFriend> I just looked through travis_setup.php a bit more closely and it doesn't do much more than just re-write a composer file
536: [10:43:37] * UncleCheese quit (Quit: UncleCheese)
537: [10:44:16] <PigeonFriend> and nothing too funky here https://github.com/silverstripe/silverstripe-framework/blob/3.1/.travis.yml
538: [10:51:07] * Colin[pi]-2 has joined #silverstripe
539: [10:54:14] * DesignerX has joined #silverstripe
540: [10:54:38] * Colin[pi] quit (Ping timeout: 240 seconds)
541: [10:57:06] * Shrike_Finland quit (Quit: Leaving.)
542: [10:59:07] <PigeonFriend> yer, willmorgan, i think something needs to be improved about how the manifest works and the cache files are made. In 3.x if you run via sake then there is a manifest build for your ssh user and if you do it via web it's "unknown" so you can't actually flush the website template cache from the CLI
543: [10:59:19] <willmorgan> yeah
544: [10:59:20] <willmorgan> it's nuts
545: [10:59:28] <kinglozzer> PigeonFriend: this annoys the shit out of me ^^
546: [10:59:43] <kinglozzer> it's the only reason we can't switch to an automated deploy process >:(
547: [10:59:43] <PigeonFriend> and the fact a ?flush=all on the /dev/build URL doesn't flush templates is annoying too
548: [11:00:38] * Colin[pi] has joined #silverstripe
549: [11:01:25] <kinglozzer> PigeonFriend: Post it on the Google Group or something
550: [11:01:38] * Colin[pi]-2 quit (Ping timeout: 245 seconds)
551: [11:01:45] <Pybaconk> PigeonFriend: but it does
552: [11:01:52] <Pybaconk> since 3.1.2 or something
553: [11:02:01] <Pybaconk> no, older
554: [11:02:06] <Pybaconk> 3.1 probably
555: [11:02:07] <kinglozzer> Pybaconk: ? I'm pretty sure it doesn't
556: [11:02:23] <PigeonFriend> Pybaconk: nope, it doesn't
557: [11:02:25] <Pybaconk> never used to, because dev/build didn't make use of ssviewer, which is where ?flush got read.
558: [11:02:27] <PigeonFriend> we're running master and it doesnt
559: [11:02:41] <PigeonFriend> Pybaconk: yes it did
560: [11:02:43] <Pybaconk> yeah, I was always skeptical about it, but was told it was fixed now.
561: [11:02:58] <PigeonFriend> well, here's an issue for the manifest flusing: https://github.com/silverstripe/silverstripe-framework/issues/3092
562: [11:03:06] <Pybaconk> I always build and flush separately, but that's just because that's how I roll
563: [11:03:29] <Giganaire> PigeonFriend: can you not run the cli command as the web user?
564: [11:03:34] <PigeonFriend> some of us want automated deployments scripts that can just run sake dev/build flush=all
565: [11:03:46] <Giganaire> that's what i do
566: [11:03:59] <PigeonFriend> Giganaire: you do what?
567: [11:04:30] <Giganaire> run sake as the user the PHP runs as
568: [11:05:55] <Giganaire> i.e. my php-fpm process for the site runs under user 'chip', so i run the sake as that same user
569: [11:07:14] * wracu has joined #silverstripe
570: [11:10:09] <PigeonFriend> Giganaire: yep, that's a good way to do it, but my sites seem to run under "unknown"
571: [11:11:37] <PigeonFriend> What's the advantage in having a different manifest depending on the system user interacting with the application?
572: [11:11:51] <PigeonFriend> especially template caches...
573: [11:12:01] <simon_w> PigeonFriend, permissions.
574: [11:12:04] * Error404NotFound has joined #silverstripe
575: [11:12:41] <simon_w> Pybaconk, dev/build?flush=all *never* removed the template caches
576: [11:12:47] <PigeonFriend> simon_w: elaborate, please. as in, who can read/write/edit the manifest
577: [11:12:48] <simon_w> PigeonFriend, &
578: [11:13:16] <Giganaire> PigeonFriend: even if it was in the same folder, unix permissions would stop it working across users
579: [11:13:45] <simon_w> PigeonFriend, for the manifest to be usable, you need write access. Usually, only the owner and group get those and changing that is a really bad idea
580: [11:14:04] <PigeonFriend> Giganaire: it didn't work this way in 2.x so I'm not sure how it's now a problem
581: [11:14:26] <PigeonFriend> simon_w: sure, but that's why all users allowed to access the application via CLI / httpd / etc should be in the same group
582: [11:14:28] <simon_w> PigeonFriend, because sites broke when there weren't separate manifests for different users
583: [11:15:08] <simon_w> A umask of 022 is fairly common
584: [11:16:20] <Giganaire> and, ultimately, it's easily solvable by running CLI commands as the web user
585: [11:16:44] <simon_w> Exactly. If your deploy script can't handle that, your deploy script sucks
586: [11:17:12] <PigeonFriend> Giganaire: if that were the case then we'd not have different manifests for different users! we'd say "run all CLI commands as the webserver"
587: [11:17:46] <PigeonFriend> simon_w: hmm, seems like someones had a problem and decided to use a sledgehammer to solve it. Really, if you are running such a complex system you have many users that need to access the application and are having problems with permissions, then the permissions need to be fixed.
588: [11:18:16] <simon_w> PigeonFriend, no, the problem occurs from your exact setup. Deploy script running with a different user than PHP.
589: [11:18:23] <PigeonFriend> If I have an error where the webserver can't save assets, we don't go and write a load of work so that we write to a place that assets can be written and then pass them through a PHP script. Instead, we say "fix your permissions" how is this different
590: [11:19:18] <simon_w> Failing to have write access to assets *doesn't break your entire site*
591: [11:19:40] <PigeonFriend> can you not see the flaw to what your saying... Why did someone deem it worthwhile to write something where manifests are built per system user rather than saying "just run scripts as the webserver" if that was really the issue?
592: [11:20:05] <Pybaconk> [12:12] <@simon_w> Pybaconk, dev/build?flush=all *never* removed the template caches
593: [11:20:15] <PigeonFriend> sure, but failing to have write permission to your temp folder does..
594: [11:20:20] <PigeonFriend> that's still a permissions issue
595: [11:20:24] <Pybaconk> that's what I was saying. Someone said it did now once, but I was always skeptical and did things old ways.
596: [11:20:30] <simon_w> Would you have bothered to look at deployment documentation?
597: [11:20:49] <simon_w> Pybaconk, yeah, I hit y instead i. That was for PigeonFriend
598: [11:21:24] <PigeonFriend> simon_w: if there was deployment documentation :P
599: [11:21:40] <Giganaire> ultimately, it's just plain logical to be running deployment scripts under the same user as your site
600: [11:21:56] <Pybaconk> simon_w: ah.
601: [11:22:03] * spronk2 quit (Quit: spronk2)
602: [11:22:13] <Pybaconk> I thought so, but couldn't be fucked getting into an argument over it
603: [11:22:33] <Giganaire> and yeah, dev/build?flush=all most absolutely never ever worked
604: [11:22:39] <Pybaconk> mmm
605: [11:22:46] <Pybaconk> was common misconception in 2.4 days though
606: [11:22:50] <Giganaire> yes
607: [11:22:52] <simon_w> PigeonFriend, the place for something like this would be on http://doc.silverstripe.org/framework/en/topics/commandline. Would you have read that?
608: [11:23:12] <simon_w> (It's impossible to put the check in cli-script.php)
609: [11:23:14] <Giganaire> as some of the flushy functionality was done by dev/build anyway iirc, so people mistook it as working
610: [11:23:37] * memcached has joined #silverstripe
611: [11:23:38] <Pybaconk> Giganaire: mmm, manifest was updated, but templates were never flushed (which is what ?flush is all about)
612: [11:23:40] <simon_w> Giganaire, it's even worse with 3.x, now that you don't need to use flush=all
613: [11:23:51] <PigeonFriend> simon_w: yes, I've read that doc many times
614: [11:24:00] <simon_w> PigeonFriend, and how many other people would?
615: [11:24:15] <Pybaconk> simon_w: so what's the deal now? ?flush does flushing I know, but does it do all the things if you /dev/build?flush
616: [11:24:15] <Pybaconk> ?
617: [11:24:17] <simon_w> If you want the note, there's a nice edit button at the bottom of the page
618: [11:24:29] <memcached> can someone help me with memcached in combination with SS
619: [11:24:45] <simon_w> Pybaconk, include templates are now kept separate, so you don't need to wipe all template caches when changing one
620: [11:24:52] <simon_w> (Which was the use case for ?flush=all)
621: [11:24:56] <Pybaconk> memcached: silverstripe.org/blog has a writeup on it rom reasonably recently
622: [11:25:20] <Giganaire> memcached: but you ARE memcached, surely you know all there is to know about it? :P
623: [11:25:29] <PigeonFriend> simon_w: wait, what? You're telling me that all this work was done because no one reads the docs and that the docs aren't accurate or up to date because no one uses them!? What's your point here, other than diversion?
624: [11:25:40] <Pybaconk> simon_w: yeah, but ?flush just takes care of all the things now right, including on dev/build?
625: [11:26:01] <simon_w> Pybaconk, it updates the manifests, which is all you need
626: [11:26:05] <simon_w> Doesn't rebuild the templates
627: [11:26:06] <Pybaconk> ah yeh
628: [11:26:08] <Pybaconk> right
629: [11:26:09] <Giganaire> PigeonFriend: the point is it went from one form of "not quite ideal" to another form of "not quite ideal" and for some reason you're very butthurt about that
630: [11:26:17] <Pybaconk> because rebuilding is what all used to do. Gotcha
631: [11:26:24] <Giganaire> even tho the latter form of "not quite ideal" only relates to if you're doing illogical things with deployment
632: [11:26:37] <Giganaire> whereas the former form of "not quite ideal" was security related
633: [11:27:43] <Pybaconk> Gosh Dan, come on now, be reasonable. We've all had bad days :<
634: [11:28:29] <Pybaconk> but in half an hour it'll be sweet sweet sandwich time.
635: [11:28:49] <Pybaconk> although my sandwich has gherkins today...
636: [11:28:54] <Pybaconk> but I can deal with that :>
637: [11:28:54] <Giganaire> yum
638: [11:29:02] <Giganaire> now i'm hungry
639: [11:29:06] <PigeonFriend> lol. ok. so the answer is "we did a ton of work to fix a problem that's really a server problem and you shouldn't rely on our work you should just fix permissions on your server. OH, but you can't because of this fix so you should run as the webserver like you should have done before this fix was added"
640: [11:29:26] <Pybaconk> blergh I think you mean irogue. Gherkins are good for only 1 thing: pulling out of McDonalds burgers and having window races with them.
641: [11:29:54] <Giganaire> PigeonFriend: it enforces good behaviour rather than allowing bad behaviour on the off chance that it may work on the occasional server setup
642: [11:30:17] <Giganaire> admittedly, it'd be ideal for it to be better docuimented, but welcome to the world of open source
643: [11:30:24] <Pybaconk> PigeonFriend: can you summarise in a whole succinct flowing & descriptinve paragraph from beginning to end what your issue actually is?
644: [11:30:44] <PigeonFriend> Giganaire: I'm not "butthurt" (not that I know what that means, but I'll assume it's a pseudo insult), I'm just trying to understand why it's works this way. When I get at the fact it seems like a massive waste of effort you're all getting defensive like it's somehow my problem that I think it's silly and really it's a permissions issue
645: [11:30:45] <Pybaconk> I've read bits and pieces seemingly mostly different issues, though all related to deployment.
646: [11:31:19] <Pybaconk> PigeonFriend: butthurt a mix between mad/offended
647: [11:31:20] <Giganaire> PigeonFriend: "it seems like a massive waste of effort"
648: [11:31:31] <Giganaire> PigeonFriend: like your having this big argument rather than spending 5min to fix your script?
649: [11:31:41] <Pybaconk> you're
650: [11:31:44] <Pybaconk> ffs irogue
651: [11:31:48] <Pybaconk> come on now.
652: [11:31:59] <Pybaconk> it's only 11:30
653: [11:32:47] <Giganaire> Pybaconk: and i'm quite drunk and don't understand why somebody feels the need to insult other people's (voluntary) work because of his mistake
654: [11:32:53] <PigeonFriend> Pybaconk: My problem is that when I run CLI tasks against sake (such as dev/build) a whole new manifest cache is built and that means I can't flush templates on the website via the CLI. So I wanted to know the motivation for why it works this way (making many manifests) as it seems illogical to me. If you have 5 system users allowed to access a site, then you have to run 5 flushes as 5 users for the templates to be updated
655: [11:33:47] <Pybaconk> Hmm. I agree that that's not ideal. But it's better than anyone being able to flush your site.
656: [11:33:56] <PigeonFriend> now, when I was told why it was added, I challenged the logic people were giving me to justify why it works this way because the reason and solution weren't compatible. Reason for why it works this way: So different users can run the site; fix it by always running as the same user
657: [11:34:04] <Colin[pi]> hey guys what's happening in IRC? http://giant.gfycat.com/CandidHighGrayfox.gif
658: [11:34:16] <Giganaire> Pybaconk: YAY! you get it!
659: [11:34:28] <Giganaire> Colin[pi]: hahaha
660: [11:34:33] <Giganaire> Colin[pi]: what you drinking? :P
661: [11:34:44] <Colin[pi]> Giganaire: a glass of port
662: [11:34:47] <Pybaconk> yum
663: [11:34:49] <Giganaire> ah yes
664: [11:34:53] <Giganaire> i'm not a port man myself
665: [11:34:57] <Pybaconk> sherry?
666: [11:35:02] <Giganaire> but my flatmate is also on the port
667: [11:35:03] <PigeonFriend> that just doesn't make any sense because the solution would have always worked, but simon_w and Giganaire can't explaing that. So either they don't know why it works this way and they are just making it up, or it was a bad decision in the first place
668: [11:35:15] <Pybaconk> Giganaire: more of a sherry kinda guy? (not to be confused with shandy)
669: [11:35:24] <Giganaire> i'm almost through a bottle of Canterbury Cream Chocolate
670: [11:35:45] <Pybaconk> PigeonFriend: 'the solution would have always worked' - que?
671: [11:35:47] * Colin[pi]-2 has joined #silverstripe
672: [11:35:53] <PigeonFriend> Giganaire: I'm not arguing, I'm making an observation... It does seem like a waste of effort. Disagree if you want, but that isn't me arguing
673: [11:36:15] <simon_w> PigeonFriend, the problem came from people flushing with one user then running as another. This causes really subtle bugs that completely break your site (white pages of death)
674: [11:36:16] <Giganaire> PigeonFriend: apparently it was an issue for people or the effort wouldn't have been made
675: [11:36:20] <Pybaconk> PigeonFriend: crack out early and get a pint imo :>
676: [11:36:36] * spronk2 has joined #silverstripe
677: [11:36:50] <simon_w> PigeonFriend, with this, you can run the site with different users, you just need to flush them each individually
678: [11:36:54] <Pybaconk> PigeonFriend: I can confirm. Have done builds before then had to chmod the entire cache.
679: [11:36:57] <Pybaconk> not ideal.
680: [11:36:58] <PigeonFriend> Giganaire: also, there's nothing wrong with criticising voluntary work. where would we be if criticising work because it was done for free was taboo. where would any OS project be.. oh yer, it'd be openssl
681: [11:37:11] <Pybaconk> separate caches seems about thesame but different, but also beter.
682: [11:37:15] <simon_w> PigeonFriend, which *is better* than having your site completely fail on you
683: [11:37:52] <Pybaconk> Friday night fights, kgo!
684: [11:38:02] <Pybaconk> #fridayfights
685: [11:38:21] <PigeonFriend> Pybaconk: "the solution would have always worked" running the scripts / commands as the webserver would have worked in 2.x as well as now
686: [11:38:30] <Pybaconk> maybe I'll put on a cape and a cowl and run around looking for my assailants tonight.
687: [11:38:38] <PigeonFriend> and would have solved whatever imaginary problem there was with the manifest files
688: [11:38:44] <Giganaire> does anyone more sober than me feel like adding something to the commandline docs page pointing out that you should run CLI as your web user?
689: [11:39:01] * Colin[pi] quit (Ping timeout: 250 seconds)
690: [11:39:03] <Pybaconk> that seems... yeah.
691: [11:39:03] <Giganaire> PigeonFriend: clearly not imaginary as at the very least both simon_w and Pybaconk had issues with it
692: [11:39:09] <Pybaconk> a little nasty, but it makes sense.
693: [11:39:19] * Colin[pi] has joined #silverstripe
694: [11:39:20] <Pybaconk> (Giganaire)
695: [11:39:22] * Error404NotFound quit (Read error: Connection reset by peer)
696: [11:39:29] <Colin[pi]> wow my connection is total crap tonight
697: [11:39:39] <Pybaconk> Yes.
698: [11:39:40] <Colin[pi]> must be that qwality australian internet
699: [11:39:42] <Giganaire> Pybaconk: if i was to do it right now it'd be quite snarky
700: [11:39:56] <Pybaconk> Giganaire: should be.
701: [11:40:01] <Giganaire> since, y'know, IT'S OBVIOUS
702: [11:40:05] * Colin[pi]-2 quit (Ping timeout: 252 seconds)
703: [11:40:07] <Pybaconk> one man's snarky is another's direct.
704: [11:40:15] * simon_w sleeps
705: [11:40:22] <Pybaconk> DO THIS ??? PROFIT
706: [11:40:23] <Colin[pi]> simon_w: it's 9:40!
707: [11:40:24] <Giganaire> nn simon_w
708: [11:40:29] <Pybaconk> ciao simon_w
709: [11:40:36] <Pybaconk> Colin[pi]: jetlag man :>
710: [11:40:37] <Pybaconk> :P
711: [11:40:41] <Colin[pi]> hehe
712: [11:40:44] <Colin[pi]> nn simon_w
713: [11:40:49] <kinglozzer> Forgive my complete lack of knowledge here - how the shit do I run CLI as web user? Don't have SSH creds for web user, SSH user is in the same group, that good enough?
714: [11:41:01] <PigeonFriend> simon_w: sure, better not to have the site die. but also better not to "do it wrong". If I modify files as root and it breaks my site... then that's what happens, I need to not be an idiot. If I run `svn up` as root then I have the same problem, but you'r not protecting against that. I'm a firm believer that you can't protect against people doing things wrong (as I have before) but you can be helpful. Instead of whitepages
715: [11:41:10] <PigeonFriend> "there seems to be a problem with reading your manifest"
716: [11:41:15] <Pybaconk> su www-data -e "command.exe"
717: [11:41:18] * wracu quit (Ping timeout: 240 seconds)
718: [11:41:19] <Pybaconk> or some shit like that
719: [11:41:22] <Pybaconk> idk
720: [11:42:14] <Giganaire> kinglozzer: it can be a little more challenging if mod_php, but that's fairly rare these days and mostly just on low-grade shared hosting that likely isn't ideal for silverstripe anyways
721: [11:42:18] <Pybaconk> or sudo -u www-data command.exec
722: [11:42:42] <Pybaconk> Giganaire: or about any VPS that web companies like the one kinglozzer works for.
723: [11:42:45] <PigeonFriend> kinglozzer: crons are easy: crontab -e -u apache
724: [11:42:49] <Pybaconk> buy.
725: [11:42:52] <kinglozzer> Giganaire, Pybaconk: Is being in the same group good enough though? I can't chown files owned by www-root
726: [11:42:55] <Pybaconk> slash rent/
727: [11:43:04] <PigeonFriend> but CLI is harder as that user may need to actually have SSH access so you can `su apache`
728: [11:43:10] <Pybaconk> kinglozzer: depends on permissions on files.
729: [11:43:16] <kinglozzer> 0644 IIRC
730: [11:43:16] <Pybaconk> ig g+w, probably
731: [11:43:20] <Pybaconk> if*
732: [11:43:40] <kinglozzer> Man fuck this, 777
733: [11:43:45] <Giganaire> lol
734: [11:43:57] <Pybaconk> PigeonFriend: also this way enables non web frontend apps to be run by different users.
735: [11:44:02] <Giganaire> ^ that is why i don't server admin when drunk./high
736: [11:44:17] <Giganaire> "FUCK THIS, TOO HARD, 777 ALL THE THINGS"
737: [11:44:17] <Pybaconk> lulz
738: [11:44:19] <kinglozzer> Pybaconk: No VPS, managed + dedicated so I might just email them and tell them to sort me out :P
739: [11:44:24] <Colin[pi]> Giganaire: what could go wrong?
740: [11:44:36] <Giganaire> kinglozzer: yup, make use of dat managed
741: [11:44:52] <Pybaconk> Colin[pi]: sudo chmod -R 777 /*
742: [11:44:58] <kinglozzer> It's awesome, every time shit breaks it's someone else's problem :D
743: [11:44:58] <Pybaconk> just like willr did!
744: [11:45:00] <PigeonFriend> I think my point is proven somewhat here. Giganaire: you claim it's so obvious commands need to be run as the webserver that it doesn't need to be documented but someone wrote this entire feature so people didn't have to1
745: [11:45:14] <PigeonFriend> because it was an issue so many people were having
746: [11:45:26] <Pybaconk> kinglozzer: 'dedicated' means you have a whole physical box.
747: [11:45:35] <Giganaire> PigeonFriend: no, it *forces* you to
748: [11:45:37] <kinglozzer> It should be documented, said that in a PR the other day
749: [11:45:41] <PigeonFriend> this contradiction is why I don't accept the premise for why the feature is needed
750: [11:45:43] <kinglozzer> Pybaconk: Yes, it does
751: [11:45:44] <kinglozzer> :P
752: [11:45:46] <Pybaconk> but yeh, we had managed, own server.
753: [11:45:52] <Giganaire> kinglozzer: everything should be documented
754: [11:46:01] <Pybaconk> was virtual machine, but that didn't matter. MORE EXPANSION POSSIBLE
755: [11:46:03] <Giganaire> alas, documentation is horrible to do
756: [11:46:16] <Pybaconk> so yeah, anyway. PLESK FUKS YO SHIT UP
757: [11:46:21] <Giganaire> fuck plesk
758: [11:46:22] <Pybaconk> php-fpm? NAH
759: [11:46:22] <kinglozzer> Pybaconk: I do have the whole box. Not here, but it's ours
760: [11:46:40] <kinglozzer> Actually we have two, but one isn't doing anything atm (client paid for it, didn't want it)
761: [11:46:44] <Pybaconk> Giganaire: yeah, but in reality about 80+% of installs will be run an an environment like that
762: [11:47:07] <Pybaconk> kinglozzer: a whole fucking box... that's so stupid :<
763: [11:47:09] <Giganaire> Pybaconk: but generally they are not the same installs that are going to be using deployment scripts ;)
764: [11:47:20] <Pybaconk> what you want is a cloud server on a cluster.
765: [11:47:38] <Pybaconk> different from a VPS in that a VPS is traditionally a slice of a single dedicated box.
766: [11:47:49] <PigeonFriend> well, if someone can let me know how to run cli as the webserver when the webserver runs as apache but apache isn't actually a user.. then that'd be good
767: [11:47:58] <Giganaire> is "non shared hosting" listed as a requirement?
768: [11:48:01] <Giganaire> it really should be
769: [11:48:11] <Pybaconk> but clustered virtual servers, can expand almost indefinitely
770: [11:48:12] * desperate_ has joined #silverstripe
771: [11:48:15] <Pybaconk> resources, etc.
772: [11:48:18] <Pybaconk> good tuff
773: [11:48:21] <Pybaconk> +s*
774: [11:48:38] <Pybaconk> wicked, 10 to sandwich.
775: [11:48:46] * Colin[pi] quit (Ping timeout: 240 seconds)
776: [11:48:53] <Pybaconk> I go for a piss, stretch legs, come back, Lunch time!
777: [11:48:54] <desperate_> what is the syntax to see if a var is set or not, !$var crashes my template
778: [11:49:08] <Pybaconk> <% if $Var %>
779: [11:49:24] * Colin[pi] has joined #silverstripe
780: [11:49:31] <Pybaconk> <% if Var %><% else %>
781: [11:49:39] <Pybaconk> <% if not Var %>
782: [11:49:47] <Pybaconk> choose.
783: [11:49:54] <desperate_> literally the word 'not' ?
784: [11:50:10] <Pybaconk> nah, I just typed that for fun -.-
785: [11:50:16] <Pybaconk> yes! :>
786: [11:50:34] <Pybaconk> note space too.
787: [11:50:38] <desperate_> i like it
788: [11:50:44] <desperate_> very primitive
789: [11:50:48] <desperate_> but hey it works
790: [11:50:48] <Giganaire> PigeonFriend: can't help i'm afraid, i don't use apache, you'd have to ask someone who does
791: [11:50:50] <desperate_> :0)
792: [11:50:55] <Pybaconk> probably should have $ in front of the Var too, for consistency and less confusion on the template engine's behalf
793: [11:51:21] <Pybaconk> $ forces denotion of variable, as opposed to string. Although it should be variable anyway, because it's first param.
794: [11:53:18] * memcached quit (Ping timeout: 240 seconds)
795: [11:53:47] * Giganaire ponders mcdonalds
796: [11:54:45] * Error404NotFound has joined #silverstripe
797: [11:55:23] <PigeonFriend> desperate_: yes, literally the word not
798: [11:55:31] <PigeonFriend> <% if not $Var %>
799: [11:55:33] <PigeonFriend> in 3.x
800: [11:56:02] <desperate_> it works thnaks
801: [11:56:14] <guzzlefry> I miss Silverstripe's template engine. I've been using this mutilated one based on smarty.
802: [11:57:06] <willmorgan> you are all bad
803: [11:57:08] <willmorgan> and should feel bad
804: [11:57:12] * Error404NotFound quit (Client Quit)
805: [11:57:12] <willmorgan> -_-
806: [11:59:57] <Giganaire> guzzlefry: EW EW EW
807: [12:00:09] <Giganaire> i had to use smarty recently
808: [12:00:29] <Giganaire> it made me feel ill
809: [12:00:50] <Giganaire> need moar twig
810: [12:00:54] <Giganaire> amirite Pybaconk?
811: [12:01:17] <guzzlefry> {$h8everything}
812: [12:01:30] <guzzlefry> I hear twig is nice.
813: [12:03:59] <Giganaire> i'm quite fond of laravel's templating
814: [12:05:51] * opalfroot has joined #silverstripe
815: [12:06:08] <opalfroot> anyone know if it's possible to link a searchable_fields entry to a function?
816: [12:10:17] * UndefinedOffset has joined #silverstripe
817: [12:11:18] <Pybaconk> Giganaire: how do?
818: [12:11:29] <desperate_> If I merge to results set from a get::
819: [12:11:40] <desperate_> can I then use sort on the merged object
820: [12:11:51] <Giganaire> Pybaconk: twig?
821: [12:15:48] <desperate_> hmm no it doesn't work
822: [12:16:04] <desperate_> how can I sort a merged array
823: [12:16:31] <desperate_> if I change the order of the merge I get a re-arranged array
824: [12:17:35] <desperate_> order doesn't work
825: [12:18:00] <Pybaconk> Giganaire: oh you, troll
826: [12:19:39] <Giganaire> ^_^
827: [12:19:41] <Giganaire> you got it now :P
828: [12:20:15] <Pybaconk> gig, I had a feeling it was :P
829: [12:21:18] <Pybaconk> Giganaire: ^
830: [12:22:22] <desperate_> guys any idea why this does not work
831: [12:22:22] <desperate_> http://paste2.org/ygyt7FF9
832: [12:22:32] <desperate_> I want to sort the merged array
833: [12:22:40] <desperate_> it seems to sort the first res set, then the second
834: [12:22:44] <desperate_> but not a combined
835: [12:23:45] <Pybaconk> mmm, more bacon
836: [12:24:07] * anselmdk quit (Quit: anselmdk)
837: [12:24:23] <Giganaire> desperate_: maybe merge them using php functionality after toArraying them
838: [12:24:58] <Giganaire> might be more predictable
839: [12:27:07] <desperate_> controller does not like array_merge function
840: [12:28:24] <desperate_> ame with array_combine
841: [12:29:47] <Giganaire> hrmmm
842: [12:31:53] * willmorgan quit (Ping timeout: 250 seconds)
843: [12:32:00] <Pybaconk> [12:56] <guzzlefry> I miss Silverstripe's template engine. I've been using this mutilated one based on smarty.
844: [12:32:02] <Pybaconk> Twig?
845: [12:32:04] <Pybaconk> xD
846: [12:33:10] <guzzlefry> oh...I guess the delimiters are similar. :P
847: [12:33:16] * anselmdk has joined #silverstripe
848: [12:33:25] <desperate_> I had to do this to get it to work: $list=$data->sort('PriOrdCarousel');
849: [12:41:18] <Pybaconk> zomg kinglozzer http://iforce.co.nz/i/f2bdq1s2.k4u.png Zauberfi1ch :>
850: [12:41:23] <Pybaconk> micmania1: ^
851: [12:44:26] <Pybaconk> new high: 54472
852: [12:46:18] * Colin[pi] quit (Ping timeout: 240 seconds)
853: [12:51:43] * thibault has joined #silverstripe
854: [12:51:47] * Shrike_Finland has joined #silverstripe
855: [12:54:35] * willmorgan has joined #silverstripe
856: [12:58:42] <Giganaire> Pybaconk: just heard a pursuit
857: [12:58:49] <Giganaire> started in ngaruawahia, damn near went past my house
858: [12:59:44] <Giganaire> car got spiked, lasted a damn long time afterwards
859: [13:00:15] <Giganaire> after tyre fell off
860: [13:00:17] <Giganaire> https://goo.gl/maps/cohEa
861: [13:05:36] * willmorgan quit (Quit: l8rz)
862: [13:06:54] <micmania1> swipestripe is having my life :(
863: [13:07:04] <micmania1> that and paypal
864: [13:13:56] * r3v3rb has joined #silverstripe
865: [13:15:49] * Shrike_Finland quit (Quit: Leaving.)
866: [13:17:39] <r3v3rb> anyone use silverstripe-chosen module?
867: [13:19:22] <eagles0513875> hey Pybaconk
868: [13:19:53] <eagles0513875> Pybaconk: addon's do you think they are worth the time working with and running the risk the maintainer stops maintaing them? or they are handy to save time?
869: [13:23:10] <micmania1> r3v3rb: SilverStripe uses chosen by default
870: [13:24:07] <micmania1> what is it you want?
871: [13:29:01] <r3v3rb> frontend form but style depending on each different one
872: [13:29:18] <r3v3rb> guess i'm going to target via ID
873: [13:29:38] <r3v3rb> was hoping to create a class for two types
874: [13:29:59] <Pybaconk> eagles0513875: use them.
875: [13:30:08] <Pybaconk> no point re-inventing the wheel!
876: [13:30:18] * opalfroot quit (Ping timeout: 240 seconds)
877: [13:30:18] <r3v3rb> unless its search Pybaconk
878: [13:30:20] <Pybaconk> eagles0513875: often though you'll have to shop around and test first.
879: [13:30:32] * DesignerX quit (Quit: Konversation terminated!)
880: [13:30:41] * Shrike_Finland has joined #silverstripe
881: [13:30:44] <Pybaconk> because they're commonly made for a specific use case, and may not fit yours all that well (just be close)
882: [13:31:04] <Pybaconk> other times they might be slightly out of date, or you need to make changes and they're a maintenance nightmare.
883: [13:31:04] <eagles0513875> valid points
884: [13:31:08] <Pybaconk> such is open source though.
885: [13:31:32] <Pybaconk> So yeah, definitely use them, unless they're silly (things like gallery modules are trivial and don't really need a module)
886: [13:31:41] <Pybaconk> so it's all up to you really.
887: [13:31:49] <Pybaconk> depends what you're aftet.r
888: [13:31:56] <Pybaconk> but things like gridfieldextensions from ajshort
889: [13:32:06] * Shrike_Finland quit (Client Quit)
890: [13:32:12] <Pybaconk> definitely an almost 'never leave home without it' thing
891: [13:32:47] <Giganaire> om nom nom
892: [13:32:48] <Giganaire> DQP
893: [13:32:53] <Pybaconk> r3v3rb: $field->addExtraClass('huzzah')
894: [13:33:16] <eagles0513875> Pybaconk: i need a user login and i noticed a rather nice login addon that i can create the login from within the CMS
895: [13:33:24] <eagles0513875> not sure if that is a good idea or coding a login from scratch
896: [13:33:25] <r3v3rb> Pybaconk adds it to the original select not the fancy jquery built chosen field :(
897: [13:34:20] <Pybaconk> eagles0513875: yeah, it's one of those things you really need to check on first.
898: [13:34:30] <Giganaire> Pybaconk is the resident expert up in here tonight
899: [13:35:03] <eagles0513875> Pybaconk: i will link it to you and see what ya think
900: [13:35:37] <Pybaconk> the memberprofiles has a whole bunch of things for a specific purpose, like a 'member description' page, like a public page.
901: [13:38:39] <Pybaconk> Giganaire: you mean every night :P
902: [13:38:49] <Pybaconk> well, when kinglozzer and micmania1 don't jump in :P
903: [13:39:00] <Pybaconk> but now simon_w sleeps when I'm awake... hah
904: [13:39:15] <Giganaire> Pybaconk: where dat fisch at
905: [13:39:24] <Giganaire> he used to be the overnight cover :P
906: [13:39:38] <Pybaconk> he's around, but not so active as I am.
907: [13:40:26] <Pybaconk> I mean hell, http://logs.simon.geek.nz/stats.php
908: [13:40:27] <Pybaconk> :P
909: [13:41:44] <Pybaconk> Pyromanik 91760 simon_w 69595 ss23 45975 FrozenFire 26041 Zauberfisch 19485
910: [13:41:50] <Pybaconk> xD
911: [13:42:21] <Pybaconk> haha, ss23 leading me in the compuzzler count
912: [13:49:01] <r3v3rb> oooh, 10000+ lines of gobshite I have managed
913: [13:50:02] <r3v3rb> Pybaconk, you have skewed the results somewhat with your multiple personas
914: [13:54:55] <kinglozzer> 6524 :/
915: [13:55:39] <kinglozzer> 5*
916: [13:55:39] <kinglozzer> 6*
917: [13:55:41] <kinglozzer> 7*
918: [13:55:42] <kinglozzer> etc
919: [13:56:17] <Pybaconk> lulz
920: [13:56:34] <Pybaconk> if only I could get paid for IRC support :<
921: [13:56:46] <kinglozzer> Or swearing :P
922: [13:56:57] <Pybaconk> or just lines typed
923: [13:57:31] <Pybaconk> what
924: [13:57:32] <Pybaconk> can
925: [13:57:33] <Pybaconk> I
926: [13:57:34] <Pybaconk> say?
927: [13:57:35] <Pybaconk> I'm
928: [13:57:36] <Pybaconk> a
929: [13:57:38] <Pybaconk> talkitive
930: [13:57:39] <Pybaconk> chap
931: [13:57:45] <kinglozzer> i
932: [13:57:45] <kinglozzer> used
933: [13:57:46] <kinglozzer> to
934: [13:57:47] <kinglozzer> know
935: [13:57:49] <kinglozzer> a
936: [13:57:51] <kinglozzer> guy
937: [13:57:53] <kinglozzer> who
938: [13:57:55] <kinglozzer> typed
939: [13:57:57] <kinglozzer> like
940: [13:57:59] <kinglozzer> this
941: [13:58:01] <kinglozzer> all
942: [13:58:02] <Pybaconk> what a twat
943: [13:58:03] <kinglozzer> the
944: [13:58:05] <kinglozzer> time
945: [13:58:07] <kinglozzer> literally the most annoying thing in the word
946: [13:58:09] <kinglozzer> world
947: [13:58:13] <kinglozzer> back in my xfire days :>
948: [14:01:23] <desperate> c
949: [14:01:26] <desperate> o
950: [14:01:27] <desperate> u
951: [14:01:28] <desperate> l
952: [14:01:30] <desperate> d
953: [14:01:31] <desperate>
954: [14:01:32] <desperate> t
955: [14:01:32] <desperate> h
956: [14:01:34] <desperate> i
957: [14:01:36] <desperate> s
958: [14:01:38] <desperate>
959: [14:01:38] <desperate> b
960: [14:01:39] <desperate> e
961: [14:01:39] <desperate>
962: [14:01:40] <desperate> e
963: [14:01:40] <desperate> v
964: [14:01:42] <desperate> e
965: [14:01:44] <desperate> n
966: [14:01:45] <desperate>
967: [14:01:46] <desperate> m
968: [14:01:46] <desperate> o
969: [14:01:47] <desperate> r
970: [14:01:48] <desperate> e
971: [14:01:49] <desperate>
972: [14:01:50] <desperate> a
973: [14:01:51] <desperate> n
974: [14:01:52] <desperate> n
975: [14:01:53] <desperate> o
976: [14:01:54] <desperate> y
977: [14:01:55] <desperate> i
978: [14:01:56] <desperate> n
979: [14:01:56] <desperate> h
980: [14:02:01] <desperate> ?
981: [14:02:13] <desperate> dman it I messed up the last char
982: [14:06:43] <Pybaconk> d-man
983: [14:06:51] * anselmdk quit (Quit: anselmdk)
984: [14:07:13] <Pybaconk> he's like Bryan, Jesus' younger brother.
985: [14:07:37] <Pybaconk> http://img3.wikia.nocookie.net/__cb20100621095818/half-life/en/images/2/27/G-man_heart_to_heart_headshot.jpg
986: [14:08:21] <Pybaconk> http://en.wikipedia.org/wiki/Monty_Python%27s_Life_of_Brian
987: [14:08:28] <Pybaconk> ~ish.
988: [14:09:20] <kinglozzer> epic film
989: [14:11:49] * spronk2 quit (Quit: spronk2)
990: [14:22:56] <Pybaconk> kinglozzer: you coming to the pub with micmania1 and I after work today?
991: [14:23:04] <r3v3rb> any idea on an out of memory error from framework/core/Config.php on line 490
992: [14:23:16] <kinglozzer> Pybaconk: Yeah, might be late as I'm walking down
993: [14:23:26] <Pybaconk> r3v3rb: nah sorry, I can't remember
994: [14:23:34] <Pybaconk> kinglozzer: rgr. See you in June
995: [14:23:35] <r3v3rb> Pybaconk no worries
996: [14:23:49] <Pybaconk> r3v3rb: D: LAUGH AT MY JOKE! :<
997: [14:23:53] <Pybaconk> :P
998: [14:23:56] <r3v3rb> no
999: [14:23:58] <r3v3rb> :P
1000: [14:24:07] <kinglozzer> r3v3rb: yaml is wrong
1001: [14:24:08] <kinglozzer> or something
1002: [14:24:09] <kinglozzer> :P
1003: [14:24:37] <r3v3rb> kinglozzer hmm, i updated apache and php to include mod_deflate now the site bails on loading
1004: [14:24:53] <r3v3rb> i wonder if gzipping uses lots of memory
1005: [14:24:53] <kinglozzer> Oh, idk then
1006: [14:25:26] <Pybaconk> http://api.silverstripe.org/3.1/source-class-Config.html#490
1007: [14:26:07] <r3v3rb> yar, tis the gzip
1008: [14:26:23] <Pybaconk> gunzup
1009: [14:26:25] <r3v3rb> taketh the gzip/deflate out of htaccess and working
1010: [14:27:20] <Pybaconk> www.youtube.com/watch?v=BHFFuukk9Y8
1011: [14:28:15] <kinglozzer> r3v3rb: php_value memory_limit 2048M. Fixd.
1012: [14:28:24] <r3v3rb> :)
1013: [14:28:26] <r3v3rb> almost
1014: [14:28:41] <Pybaconk> php_value memory_lmit 4096G
1015: [14:28:43] <r3v3rb> actually it was the mod_deflate directive
1016: [14:28:54] <r3v3rb> memory reduced to 196M and it works fine
1017: [14:29:17] <Pybaconk> 256
1018: [14:29:22] <Pybaconk> ftw
1019: [14:29:24] <r3v3rb> now to find out why my expires headers arent being read
1020: [14:29:36] <Pybaconk> because they're depressed?
1021: [14:29:44] <Pybaconk> BOOM multi level pun!
1022: [14:29:44] <r3v3rb> probs
1023: [14:29:48] <Pybaconk> read/blue
1024: [14:29:56] <Pybaconk> deflate/depress
1025: [14:30:06] <Pybaconk> hooooaaaaahhhhh
1026: [14:30:07] <r3v3rb> read/blue/green primary colours?
1027: [14:30:19] <r3v3rb> Pybaconk got that friday feeling by any chance?
1028: [14:30:27] <Pybaconk> feeling a bit blue becauase not at the pub yet?
1029: [14:30:29] <Pybaconk> or what
1030: [14:30:30] * muskie9 has joined #silverstripe
1031: [14:30:32] <Pybaconk> nah I'm doing well
1032: [14:30:36] <Pybaconk> I fixed a problem today
1033: [14:30:41] <Pybaconk> I'm on quota :P
1034: [14:31:08] <micmania1> swipestripe is broke :(
1035: [14:31:12] <Pybaconk> now to turn the model I wrote into a library because that's technically what it should be anyway.
1036: [14:31:22] <Pybaconk> micmania1: sounds like a job for tuesday!
1037: [14:31:33] <micmania1> OH YES! OFF MONDAY!!
1038: [14:31:44] <micmania1> 3rd long weekend in a row
1039: [14:31:48] <micmania1> living like a knig
1040: [14:31:49] <micmania1> king
1041: [14:31:54] <Pybaconk> knigs
1042: [14:32:00] <Pybaconk> silent k?
1043: [14:32:02] <Pybaconk> OOOH YOU
1044: [14:32:13] <micmania1> haha
1045: [14:33:12] <micmania1> Why would you pass null to the $to param of Email? Any idea?
1046: [14:33:23] <Pybaconk> to make it send to admin?
1047: [14:33:49] <micmania1> is that what happens?
1048: [14:33:58] <micmania1> or u just guessing?
1049: [14:34:00] <Pybaconk> Email.php is mostly proceedural, can't be too hard to find out :<
1050: [14:34:12] <micmania1> yeah, just looking through
1051: [14:34:13] <Pybaconk> micmania1: I have this inkling that that is what happens, but not sure, no.
1052: [14:34:30] <Pybaconk> I've looked through it all before, that pops into my head. But it's mostly guess.
1053: [14:34:37] <Pybaconk> just seemed the most sane one
1054: [14:34:58] <micmania1> I'm getting an error. Its trying to send the email without a 'to' set
1055: [14:35:17] <micmania1> not being picked up by the error handler either which is nice...
1056: [14:35:48] <Pybaconk> coming from somewhere outside an object?
1057: [14:36:11] <Pybaconk> being proceedural... I'm not sure if error handler can grab that, dunno. Should though, I'm pretty sure it's a set and forget type thing
1058: [14:38:40] * willmorgan has joined #silverstripe
1059: [14:38:43] <micmania1> its pretty broke lol
1060: [14:38:48] * desperate quit (Ping timeout: 240 seconds)
1061: [14:38:57] <willmorgan> has anyone noticed that silverstripe tests don't reset the db schema across tests?
1062: [14:40:36] <Pybaconk> should it?
1063: [14:41:04] <Pybaconk> it only lasts the duration of the test anyway right?
1064: [14:45:55] <kinglozzer> https://travis-ci.org/silverstripe/silverstripe-framework/jobs/24271184 FUCK OFF TRAVIS YOU DICK
1065: [14:45:57] <kinglozzer> :(
1066: [14:47:34] <micmania1> swipestripe subclasses Member :( not amused.
1067: [14:48:12] <kinglozzer> micmania1: ew.
1068: [14:48:12] <Pybaconk> oh, it's been like that for yonks now
1069: [14:48:14] <kinglozzer> I did that once
1070: [14:48:16] <Pybaconk> it's legacy
1071: [14:48:32] <Pybaconk> I told tankr about it once, but didn't issue lodge.
1072: [14:48:33] <kinglozzer> Couldn't sleep at night
1073: [14:48:40] <micmania1> it'd be okay if it was a new site, but i've got like 50k Member records
1074: [14:48:40] <Pybaconk> before it went public though
1075: [14:48:52] <micmania1> none of them are Customer's
1076: [14:48:58] <Pybaconk> micmania1: there are some hacks you can do to convert a member into a customer
1077: [14:49:06] * muskie9 quit (Ping timeout: 240 seconds)
1078: [14:49:11] <micmania1> yeah, been adding them :(
1079: [14:49:24] <micmania1> i'm backporting for 3.0 anyway so not too fussed about hacks tbf
1080: [14:49:30] <Pybaconk> or more to the point from memory it was a lookup check on customer creation so that errors weren't thrown
1081: [14:49:40] <Pybaconk> is what I did
1082: [14:49:49] <Pybaconk> (hack core)
1083: [14:49:51] <Pybaconk> :P
1084: [14:50:01] <micmania1> I've used Injector to turn all Member instances into Customer. Just going to update ClassName
1085: [14:50:14] <micmania1> would that work?
1086: [14:51:01] <Pybaconk> dunno, could do
1087: [14:51:09] <Pybaconk> I chose not to dig in the DB directly
1088: [14:51:22] <Pybaconk> but it's probably cleaner/easier
1089: [14:51:24] * muskie9 has joined #silverstripe
1090: [14:53:19] <micmania1> I've tried catching it whenever its loaded and changing then, but its clearly not full-proof as its not working 100% of the time
1091: [14:53:52] <Pybaconk> mm
1092: [14:56:33] <r3v3rb> micmania1 50k - Members what site are you running?!?!
1093: [14:56:45] <Pybaconk> 50k.com
1094: [14:57:46] <r3v3rb> Pybaconk :P
1095: [14:58:11] <r3v3rb> so php5.5 is giving me lots of out of memory errors back to 5.4 then i guess
1096: [14:58:18] <micmania1> it might have more actually lol
1097: [14:59:41] <r3v3rb> lol, me is behind again : http://logs.simon.geek.nz/index.php?date=2013-06-22#log_32252
1098: [15:00:51] <r3v3rb> almost a year ago that post regarding 5.5 and SS
1099: [15:00:56] <micmania1> Pybaconk: what time u at the pub?
1100: [15:01:11] <r3v3rb> now by the sounds of his silliness micmania1
1101: [15:01:36] <micmania1> Good. he can get mine in
1102: [15:01:37] * r3v3rb recompiles apache again woth php 5.4
1103: [15:01:41] <r3v3rb> with*
1104: [15:07:01] * muskie9 quit (Ping timeout: 250 seconds)
1105: [15:07:07] * desperate has joined #silverstripe
1106: [15:07:15] <Pybaconk> r3v3rb: so that's been a year for SS to catch up :P
1107: [15:07:23] <r3v3rb> true
1108: [15:07:25] <Pybaconk> but yeh, 5.4 is official support.
1109: [15:07:28] <Pybaconk> 5.5 not so much
1110: [15:07:42] <desperate> anyone exeprienced this... every time I save something I have to login to admin again
1111: [15:07:43] <Pybaconk> I'm not even sure if it's been released yet
1112: [15:07:53] <Pybaconk> desperate: are you sure it's saving?
1113: [15:08:09] <desperate> yeah it saves
1114: [15:08:12] <Pybaconk> sounds like it's a javascript error
1115: [15:08:14] <Pybaconk> oh, ok
1116: [15:08:15] <Pybaconk> hmm
1117: [15:08:19] <Pybaconk> nfi, sorry :<
1118: [15:10:26] <desperate> driving me nuts
1119: [15:13:16] <Pybaconk> urgh, donuts
1120: [15:13:38] <Pybaconk> :<
1121: [15:13:50] * r3v3rb quit (Quit: Textual IRC Client: www.textualapp.com)
1122: [15:13:56] <Pybaconk> desperate: sounds like something's going wrong, but what I cannot say.
1123: [15:14:17] <Pybaconk> I'd expect that your session is perhaps timing out, but that doesn't seem right if it's updating
1124: [15:14:23] <Pybaconk> (the database)
1125: [15:18:21] <Pybaconk> hahaha fuck
1126: [15:18:59] <Pybaconk> Job ad: "Administration Assistant - To provide administration support, would suit somebody with an administration background"
1127: [15:19:04] <Pybaconk> hahahhahahaha
1128: [15:19:38] <Pybaconk> Does that sound like you kinglozzer ?
1129: [15:20:07] <kinglozzer> Pybaconk: Damn, it's like the job was made for me
1130: [15:20:18] * anselmdk has joined #silverstripe
1131: [15:20:20] * stnvh_ quit ()
1132: [15:20:32] * stnvh has joined #silverstripe
1133: [15:20:55] <Pybaconk> gawd, keep seeing today's incarnation as "pibar-konk"
1134: [15:23:45] <desperate> hmm only in chrome
1135: [15:23:54] <desperate> maybe a browser cache issue
1136: [15:23:56] * ARNHOE quit ()
1137: [15:23:59] <desperate> low disk space
1138: [15:24:27] <Pybaconk> lolwut?
1139: [15:26:39] <Pybaconk> wholey fuck code igniter hurts my brain
1140: [15:26:47] <Pybaconk> WHY HAVE YOU DONE THIS
1141: [15:26:58] <Pybaconk> IN WHAT UNIVERSE IS THIS A GOOD DESIGN DECISION!?
1142: [15:27:09] <Pybaconk> NONE, THAT'S WHAT
1143: [15:27:27] <Pybaconk> f'n single level heirarchy and global super objects, wtf.
1144: [15:27:53] <Pybaconk> :'( I miss you, and especially your autoloader SilverStripe :<
1145: [15:28:55] * jenniferaslan has joined #silverstripe
1146: [15:31:25] <micmania1> Pybaconk: pub - what time?
1147: [15:31:45] <Pybaconk> micmania1: about 6 I'd assume
1148: [15:31:55] <micmania1> urgh! that late?
1149: [15:31:59] <micmania1> that sucks
1150: [15:32:22] <Pybaconk> micmania1: well I finish at 5:30
1151: [15:32:25] * desperate quit (Quit: Page closed)
1152: [15:32:25] <Pybaconk> then get there
1153: [15:32:46] <Pybaconk> although might be a slightly early finish today, if I play cards right
1154: [15:32:54] <Pybaconk> if so I'll text you
1155: [15:32:58] <micmania1> You should quit your job and just leave now. The pub is more important.
1156: [15:35:05] <Pybaconk> hahaha
1157: [15:35:18] <Pybaconk> we're currently arguing over code igniter, laravel and silverstripe
1158: [15:35:25] <Pybaconk> so no, I've got important work doing here
1159: [15:44:39] * muskie9 has joined #silverstripe
1160: [16:02:57] <micmania1> Upgrading a Member to a customer is harder than it seems!
1161: [16:03:44] <guzzlefry> more than meets the eye >_>
1162: [16:04:32] <Pybaconk> TRANSFORMERS
1163: [16:04:49] <guzzlefry> MEMBERS IN DISGUISE
1164: [16:05:19] <guzzlefry> I clearly need more caffeine.
1165: [16:05:51] * Pybaconk spreads silverstripe interest around the office
1166: [16:05:55] <Pybaconk> YUS
1167: [16:06:22] <guzzlefry> wow, much CMS
1168: [16:07:06] <Pybaconk> pack'n up
1169: [16:07:13] * Pybaconk quit (Quit: Page closed)
1170: [16:07:47] <micmania1> ooooooo Pyro is gone
1171: [16:07:55] <micmania1> hopefully that means he's on his way to the pub
1172: [16:08:22] <micmania1> and buying me a pint
1173: [16:10:51] * gelignite quit (Quit: http://bit.ly/nkczDT)
1174: [16:17:47] <willmorgan> micmania1: I saw that you did some stuff around useTestTheme and I'm wondering if you've experienced problems with the test template manifest being incorrect as a result of a call to useTestTheme
1175: [16:18:48] <micmania1> yes, there was something but I think I fixed it
1176: [16:19:17] <micmania1> It was something to do with the CMS not being able to use the test theme, or add templates to the test theme
1177: [16:19:27] <kinglozzer> Home time, cya all <3
1178: [16:19:30] <micmania1> because it was all tied up in the framework
1179: [16:19:32] * kinglozzer quit ()
1180: [16:20:01] * stnvh quit ()
1181: [16:20:13] <micmania1> I'm not sure what branch I fixed it in
1182: [16:20:36] <willmorgan> I'm stuck because my tests are failing as a result of that issue :(
1183: [16:20:55] <willmorgan> passing in a mandatory flush seems to sidestep the issue
1184: [16:21:30] <micmania1> If you're adding new test templates, you might have to sandbox it inside your module
1185: [16:21:38] <micmania1> so create a new theme
1186: [16:21:50] <micmania1> do you have a link to my PR?
1187: [16:22:25] <willmorgan> this was what made me think of you: https://github.com/silverstripe/silverstripe-framework/pull/2746
1188: [16:23:54] <micmania1> https://github.com/silverstripe/silverstripe-cms/pull/914/files
1189: [16:24:05] <micmania1> so that one was originally failing because of the test theme issue
1190: [16:24:37] <micmania1> I don't think it was possible to add test templates to the CMS as it was loading everything from the framework.
1191: [16:24:56] <willmorgan> ah... I've got an issue where when I call useTestTheme, in later test when a controller uses getViewer in handleAction, an error is thrown because it can't find the template as it's looking at old manifests
1192: [16:27:32] <micmania1> could it be what you're passing to $callback?
1193: [16:28:08] <willmorgan> no, I don't think so... all I'm doing is finding templates within a test theme
1194: [16:28:38] <willmorgan> trying to sidestep the issue again by using set-instance on the template loader and using an entirely separate instance :D
1195: [16:30:01] <willmorgan> but that seemingly does not work either. sigh.
1196: [16:30:15] <willmorgan> I wish I knew what all this manifest business was even for
1197: [16:30:19] <willmorgan> all it does for me is slow things down
1198: [16:31:04] <micmania1> the useTestTheme should force a regen anyway
1199: [16:31:16] <micmania1> http://api.silverstripe.org/3.1/source-class-SS_TemplateManifest.html#22-44 - according to that
1200: [16:32:05] <micmania1> we need tests to cover tests!!!
1201: [16:32:22] <willmorgan> strangely enough it doesn't
1202: [16:32:35] <willmorgan> at least that i'm aware of
1203: [16:33:04] <willmorgan> this useTestTheme method has also proven quite a timesink because I had a real headache trying to get it working in the first place a few weeks ago
1204: [16:33:22] <willmorgan> PigeonFriend I wonder what Laravel does when it comes to mocking themes
1205: [16:37:25] <micmania1> time to go for me
1206: [16:37:29] <micmania1> have a good weekend!
1207: [16:37:30] <micmania1> cya
1208: [16:38:54] <PigeonFriend> willmorgan: Laravel will do it properly
1209: [16:41:48] * thibault quit (Ping timeout: 240 seconds)
1210: [16:45:54] <willmorgan> omfg
1211: [16:46:02] <willmorgan> $this->cacheKey = 'manifest';
1212: [16:46:04] <willmorgan> NICE CACHE KEY BRO.
1213: [16:46:14] <willmorgan> for every instance of the template manifest
1214: [16:46:15] <willmorgan> the key is that
1215: [16:46:20] <willmorgan> smfh
1216: [16:47:46] <PigeonFriend> wait, wut?!
1217: [16:52:31] <willmorgan> mate, look it up
1218: [16:52:39] <willmorgan> I shit you not. it actually says that.
1219: [17:11:03] * muskie9 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1220: [17:58:37] * babak quit (Quit: Connection closed for inactivity)
1221: [18:03:51] * muskie9 has joined #silverstripe
1222: [18:22:22] * muskie9 quit (Ping timeout: 240 seconds)
1223: [18:30:33] * anselmdk quit (Quit: anselmdk)
1224: [18:32:48] * desperate_ quit (Ping timeout: 240 seconds)
1225: [18:38:27] * willmorgan quit (Ping timeout: 252 seconds)
1226: [18:48:59] * WilsonS has joined #silverstripe
1227: [19:01:38] * robert_ quit (Ping timeout: 276 seconds)
1228: [19:02:22] * muskie9 has joined #silverstripe
1229: [19:06:11] * Shrike_Finland has joined #silverstripe
1230: [19:09:22] * joelpittet has joined #silverstripe
1231: [19:21:50] * wilsonstaff has joined #silverstripe
1232: [19:22:32] <wilsonstaff> Hi to all, about ///// private static $has_many /// how do i do to that an upload filed that allows me to add as many pictures as i want to a page?
1233: [19:23:00] <wilsonstaff> Sorry =.> how do i do to *add* an upload filed that allows me to add as many pictures as i want to a page?
1234: [19:23:56] <muskie9> wilsonstaff: GridField http://doc.silverstripe.org/framework/en/reference/grid-field
1235: [19:25:06] * willmorgan has joined #silverstripe
1236: [19:25:13] <muskie9> this tutorial goes over something similar http://doc.silverstripe.org/framework/en/tutorials/5-dataobject-relationship-management
1237: [19:25:59] <wilsonstaff> Would that do it? private static $many_many = array( 'GalleryImages' => 'Image' );
1238: [19:26:46] <muskie9> it could, are you setting up a sort of image gallery?
1239: [19:27:43] * joelpittet quit ()
1240: [19:28:28] <wilsonstaff> muskie9 => yes.
1241: [19:32:20] <wilsonstaff> muskie9 => how do i loop thru the images??? <% loop GalleryImages %>
1242: [19:32:33] <muskie9> yes
1243: [19:33:09] <muskie9> I usually set something up like this: <?php
1244: [19:33:09] <muskie9> class GalleryPage extends Page{
1245: [19:33:09] <muskie9>
1246: [19:33:09] <muskie9> private static $has_many = array(
1247: [19:33:09] <muskie9> 'GalleryImages' => 'GalleryImage'
1248: [19:33:10] <muskie9> );
1249: [19:33:10] <muskie9>
1250: [19:33:11] <muskie9> public function getCMSFields(){
1251: [19:33:11] <muskie9> $fields = parent::getCMSFields();
1252: [19:33:12] <muskie9>
1253: [19:33:12] <muskie9> $config = GridFieldConfig_RelationEditor::create();
1254: [19:33:13] <muskie9> // Create a gridfield to hold the student relationship
1255: [19:33:13] <muskie9> $images = new GridField(
1256: [19:33:14] <muskie9> 'GalleryImages', // Field name
1257: [19:33:25] <muskie9> }
1258: [19:33:28] <muskie9> that wasn't supposed to happen
1259: [19:33:32] <muskie9> http://sspaste.com/paste/show/5363efe21ed39
1260: [19:34:37] <muskie9> this usually makes it easier to use the Gallery Images
1261: [19:35:46] <wilsonstaff> <muskie> => suppose i use only this /// private static $many_many = array( 'ImageGalerie' => 'Image' ); how do i loop the images in the .ss template???
1262: [19:36:45] <muskie9> assuming everything's working correctly it would be the relation name, so in what you just posted it would be <% loop ImageGalerie %>
1263: [19:38:13] <wilsonstaff> Right, but in between the loop? <ul> <% loop $ImageGalerie %> <li>????????</li> <% end_loop %> </ul>
1264: [19:38:41] <muskie9> $Image or <img src="$Image.URL" />
1265: [19:39:05] <muskie9> or it might be $URL depending
1266: [19:40:38] <wilsonstaff> Trying as we speak
1267: [19:42:17] <wilsonstaff> $URL returns this => /acmq/assets/galerie-photo/image1.jpg /acmq/assets/galerie-photo/image2.jpg /acmq/assets/galerie-photo/image3.jpg
1268: [19:43:14] <wilsonstaff> $Image.URL returns nothing
1269: [19:43:40] <muskie9> then you'll have to do this <img src="$URL" />
1270: [19:44:43] <wilsonstaff> This works => <img src="$URL" />
1271: [19:45:48] <wilsonstaff> Now, how to add a caption to the images? Know you gave me code, but as i am not using it (yet).
1272: [19:46:35] <muskie9> that's why I usually use what I posted... if you make the relation to a DataObject it's easier to manage Titles, Captions, Descriptions, etc.
1273: [19:46:57] <muskie9> much like here: http://doc.silverstripe.org/framework/en/tutorials/5-dataobject-relationship-management
1274: [19:49:21] <wilsonstaff> <muskie> Ok thanks, will look at this. Thanks again! Quit.
1275: [19:49:25] * wilsonstaff quit (Quit: Page closed)
1276: [19:59:10] * UncleCheese_ has joined #silverstripe
1277: [19:59:30] * willmorgan quit (Ping timeout: 240 seconds)
1278: [20:01:16] * babak has joined #silverstripe
1279: [20:10:09] * UndefinedOffset quit (Read error: Connection reset by peer)
1280: [20:11:33] * muskie9 quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1281: [20:13:12] * muskie9 has joined #silverstripe
1282: [20:14:03] * r3v3rb has joined #silverstripe
1283: [20:15:02] <r3v3rb> evening all
1284: [20:15:49] <r3v3rb> Is it possible to sort a gridfield by a column that is generated by a function
1285: [20:17:00] <r3v3rb> or by $this->created
1286: [20:18:26] <guzzlefry> I don't see why $this->created wouldn't work.
1287: [20:21:39] * terryapodaca has joined #silverstripe
1288: [20:21:47] * r3v3rb quit (Read error: No route to host)
1289: [20:23:06] <terryapodaca> I've got a question for you designers....I have a client that wants to showcase his Products and Services but doesn't want any eCommerce.
1290: [20:23:24] <terryapodaca> So it'll be basically a Brochure style website
1291: [20:23:43] <terryapodaca> does anyone know any good SS themes that already exist for this kind of project?
1292: [20:26:06] * r3v3rb has joined #silverstripe
1293: [21:06:17] * UncleCheese_ quit (Quit: UncleCheese_)
1294: [21:10:40] * WilsonS quit (Quit: Page closed)
1295: [21:13:34] * Stomcch has joined #silverstripe
1296: [21:14:23] * nbezzala has joined #silverstripe
1297: [21:15:27] * DesignerX has joined #silverstripe
1298: [21:18:33] * nbezzala_ has joined #silverstripe
1299: [21:20:05] * gelignite has joined #silverstripe
1300: [21:21:58] * nbezzala quit (Ping timeout: 240 seconds)
1301: [21:31:47] * marvanni quit (Ping timeout: 276 seconds)
1302: [21:32:01] * marvanni has joined #silverstripe
1303: [21:37:02] * muskie9 quit (Quit: Textual IRC Client: www.textualapp.com)
1304: [21:43:16] * r3v3rb quit (Quit: r3v3rb)
1305: [21:52:22] * nbezzala_ quit (Ping timeout: 240 seconds)
1306: [21:54:05] * nbezzala has joined #silverstripe
1307: [22:16:32] * Colin[pi] has joined #silverstripe
1308: [22:16:44] * nbezzala quit (Remote host closed the connection)
1309: [23:18:37] * babak quit (Quit: Connection closed for inactivity)
1310: [23:25:33] * robert_ has joined #silverstripe
1311: [23:25:52] * robert_ quit (Changing host)
1312: [23:25:52] * robert_ has joined #silverstripe
1313: [23:30:07] * terryapodaca has left #silverstripe
1314: [23:36:24] * UncleCheese_ has joined #silverstripe
1315: [23:51:07] * UncleCheese_ quit (Quit: UncleCheese_)
1316: [23:56:25] * gelignite quit (Quit: http://bit.ly/nkczDT)

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