#silverstripe IRC Log

IRC log for 26 April 2013

All timestamps are in UTC.

1: [00:00:00] <FrozenFire> Haha
2: [00:00:00] <simon_w> punk kid
3: [00:00:00] <simon_w> Yes, I, Simon, should
4: [00:00:00] <simon_w> I should probably stop now
5: [00:00:00] <simon_w> get off my lawn
6: [00:00:00] * simon_w has joined #silverstripe
7: [00:00:00] * simon_w has left #silverstripe
8: [00:01:00] <simon_w> and leave Caitlin in charge.
9: [00:01:00] * FrozenFire can't figure out why his custom GridFieldDetailForm_ItemRequest isn't redirecting back properly :(
10: [00:02:00] <FrozenFire> Keep redirecting back to a blank interface
11: [00:02:00] <FrozenFire> That much is quite apparent
12: [00:02:00] <simon_w> Doing it wrong!
13: [00:03:00] <FrozenFire> http://www.sspaste.com/paste/show/5179c43c1f21b
14: [00:07:00] <FrozenFire> Nope, didn't help.
15: [00:07:00] <FrozenFire> Forgot to specify an action
16: [00:07:00] <FrozenFire> Derp.
17: [00:08:00] <FrozenFire> Had to return the edit action, instead of redirecting.
18: [00:08:00] <FrozenFire> Aha. Managed.
19: [00:09:00] <simon_w> Yay, I didn't have to go see how the save action does it
20: [00:10:00] <FrozenFire> Or at least the comments indicated that
21: [00:10:00] <FrozenFire> But that presumes that the data didn't change
22: [00:10:00] <FrozenFire> Well, it returns the edit action
23: [00:10:00] <simon_w> Doing that over VNC would've been fun
24: [00:10:00] <FrozenFire> I found that it worked just fine
25: [00:11:00] <FrozenFire> I suppose I was operating on the record itself, so the changes that were occurring were happening on the instance that the item request had
26: [00:21:00] <FrozenFire> Hrmm, I have no idea where that title tag that dangerdan mentioned is coming from
27: [00:22:00] <FrozenFire> Doesn't seem to be munged in by ContentNegotiator
28: [00:22:00] <FrozenFire> Nor SSViewer
29: [00:22:00] <FrozenFire> That html5 thingy is gone, yeh?
30: [00:24:00] <FrozenFire> Wonder if it's CMS
31: [00:29:00] <FrozenFire> dangerdan, Are you sure you're running 3.0.5?
32: [00:30:00] <FrozenFire> I just looked at a project I have based on 3.0.5, and it actually doesn't have that bug
33: [00:39:00] <FrozenFire> https://github.com/silverstripe/silverstripe-cms/blob/3.0/code/model/SiteTree.php#L1270
34: [00:39:00] <FrozenFire> dangerdan, Aha! Found it
35: [00:39:00] <FrozenFire> You can do $MetaTags(0) to avoid the title
36: [00:39:00] <FrozenFire> It's because you're using $MetaTags in the head
37: [00:40:00] <simon_w> Well, you usually use $MetaTags(false)
38: [00:40:00] <FrozenFire> Then again, I think "false" == false
39: [00:40:00] <simon_w> BurgerFuel time! By there's no pyro to mock
40: [00:40:00] <FrozenFire> I can never remember how SS handles parameters
41: [00:40:00] <FrozenFire> Or that
42: [00:41:00] <simon_w> They're all strings. MetaTags specifically checks for "false"
43: [00:41:00] <FrozenFire> Wrong. It specifically checks for 'true' :P
44: [00:42:00] <simon_w> Close enough :p
45: [00:44:00] * terryapodaca has left #silverstripe
46: [00:45:00] * SightUnseen has left #silverstripe
47: [00:45:00] * SightUnseen has joined #silverstripe
48: [01:02:00] <FrozenFire> https://www.youtube.com/watch?v=mfO-Ptau7kw
49: [01:03:00] * FrozenFire is considering putting his monitor vertical
50: [01:08:00] <Colin[pi]> haha frozenfire, at the end of that clip - that's how I feel reading a broadsheet paper on public transport
51: [02:30:00] * SightUnseen has joined #silverstripe
52: [02:32:00] * SightUnseen has left #silverstripe
53: [02:46:00] * DesignerX has joined #silverstripe
54: [02:48:00] * timsnadden_ quit (Quit: timsnadden_)
55: [02:49:00] <DesignerX> hi guys.. How many Media quiries is "too many" ? & dow they effect the preformance of the website ? (looking at 60+ media quiries) .. Why? working the differnce btween using "Differnt style sheets for each screen size" VS " using LessCSS functions in one stylesheet"
56: [02:51:00] <FrozenFire> One small image is probably more significant than any CSS files you're sending
57: [02:51:00] <FrozenFire> Probably more of a question for #css, but the only effect it's likely to have at all is the size of the page
58: [02:51:00] <FrozenFire> And even then, it's minimal
59: [02:55:00] <DesignerX> kk.. the plan is to do this : .MyClass{ .breakpoint-level1(50%); .breakpoint-level2(100%)) .. this means .MyClass will have 2 mediaquiries within & tells it to br 50% width on brakpoint1(960px) and 100% width on breakpoint2(720px) ... I will post this on #CSS . TY
60: [03:02:00] * kerosene has joined #silverstripe
61: [03:14:00] * gelignite quit (Quit: http://bit.ly/nkczDT)
62: [03:19:00] * kerosene is now known as kerozene
63: [03:40:00] <DesignerX> hi again, I downloaded & customized an existing module (https://github.com/nyeholt/silverstripe-usertemplates) . I stripped alot of code & changed the way it works (it looks for template files & no template can be created in the CMS) .. do I need to contact the original developer if i was to upload it on github ? How would I go about Credit & Copy rights ?
64: [03:46:00] * sewid has joined #silverstripe
65: [03:51:00] * cloph quit (Ping timeout: 246 seconds)
66: [03:54:00] <FrozenFire> DesignerX, If you look at the composer.json, it's licensed under http://opensource.org/licenses/BSD-3-Clause
67: [03:55:00] * cloph_away has joined #silverstripe
68: [03:55:00] <FrozenFire> Which is, essentially, a license which says "Do what you want with it, but use this same license, and don't say I endorse your work. I'm also not responsible for any way you kill yourself with this"
69: [03:57:00] <DesignerX> FrozenFire: nice & simple :D great .. this allow you to selct a cistom Main & Layout template files for each page .. looking for tester & I will upload very soon :D
70: [03:58:00] <FrozenFire> Just don't put the template editor in the CMS
71: [03:58:00] * willr_ quit (Quit: willr_)
72: [03:58:00] <DesignerX> allow to select a custom *
73: [03:59:00] <DesignerX> nah.. this is what I removed.. I only want it to load a template file from a set folder
74: [04:04:00] * kerozene is now known as kerosene
75: [04:05:00] * kerosene is now known as kerozene
76: [04:13:00] * mobiusnz quit (Quit: Leaving.)
77: [04:28:00] * Shrike_Finland quit (Quit: Leaving.)
78: [04:43:00] * timsnadden_ has joined #silverstripe
79: [04:45:00] <Pyromanik> that awkward moment when you realise you're typing /connect #silverstripe instead of /join #silverstripe
80: [04:45:00] * Pyromanik has joined #silverstripe
81: [04:58:00] <spronk> lul ircfail
82: [05:00:00] <Colin[pi]> is there a good resource that shows what are the "going rates" for certain sites at the moment?
83: [05:00:00] <Colin[pi]> would be good to compare
84: [05:02:00] <Pyromanik> and yes
85: [05:02:00] <Pyromanik> as above
86: [05:02:00] <Colin[pi]> there is some pretty wild variation out there
87: [05:02:00] <Pyromanik> every time you try to 'box' a package deal
88: [05:02:00] <FrozenFire> That's a highly variable thing to gauge
89: [05:02:00] <Pyromanik> Colin[pi]: no, not really
90: [05:02:00] <Colin[pi]> there should be lol
91: [05:02:00] <FrozenFire> Uhh... no.
92: [05:02:00] <FrozenFire> :P
93: [05:02:00] <Colin[pi]> aww :(
94: [05:02:00] <Pyromanik> it would only serve to fuck the industry more
95: [05:02:00] <Colin[pi]> yeah I guess so
96: [05:03:00] <Colin[pi]> yeah that would be a problem :)
97: [05:03:00] <Colin[pi]> I still think I am undercharging for my projects
98: [05:03:00] <FrozenFire> Gah
99: [05:03:00] <FrozenFire> reasonable***
100: [05:03:00] <FrozenFire> The best way to go about it is simply to learn to estimate how long a project will take you to complete.
101: [05:03:00] <FrozenFire> And then multiple that by your reasonably hourly rate
102: [05:03:00] <Pyromanik> someone wants something slightly different and you have to requote and it's a pain and then they dispute the bill, then blah blah blah dickheads.
103: [05:03:00] <FrozenFire> Plus a documentation fee of about 5% of that.
104: [05:03:00] <FrozenFire> reasonably**
105: [05:03:00] <FrozenFire> I am terrible at typing today.
106: [05:04:00] <FrozenFire> You probably are undercharging
107: [05:04:00] <Pyromanik> Colin[pi]: so charge more.
108: [05:04:00] <Pyromanik> you're doing one of two things:
109: [05:04:00] <Pyromanik> too cheap
110: [05:04:00] <Pyromanik> or
111: [05:04:00] <Pyromanik> underestimating hours.
112: [05:04:00] <Colin[pi]> I think it's more the latter
113: [05:04:00] <Pyromanik> (err, too cheap per hour)
114: [05:04:00] <Pyromanik> yeh
115: [05:04:00] <Pyromanik> so fix that
116: [05:04:00] <Colin[pi]> I think "Oh I think that's fairly easy"
117: [05:04:00] <Colin[pi]> then sixteen weeks later
118: [05:04:00] <Pyromanik> yeah
119: [05:04:00] <Colin[pi]> and often due to client fuck-arounds
120: [05:04:00] <Pyromanik> learn more about NOT doing "top down estimates"
121: [05:05:00] <FrozenFire> And don't deviate from the spec
122: [05:05:00] <FrozenFire> If you need to, then bill it out separately.
123: [05:05:00] <Pyromanik> Colin[pi]: highly recommend an introductory course on project management (proper project management, not "your role as a project manager will include talking bullshit all day and saying yes to things your team cannot actually do"
124: [05:05:00] <Pyromanik> also
125: [05:05:00] <FrozenFire> Colin[pi], Don't blame the client. Blame yourself. :P
126: [05:05:00] <Pyromanik> 'change requests'
127: [05:05:00] <Pyromanik> best thing ever
128: [05:05:00] <Colin[pi]> yeah I know it's my bad :)
129: [05:05:00] <FrozenFire> If you spec'd the project properly, instead of jumping in without a good idea what will be involved, you wouldn't be in that situation
130: [05:06:00] <Pyromanik> "(before consulting them)"
131: [05:06:00] <Pyromanik> so you want to study PROPER project management (there's a whole instutution and stuff with qualifications and all that)
132: [05:06:00] <Pyromanik> exactly
133: [05:06:00] <Colin[pi]> ohhh that latter one, story of my life working as a dev for big companies
134: [05:07:00] <Pyromanik> from a 2 day course.
135: [05:07:00] <Pyromanik> not study what "project manager's" do.
136: [05:07:00] <Colin[pi]> sounds like something to consider, as it would help me quite a lot
137: [05:07:00] <Pyromanik> yes
138: [05:07:00] <Pyromanik> I learnt heaps
139: [05:07:00] <ss23> I bet you did, nooby!
140: [05:07:00] <ss23> :D
141: [05:10:00] <Colin[pi]> sounds like a condition that affects women
142: [05:10:00] <Pyromanik> Colin[pi]: PMI.org
143: [05:11:00] <Colin[pi]> cool looking now
144: [05:11:00] <Pyromanik> Colin[pi]: if you have an equiv. of cdc.org.nz
145: [05:11:00] <Pyromanik> Colin[pi]: I don't mean to say you should get a qualification from one this place, I just mean that you should differentiate what most places call a 'project manager' and what REAL project management is.
146: [05:12:00] <Pyromanik> see if they offer startup help seminars
147: [05:12:00] <Pyromanik> Colin[pi]: http://nz.linkedin.com/pub/dir/Sean/Whitaker/
148: [05:12:00] <Pyromanik> this chap took an 8 hour course (over 2 days), taught me HEAPS
149: [05:12:00] <Colin[pi]> i've worked in enough places to make that assessment myself, I worked with plenty of "project managers" (quote/unquote) :)
150: [05:13:00] <Pyromanik> (through cdc.org.nz, was completely free to me)
151: [05:13:00] <Colin[pi]> awesome
152: [05:13:00] <Pyromanik> basically goes through a brief overview of what a real project management workflow should look like
153: [05:14:00] <Pyromanik> and how to avoid getting reamed by client scope creep
154: [05:14:00] <Colin[pi]> cool
155: [05:14:00] <Pyromanik> not "oh yeah, about that long x hourly rate x 1.5 + 3 hours = quote"
156: [05:14:00] <Pyromanik> etc
157: [05:15:00] <Pyromanik> (and the methodolgy in general)
158: [05:15:00] <Pyromanik> but the basics apply, it's just harder to think about how you'd do such when you don't know what you're doing because it's completely new to you
159: [05:15:00] <Pyromanik> lol
160: [05:15:00] <Pyromanik> it's harder to do when you're by yourself, the course is more aimed at people in charge of big projects with teams and things
161: [05:16:00] <Pyromanik> it soon becomes apparent that there are lots of pitfalls that you would have otherwise fallen into
162: [05:16:00] <Colin[pi]> heh
163: [05:16:00] <Pyromanik> but if you sit down and draw out a full plan of what you need to do
164: [05:18:00] <Pyromanik> Colin[pi]: which is where a book like this comes in SUPER handy: http://www.headfirstlabs.com/books/hfooad/
165: [05:19:00] * timsnadden__ has joined #silverstripe
166: [05:20:00] * timsnadden_ quit (Ping timeout: 256 seconds)
167: [05:22:00] <Pyromanik> ciao
168: [05:22:00] <Pyromanik> anyway, have a good weekend,.
169: [05:22:00] * Pyromanik quit (Quit: leaving)
170: [05:24:00] * sewid quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz???)
171: [05:40:00] * timsnadden__ quit (Quit: timsnadden__)
172: [05:56:00] * spronk has left #silverstripe
173: [06:11:00] * spronk has joined #silverstripe
174: [06:11:00] * Zauberfisch has joined #silverstripe
175: [06:23:00] * simon_w quit (Ping timeout: 264 seconds)
176: [06:24:00] * kerozene is now known as OldTom
177: [06:34:00] * simon_w has joined #silverstripe
178: [06:42:00] * Shrike_Finland has joined #silverstripe
179: [06:47:00] * priithansen has joined #silverstripe
180: [07:17:00] * SticksM quit (Read error: Connection reset by peer)
181: [07:18:00] * Shrike_Finland quit (Remote host closed the connection)
182: [07:26:00] * DesignerX quit (Ping timeout: 268 seconds)
183: [07:28:00] <priithansen> where should I look if I want to color gridfield row depending on the data?
184: [07:31:00] <FrozenFire> Probably GridFieldDataColumns
185: [07:33:00] * chillu has joined #silverstripe
186: [07:34:00] <priithansen> Had the same feeling though everything seems kinda column based in there. Will have to test and see if I can make it do what's needed. Thanks
187: [07:37:00] <FrozenFire> Kinda-sorta
188: [07:38:00] <FrozenFire> It does handle the columns
189: [07:39:00] <FrozenFire> You could also simply add a class to the first column when needed
190: [07:39:00] <FrozenFire> But I think it also gives you some opportunities to munge the rows
191: [07:40:00] <FrozenFire> Or rather, .thatClass, .thatClass ~ column
192: [07:40:00] <FrozenFire> That'll select all of the columns in that row
193: [07:40:00] <priithansen> Yep I'll have to think about it maybe it even makes sense for me to highlight only the column
194: [07:40:00] * zfmf has joined #silverstripe
195: [07:40:00] <priithansen> Wan't to divert attention to results that are not in the set limits.
196: [07:40:00] <FrozenFire> And then use CSS to do .thatClass ~ column
197: [07:41:00] <FrozenFire> Yep. Selects all matches following that element
198: [07:41:00] * timsnadden_ has joined #silverstripe
199: [07:41:00] <priithansen> Did not know about that css selector, nice
200: [07:43:00] * dangerdan quit (Ping timeout: 245 seconds)
201: [07:45:00] <priithansen> thanks again for the tips FrozenFire
202: [07:50:00] * timsnadden_ quit (Quit: timsnadden_)
203: [07:53:00] * Zauberfisch quit (Remote host closed the connection)
204: [07:54:00] * Zauberfisch has joined #silverstripe
205: [07:55:00] * Zauberfisch_ has joined #silverstripe
206: [07:56:00] * Zauberfisch_ quit (Remote host closed the connection)
207: [07:58:00] * Zauberfisch quit (Ping timeout: 245 seconds)
208: [08:00:00] * kinglozzer has joined #silverstripe
209: [08:03:00] * kinglozzer quit (Remote host closed the connection)
210: [08:07:00] * kinglozzer has joined #silverstripe
211: [08:09:00] * popeshoe has joined #silverstripe
212: [08:09:00] * Colin[pi] quit ()
213: [08:12:00] * WillM has joined #silverstripe
214: [08:14:00] <WillM> just wondering if you'd be ok with me taking the same approach for lost password, etc etc
215: [08:14:00] <WillM> hey chillu - i'm working on that pull request now
216: [08:15:00] * Zauberfisch has joined #silverstripe
217: [08:17:00] <chillu> WillM: Hmm, so the solution @willr described doesn't work for you? That sounds like a good way to avoid cluttering core with these kinds of special cases
218: [08:18:00] <WillM> that's a good suggestion and I didn't think of it, but don't you think the work so far declutters it?
219: [08:18:00] <WillM> like, no HTML in the controller method etc
220: [08:20:00] <chillu> The rewrite to template usage is good, but not so much the "if ajax" conditionals
221: [08:20:00] <WillM> yeah, I don't really like that either...
222: [08:21:00] <chillu> Maybe we could introduce a Security->getTemplate($action) method, which returns an array in the form renderWith() expects? This way you could simply subclass Security
223: [08:21:00] <WillM> if you're happy with me doing that, I can get that done today
224: [08:22:00] <WillM> declutters it even further and gives control to the dev
225: [08:22:00] <chillu> Yep, that'd be awesome
226: [08:22:00] <WillM> okay, nice one
227: [08:23:00] <chillu> So you still have time of OSS with Mike traveling about, and missing from BB? :)
228: [08:24:00] <WillM> well, yeah
229: [08:24:00] <WillM> Dan's spent a lot of time working on contributions, he said about 60% of his time working on a recent project involved OSS work
230: [08:25:00] <WillM> we're trying to encourage people to write modules whenever they come up against a weird case and then put them on github
231: [08:28:00] <chillu> Plopinou: Hello!
232: [08:28:00] * hubertusanton has joined #silverstripe
233: [08:28:00] * Plopinou has joined #silverstripe
234: [08:28:00] <chillu> Wow, that's awesome. I remember back when I visited about a year ago, you didn't have much bandwidth for OSS, so great that you're in a position as a company where that changed :)
235: [08:28:00] <Plopinou> hi guys
236: [08:29:00] <WillM> well, we still officially don't, but Dan and I don't mind working a bit extra to get things done the right way :-P
237: [08:29:00] <WillM> for e.g. I've still not had time to do the abstract DataObject stuff
238: [08:30:00] * kinglozzer has joined #silverstripe
239: [08:30:00] * kinglozzer quit (Read error: Connection reset by peer)
240: [08:30:00] * DesignerX has joined #silverstripe
241: [08:30:00] <Plopinou> I have a little question for you, Anyone has already try to work with the Jtable ?
242: [08:31:00] <Plopinou> I know isn't really the place here
243: [08:31:00] <WillM> what he said ^ :-P
244: [08:31:00] <WillM> are you trying to write the SS backend so the plugin can query your DB?
245: [08:31:00] <Zauberfisch> Plopinou if its a silverstripe project, why not use gridField?
246: [08:31:00] <Plopinou> WillM : yes :)
247: [08:31:00] <WillM> Plopinou: this: http://www.jtable.org/?
248: [08:32:00] <Plopinou> Zauberfisch : you know why ^^ you saw my code :p
249: [08:32:00] * waveydave has joined #silverstripe
250: [08:32:00] <Plopinou> WillM : no no I have 3 Jtable and all is working fine, but i have a problem with localization
251: [08:33:00] <Plopinou> and as maintainer don't answer me, i'm coming here maybe someone has some tips to share
252: [08:33:00] <WillM> (maybe not something I can immediately help with but sounds interesting)
253: [08:33:00] <WillM> mmm?
254: [08:34:00] <Plopinou> But no complete
255: [08:34:00] <Plopinou> Jtable include a localization system
256: [08:35:00] <Plopinou> For example I wanna localize the title of my columns and I can't figure out how
257: [08:37:00] <Plopinou> Here is my jtable in french
258: [08:37:00] <WillM> what have you tried so far?
259: [08:37:00] <Plopinou> http://screencast.com/t/tl7OWABmYWPh
260: [08:38:00] * osterlaus has joined #silverstripe
261: [08:38:00] <DesignerX> Plopinou: this JTable looks great , it would be so cool if its used with SS3 , another way to manage my objects/relations ..
262: [08:38:00] <Plopinou> http://screencast.com/t/GR3A6Rg3o
263: [08:38:00] <Plopinou> and here is my jtable in English
264: [08:39:00] <WillM> Plopinou: it looks like some parts of the table are being localised, but not others.
265: [08:39:00] <Plopinou> WillM : I know I can localize with the message field like this :
266: [08:40:00] <WillM> where does that code go? ^
267: [08:40:00] <Plopinou> message { AddNewRecord : "Ajouter un protocole" }
268: [08:40:00] <Plopinou> WillM : yep it is
269: [08:41:00] <Plopinou> WillM : hold on I show you
270: [08:41:00] <WillM> it sounds like you just need to convert the headers to use the new placeholders, but I don't know without looking at some code
271: [08:41:00] <Plopinou> DesignerX : Jtable is really great but I don't try SS3 for now, i'm still stuck on 2.4 version
272: [08:41:00] <WillM> here: https://github.com/hikalkan/jtable/blob/master/lib/localization/jquery.jtable.fr.js?
273: [08:42:00] <Plopinou> cause i don't have only one Jtable
274: [08:42:00] * Shrike_Finland has joined #silverstripe
275: [08:42:00] <Plopinou> yep that is the FR file but is really general
276: [08:42:00] * CHIex has joined #silverstripe
277: [08:42:00] <Plopinou> and i have to do some specific stuff
278: [08:42:00] <Plopinou> and this file is call for each Jtable
279: [08:43:00] <DesignerX> Plopinou: :( GF takes too many clicks to get some basic things done, is this on github somewhere to keep an eye on it ?
280: [08:43:00] <WillM> DesignerX see link above ^
281: [08:43:00] <Plopinou> DesignerX : yeah see WillM's link
282: [08:44:00] <Plopinou> I wanna pull request on githut of my code, cause there are a few example of JTable with PHP
283: [08:44:00] <WillM> so is there any way you could further extend the messages object per instance?
284: [08:44:00] <Plopinou> WillM : Maybe but i don't know how
285: [08:44:00] <WillM> Plopinou: yeah, so I think you will need to add some new object keys to that file I linked above, but the problem you'll then have is that these are for specific columns that are set on an instance level
286: [08:45:00] <Plopinou> there is no explanation on github about specific localization
287: [08:45:00] <WillM> Plopinou it's the same way it is done in the file I linked above
288: [08:45:00] <WillM> you just $.extend the object for each localised instance for the header columns, I guess
289: [08:46:00] <WillM> Plopinou: what about here - https://github.com/hikalkan/jtable/blob/master/lib/jquery.jtable.js#L108 - can you not use a different list of headers depending on the language?
290: [08:47:00] <chillu> :D
291: [08:47:00] <Plopinou> WillM : not worries :) thx for the time
292: [08:47:00] <WillM> I have to do some work for chillu!
293: [08:47:00] <WillM> I'm afraid I can't really help further than that though, for now. Sorry :(
294: [08:49:00] <Plopinou> WillM : but to answer you i have a least 2 languages for the headers
295: [08:49:00] <WillM> yeah - when you initialise the table, you will need to do so with some different options
296: [08:50:00] <Plopinou> yeah, I would like there is a function like the _t() XD
297: [08:51:00] <WillM> do a search in that file for the _columnList variable
298: [08:51:00] <WillM> I'm pretty sure you'll be able to figure out a way of manipulating it so you can get the languages working right
299: [08:52:00] <Plopinou> ok i try it now
300: [08:58:00] * willmorgan has joined #silverstripe
301: [08:58:00] * osterlaus quit (Quit: Leaving.)
302: [09:20:00] <willmorgan> hmm, chillu, what should I do with the security messages?
303: [09:20:00] <willmorgan> I wonder if it would be overkill to put it in its own template
304: [09:20:00] <chillu> willmorgan: line reference?
305: [09:21:00] <willmorgan> I'm thinking put the message and message type as variables in to the customisedController
306: [09:21:00] <willmorgan> chillu: https://gist.github.com/willmorgan/5459539#file-securityajax-php-L421
307: [09:21:00] <willmorgan> one sec,
308: [09:22:00] <willmorgan> i'm testing locally with that file now and it seems to work nicely
309: [09:22:00] <willmorgan> yeah
310: [09:22:00] <willmorgan> the purist in me dislikes it ;)
311: [09:22:00] <chillu> You mean the fact that its hardcoding HTML in PHP?
312: [09:22:00] <willmorgan> I'm subclassing Security and using routes.yml to override it (Security => CustomSecurity)
313: [09:23:00] <willmorgan> if you see line 426-429, I personally would put those things in to the controller as raw text
314: [09:23:00] <chillu> Form.ss can render $Message into a <p> already, so you just need to pass that in
315: [09:23:00] <willmorgan> so Content would be the raw message, and I'd add something like MessageType as the $message_type variable
316: [09:24:00] <chillu> Ah the problem is that it renders the message *outside* of the forms when multiple forms/tabs are present
317: [09:24:00] <willmorgan> MessageType you mean?
318: [09:24:00] <willmorgan> yeah...
319: [09:25:00] <chillu> On that note, f*** bluetooth keyboards ;)
320: [09:25:00] <chillu> You can handle that in MultiAuthenticatorLogin.ss thou MultiAuthenticatorLogingh
321: [09:26:00] <willmorgan> sweet
322: [09:26:00] <willmorgan> so I can remove Content entirely then
323: [09:26:00] <chillu> Yep
324: [09:31:00] <Zauberfisch> chillu how big are the chances of getting gridfield sortable stuff into core with 3.2?
325: [09:33:00] <chillu> Zauberfisch: Also, keen to work on https://github.com/silverstripe/sapphire/issues/1606 ? :D
326: [09:33:00] <chillu> There's at least two solutions to that already, and from what I can tell they're well maintained. What's the motivation for getting it into core? From my perspective, it'll just mean they're less likely to be maintained by anybody other than the core team, which means the feature has to compete with many others for our time. Is there a architectural reason it needs to be in core, as opposed to "many people need it"?
327: [09:37:00] <Zauberfisch> chillu on the todolist
328: [09:37:00] <Zauberfisch> for 2014
329: [09:38:00] <chillu> haha, I have a list like that as well
330: [09:38:00] <Zauberfisch> well
331: [09:38:00] <Zauberfisch> so ...
332: [09:38:00] <Zauberfisch> and my rebuild of UploadField will not be finished soon
333: [09:38:00] <Zauberfisch> I am done with UploadField
334: [09:39:00] <Zauberfisch> and before I even start the new UploadField, I want to fix GridField, and that is going to take several month
335: [09:48:00] * gelignite has joined #silverstripe
336: [09:50:00] * hubertusanton quit (Quit: hubertusanton)
337: [09:53:00] * aragonne has joined #silverstripe
338: [09:55:00] <aragonne> hey guys, any tutorials/guidelines out there outlining how to create a front end CMS using SS?
339: [09:55:00] <willmorgan> chillu: https://github.com/willmorgan/sapphire/commit/fbf4bfb4ecd582a493f8d3840d1899fdaa9506ba#L0R662
340: [09:56:00] <chillu> Zauberfisch: Ah, the luxury of saying "I'm done with <insert core feature> here". We don't have that unfortunately.
341: [09:56:00] <willmorgan> and also chilli, the class PHPdoc (with changes using above classes ^): https://github.com/willmorgan/sapphire/commit/fbf4bfb4ecd582a493f8d3840d1899fdaa9506ba#L0R350
342: [09:56:00] * eikonos1 has joined #silverstripe
343: [09:57:00] * eikonos quit (Read error: Connection reset by peer)
344: [09:58:00] <chillu> willmorgan: Looks good, minus the whitespace changes.
345: [09:59:00] <chillu> Are you testing this all on a multi authenticator setup as welll?
346: [10:00:00] <willmorgan> yeah
347: [10:00:00] <willmorgan> I'll sort out the whitespace stuff and submit another pull request to master if you're happy with it
348: [10:07:00] * SightUnseen has left #silverstripe
349: [10:07:00] * SightUnseen has joined #silverstripe
350: [10:15:00] * priithansen quit (Ping timeout: 248 seconds)
351: [10:15:00] * priithansen_ has joined #silverstripe
352: [10:31:00] <Zauberfisch> chillu yeah, I know
353: [10:31:00] <Zauberfisch> chillu but the feature you guys talk about in that ticket means a great deal of refactoring
354: [10:32:00] <Zauberfisch> chillu and I am not going to do that in a component that I aim to deprecate
355: [10:39:00] <Zauberfisch> chillu commented on that issue https://github.com/silverstripe/sapphire/issues/1606
356: [10:40:00] <Zauberfisch> chillu so we should seperat that ticket into 2 things
357: [10:40:00] <Zauberfisch> I am willing to fix 1)
358: [10:40:00] <Zauberfisch> 2) feature request: ability to add files before the record is saved
359: [10:40:00] <Zauberfisch> 1) bug, $record is not detected properly on unsaved records
360: [10:41:00] <Zauberfisch> I am most certainly not going to implement 2) because that's a waste of time
361: [10:41:00] <Zauberfisch> at least from my point of view its a waste of time
362: [10:41:00] <Zauberfisch> because as said, i work on a new version of it, so i will not implement new features
363: [10:44:00] * zfmf has left #silverstripe
364: [10:55:00] * Liquide quit ()
365: [11:06:00] * Zauberfisch quit (Ping timeout: 252 seconds)
366: [11:06:00] <chillu> Zauberfisch: Do you envision your refactoring to be largely PHP API compatible with the current UploadField? Its unlikely that we're going to deprecate it for a completely different system in core anytime soon, so in that case it'd need to become a module
367: [11:18:00] * peter_ss1 has left #silverstripe
368: [11:19:00] * chillu quit (Quit: chillu)
369: [11:22:00] * ivoba has joined #silverstripe
370: [11:33:00] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/sapphire/compare/b211f22bf917...5f91c3724dd1
371: [11:33:00] * travis-ci has joined #silverstripe
372: [11:33:00] <travis-ci> [travis-ci] silverstripe/sapphire#2082 (3.0 - 5f91c37 : Ingo Schommer): The build passed.
373: [11:33:00] * travis-ci has left #silverstripe
374: [11:33:00] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/sapphire/builds/6655443
375: [11:43:00] * CHIex quit (Ping timeout: 246 seconds)
376: [11:44:00] <travis-ci> [travis-ci] Change view : https://github.com/silverstripe/sapphire/compare/c8d98861c0a0...b211f22bf917
377: [11:44:00] * travis-ci has joined #silverstripe
378: [11:44:00] <travis-ci> [travis-ci] Build details : http://travis-ci.org/silverstripe/sapphire/builds/6655290
379: [11:44:00] * travis-ci has left #silverstripe
380: [11:44:00] <travis-ci> [travis-ci] silverstripe/sapphire#2081 (3.0 - b211f22 : Ingo Schommer): The build passed.
381: [11:45:00] * wmk has joined #silverstripe
382: [11:45:00] * ivoba quit (Ping timeout: 264 seconds)
383: [12:07:00] * ivoba has joined #silverstripe
384: [12:10:00] * lx-berlin has joined #silverstripe
385: [12:12:00] * UndefinedOffset has joined #silverstripe
386: [12:17:00] * micmania1 has joined #silverstripe
387: [12:18:00] <micmania1> does anybody know if there's an issue with FieldSet->beforeInsert in ss 2.4?
388: [12:20:00] <micmania1> insertBefore even.
389: [12:50:00] <willmorgan> what trouble are you having micmania1?
390: [12:52:00] * lx-berlin has left #silverstripe
391: [12:58:00] <micmania1> Hi Will, its just not working. Or at least not in the same way it does in ss3. I'm trying $fields->insertBefore($myField, "Title")
392: [12:59:00] <micmania1> I think its got something to do with Title being a Field within a tab.
393: [13:19:00] * Shrike_Finland quit (Quit: Leaving.)
394: [13:26:00] * jcwacky has joined #silverstripe
395: [13:27:00] <jcwacky> Anyone around that's used Mollom?
396: [13:28:00] * maknz quit (Read error: Connection reset by peer)
397: [13:38:00] * sewid has joined #silverstripe
398: [13:40:00] * howardgrigg quit (Remote host closed the connection)
399: [13:43:00] * webguest has joined #silverstripe
400: [13:44:00] * sewid quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz???)
401: [13:46:00] <webguest> I have a jQuery question:' how do i check if a div's content is changed? the content is coming from a javascript XHR request from a php file http://paste2.org/35JbGMk3
402: [13:49:00] * jcwacky quit (Quit: jcwacky)
403: [13:50:00] <webguest> Or even better, how do i make a function that constantly checks if a element exist (note that my element comes from a XHR request)
404: [13:50:00] <webguest> lengte > 1 didnt work
405: [13:58:00] <kinglozzer> webguest: if ($('.myelement').length > 0)
406: [13:59:00] <kinglozzer> I don't know of any way to 'constantly' check that. I'd do it as a callback from your XHR request
407: [13:59:00] <webguest> yeah this doesnt work, because the content is there yet when the check takes place
408: [13:59:00] <webguest> i have a javascript that uses a xhr request to echo data from a php file in a div
409: [14:00:00] <webguest> how do i call a jquery function from Javascript?
410: [14:00:00] * gelignite quit (Quit: http://bit.ly/nkczDT)
411: [14:00:00] <webguest> maybe ill just add a call to my function replace(); form javascript
412: [14:01:00] * lx-berlin has joined #silverstripe
413: [14:01:00] * lx-berlin has left #silverstripe
414: [14:04:00] <webguest> Kinglozzer, solved it
415: [14:13:00] * micmania1 quit (Quit: Page closed)
416: [14:27:00] * Nivery has joined #silverstripe
417: [14:39:00] * obbo has joined #silverstripe
418: [14:40:00] <obbo> hello everyone. i am testing out 3.1 on a 3.0.5 site. have there been any major DB schema changes that wouldn't allow me to just use my 3.0.5 database?
419: [14:46:00] * obbo quit (Quit: Page closed)
420: [15:08:00] * wmk quit (Quit: nice to meet you ;))
421: [15:11:00] * webguest quit (Ping timeout: 245 seconds)
422: [15:14:00] * houleness has joined #silverstripe
423: [15:16:00] <houleness> I went to upgrade to SS 3.1beta3, then rolled back to 3.0.5. Everything on the cms side of things looks fine, but the frontend isn't using any of the templates. e.g. I'm getting this screen - http://cl.ly/image/080V0F212D2X Any ideas?
424: [15:19:00] <kinglozzer> houleness: ?flush=all ?
425: [15:19:00] <houleness> Yeah, tried that a bunch
426: [15:19:00] <kinglozzer> Any custom routes?
427: [15:20:00] <kinglozzer> Did you set up anything in routes.yml
428: [15:20:00] <houleness> what do you mean?
429: [15:21:00] <houleness> oh, no. but i'm wondering if it's looking somewhere like there for path info?
430: [15:21:00] <kinglozzer> I don't know, I've been switching versions on my dev sites without any problems. Just a /dev/build?flush=all and it's all fine for me
431: [15:22:00] <houleness> Right, that's what I thought would do it??? I'll keep plugging. I wonder if I screwed up something in my htaccess
432: [15:22:00] <houleness> no composer
433: [15:22:00] <kinglozzer> houleness: Are you using composer?
434: [15:23:00] <houleness> Cool, i've been meaning to check it out
435: [15:23:00] <kinglozzer> Yeah I'd check htaccess first
436: [15:23:00] <kinglozzer> Definitely start using that if you can, it makes it so easy to switch between versions
437: [15:26:00] <kinglozzer> houleness: After checking htaccess, check in the CMS settings that your theme is selected (I seem to remember seeing that page before when it isn't selected). Then perhaps try to work out if it's actually hitting your controller (which I don't think it is)
438: [15:27:00] <houleness> bah, I'm an idiot??? don't mind me, got it working
439: [15:27:00] <kinglozzer> Good stuff :)
440: [15:31:00] * houleness quit (Quit: Leaving.)
441: [15:55:00] <Zauberfisch> back
442: [15:55:00] * Zauberfisch has joined #silverstripe
443: [15:58:00] * WillM quit (Quit: Ciao mateys.)
444: [15:59:00] <willmorgan> hmm, I wondered why I had 2 mIRC windows open. Thought it was Aero being weird again.
445: [16:01:00] * kinglozzer quit (Remote host closed the connection)
446: [16:14:00] * eikonos1 is now known as eikonos
447: [16:14:00] * eikonos quit (Changing host)
448: [16:14:00] * eikonos has joined #silverstripe
449: [16:24:00] * OldTom quit (Quit: leaving)
450: [16:25:00] * DesignerX quit (Ping timeout: 255 seconds)
451: [16:29:00] * UncleCheese has joined #silverstripe
452: [16:32:00] * ivoba quit (Quit: Leaving)
453: [16:46:00] * popeshoe quit (Quit: Leaving)
454: [16:55:00] * willmorgan quit (Quit: Ciao mateys.)
455: [17:13:00] * gelignite has joined #silverstripe
456: [17:19:00] * waveydave has left #silverstripe
457: [17:20:00] <FrozenFire> Is there a list of possible data-icon values for FormActions in the CMS?
458: [17:23:00] <FrozenFire> https://github.com/silverstripe/sapphire/tree/3.0/admin/images/btn-icon Aha
459: [17:27:00] * sewid has joined #silverstripe
460: [17:28:00] * Nivery quit (Quit: Nivery)
461: [17:32:00] * Liquide has joined #silverstripe
462: [17:32:00] * sewid quit (Client Quit)
463: [17:46:00] <Marvanni> if(strpos($acceptType, 'application/json') !== FALSE) {
464: [17:46:00] <Marvanni> How do I add the app/json header to the form?
465: [17:46:00] <Marvanni> In Form:; httpSumission there is a check for if(Director::is_ajax()) {//
466: [17:46:00] <Marvanni> So I have a Form I submit with jquery.
467: [17:46:00] <Marvanni> and
468: [17:47:00] <Marvanni> so i get a json response instead of the complete form?
469: [17:52:00] * Nivery has joined #silverstripe
470: [18:03:00] <Zauberfisch> Marvanni can you paste your code?
471: [18:05:00] * ajmitch quit (Ping timeout: 256 seconds)
472: [18:09:00] * ajmitch has joined #silverstripe
473: [18:10:00] <Marvanni> its just a jquery.post()
474: [18:10:00] <Marvanni> no I need to get the messages on the js side..
475: [18:10:00] <Marvanni> But I found something.. it is returning the $this->forTemplate()
476: [18:12:00] <Marvanni> can I set a custom ErrorMessage on the Form instead of only the Fields?\
477: [18:15:00] <Marvanni> ah.. I can do if(!$form->validate()) { in the form method in the controller
478: [18:15:00] <Marvanni> that will do..
479: [18:18:00] * ajmitch quit (Remote host closed the connection)
480: [18:24:00] * ajmitch has joined #silverstripe
481: [18:29:00] * ajmitch quit (Ping timeout: 264 seconds)
482: [18:30:00] * ajmitch has joined #silverstripe
483: [18:35:00] * ajmitch quit (Ping timeout: 252 seconds)
484: [18:38:00] * wmk has joined #silverstripe
485: [18:46:00] * UncleCheese quit (Quit: UncleCheese)
486: [18:51:00] * lx-berlin has joined #silverstripe
487: [18:53:00] * UncleCheese has joined #silverstripe
488: [19:09:00] * lx-berlin has left #silverstripe
489: [19:19:00] <UncleCheese> no way to setEmptyString() on TreeDropdownField?
490: [19:28:00] * terryapodaca has joined #silverstripe
491: [19:28:00] * Nivery quit (Quit: Nivery)
492: [19:41:00] * SightUnseen has joined #silverstripe
493: [19:41:00] * SightUnseen has left #silverstripe
494: [20:12:00] * UndefinedOffset quit (Read error: Connection reset by peer)
495: [20:19:00] <FrozenFire> E.g. ScheduledTask::config()->Daily = array( "MyDailyTask" );
496: [20:19:00] <FrozenFire> Thoughts on refactoring the ScheduledTask stuff into a config? It always seemed odd to me to use ancestry to determine the interval
497: [20:21:00] <FrozenFire> Then the URL endpoint would be /ScheduledTask/Daily
498: [20:22:00] <FrozenFire> That way you could name your task sets arbitrarily
499: [20:22:00] <FrozenFire> Old way would still work for BC, of course, but it'd generated E_DEPRECATED
500: [20:23:00] <FrozenFire> And schedule that as need be.
501: [20:23:00] <FrozenFire> Possibly with ScheduledTask::config()->Daily = array( "Cleanup" );
502: [20:23:00] <FrozenFire> E.g. ScheduledTask::config()->Cleanup
503: [20:23:00] <FrozenFire> Though that gets ambiguous
504: [20:26:00] * wmk quit (Ping timeout: 268 seconds)
505: [20:36:00] * ajmitch has joined #silverstripe
506: [21:00:00] <UncleCheese> does anyone know about defineMethods()?
507: [21:06:00] * SightUnseen1 has joined #silverstripe
508: [21:08:00] <terryapodaca> unclecheese: wasn't that 2.4 and earlier, no longer used in 3?
509: [21:08:00] <UncleCheese> oh no!
510: [21:09:00] <UncleCheese> DataObject::defineMethods()
511: [21:09:00] <UncleCheese> looks like it is
512: [21:09:00] <UncleCheese> contains really important functionality
513: [21:16:00] * terryapodaca1 has joined #silverstripe
514: [21:16:00] * terryapodaca1 has left #silverstripe
515: [21:16:00] * terryapodaca1 has joined #silverstripe
516: [21:18:00] * terryapodaca quit (Ping timeout: 258 seconds)
517: [21:19:00] <Zauberfisch> I am aware that it exists, and I am aware of what it does
518: [21:19:00] <Zauberfisch> UncleCheese well, depends on what you mean with "know about"
519: [21:31:00] * UncleCheese quit (Quit: UncleCheese)
520: [21:32:00] <terryapodaca1> sorry, couldn't help myself, and I know it's bad humor
521: [21:32:00] <terryapodaca1> Zauberfisch: lol...it adds methods ;)
522: [21:32:00] <Zauberfisch> :P
523: [21:33:00] <Zauberfisch> terryapodaca1 I am pretty sure 90%+ of the ss community is not aware what it is for
524: [21:34:00] <Zauberfisch> apart from the obvious "it defines methods :O"
525: [21:48:00] <terryapodaca1> lol
526: [21:49:00] <terryapodaca1> i would say that 90% of the ss community never gets their hands dirty enough past just building themes and the occasional DO
527: [21:49:00] <terryapodaca1> and/or Pages
528: [21:55:00] <Zauberfisch> yeah, true
529: [21:55:00] <Zauberfisch> so lets put it at 99% then (:
530: [22:14:00] * Zauberfisch quit (Remote host closed the connection)
531: [22:46:00] * aragonne quit (Quit: aragonne)
532: [22:51:00] * Zauberfisch has joined #silverstripe
533: [23:01:00] * priithansen_ quit (Quit: priithansen_)
534: [23:05:00] * OldTom has joined #silverstripe
535: [23:22:00] * terryapodaca1 quit (Quit: Leaving.)
536: [23:29:00] * Zauberfisch quit (Remote host closed the connection)
537: [23:32:00] <UncleCheese> Zauberfisch: It doesn't seem to work for decorators. :( I think I figured out why. Extension is not a descendant of Object.
538: [23:32:00] * UncleCheese has joined #silverstripe
539: [23:33:00] <simon_w> UncleCheese, allMethodNames(0
540: [23:33:00] <simon_w> *allMethodNames()
541: [23:33:00] <UncleCheese> oh?
542: [23:33:00] <UncleCheese> ...
543: [23:34:00] <UncleCheese> the way that DataObject creates methods for all your has_many, many_many relations
544: [23:34:00] <simon_w> Return an array of all the method names in the extension
545: [23:34:00] <UncleCheese> i want to create methods at runtime in a decorator
546: [23:34:00] <simon_w> Base is array_map('strtolower', get_class_methods())
547: [23:35:00] <simon_w> You do need to return the name in allMethodNames() though
548: [23:35:00] <UncleCheese> when Object mixes in all the extension methods, it's not aware of __call() in your decorator
549: [23:35:00] <UncleCheese> will that work in a decorator?
550: [23:35:00] <UncleCheese> yeah, but
551: [23:35:00] <simon_w> You know about __call(), right?
552: [23:35:00] <simon_w> Yes
553: [23:35:00] <simon_w> __call() is PHP
554: [23:35:00] <UncleCheese> well, hang on
555: [23:36:00] <UncleCheese> ok, so __call() and then use allMethodNames() to return all the wildcard methods
556: [23:36:00] <simon_w> yes
557: [23:36:00] <UncleCheese> that's brilliant
558: [23:36:00] <UncleCheese> oh, gotcha
559: [23:37:00] <UncleCheese> allMethodNames() is not defined in Extension.. does that matter?
560: [23:38:00] <simon_w> You still need to return all your normal methods too, and all lowercase. Have a look at the Object one for the default one
561: [23:38:00] <simon_w> Nope
562: [23:41:00] <UncleCheese> it worked
563: [23:41:00] <UncleCheese> holy crap! I worked
564: [23:48:00] <UncleCheese> I owe you a beer. Payable when I get to Wellington.

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