*** aelkner has quit IRC | 00:06 | |
*** aelkner has joined #schooltool | 00:19 | |
*** replaceafill has quit IRC | 01:36 | |
*** aks has joined #schooltool | 06:16 | |
*** alga has joined #schooltool | 11:16 | |
*** menesis has quit IRC | 12:16 | |
*** menesis has joined #schooltool | 12:54 | |
*** aks has quit IRC | 14:23 | |
*** th1a_ has joined #schooltool | 14:45 | |
*** replaceafill has joined #schooltool | 16:15 | |
th1a_ | hi aelkner, replaceafill, yvl, menesis. | 16:30 |
---|---|---|
aelkner | morning | 16:31 |
menesis | hi | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
yvl | good morning | 16:32 |
* th1a_ is back home. | 16:32 | |
* yvl hopes you had a nice visit | 16:32 | |
th1a_ | I did! Thanks. | 16:33 |
th1a_ | Rough drive back... | 16:33 |
th1a_ | But we all survived. | 16:33 |
yvl | good to hear! | 16:33 |
th1a_ | OK, yvl, would you like to go first? | 16:34 |
yvl | sure | 16:34 |
yvl | I did a crude port of main calendar views today | 16:34 |
yvl | forgot to push... replaceafill can you please update your instance? | 16:34 |
replaceafill | sure | 16:34 |
yvl | thanks! | 16:34 |
replaceafill | updated | 16:35 |
yvl | it's deeply WIP at the moment, but feel free to comment | 16:35 |
* th1a_ is going to be gentle on the calendar. | 16:37 | |
yvl | ok, something seems to be wrong :( | 16:37 |
yvl | ah, no, here we go: http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011-10 | 16:38 |
yvl | or http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011 | 16:39 |
yvl | also, your own calendar: http://69.164.203.135:6660/persons/manager/calendar | 16:40 |
th1a_ | We will be getting new colors. | 16:40 |
yvl | hopefully :) | 16:40 |
th1a_ | We're paying for new colors. | 16:40 |
yvl | right | 16:40 |
th1a_ | Although you should take the colors out of the table headers. | 16:41 |
* yvl does not remember if calendar colours are currently stored in database | 16:41 | |
yvl | for the views with tables, right th1a ? | 16:42 |
th1a_ | Yes. | 16:42 |
th1a_ | That is, colors only for events. | 16:43 |
yvl | ok, so here are the views to look at: | 16:43 |
yvl | http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011 | 16:44 |
yvl | http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011-10 | 16:44 |
yvl | http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011-w40 | 16:44 |
aelkner | is it me, or is the demo server running REALLY slow right now? | 16:44 |
yvl | http://69.164.203.135:6660/schoolyears/2011/q4/sections/1/calendar/2011-10-11 | 16:44 |
replaceafill | aelkner +1 | 16:44 |
* yvl too aelkner | 16:44 | |
aelkner | i'm glad it's not me :) | 16:44 |
yvl | by the way, who owns the server? | 16:46 |
replaceafill | even ssh into it is very slow :( | 16:46 |
th1a_ | We do. It is a linode virtual server. | 16:46 |
yvl | it's somewhere on schooltool.org | 16:46 |
th1a_ | No. | 16:46 |
yvl | oh, right | 16:46 |
yvl | now I remember :) | 16:47 |
th1a_ | That's a different server. | 16:47 |
aelkner | probably just needs a reboot? | 16:47 |
th1a_ | aelkner the sys admin. | 16:47 |
aelkner | :) | 16:47 |
aelkner | i did put a question mark there | 16:47 |
th1a_ | Perhaps reinstalling Windows would help. | 16:48 |
replaceafill | i'll restart it | 16:48 |
yvl | :))) | 16:48 |
yvl | ok, so anyway, things are moving along | 16:48 |
* yvl is not going to be around this Friday | 16:48 | |
th1a_ | OK yvl. | 16:48 |
th1a_ | It looks fine so far. | 16:48 |
th1a_ | Thanks. | 16:48 |
th1a_ | replaceafill? | 16:49 |
replaceafill | restarting | 16:49 |
replaceafill | ok | 16:49 |
replaceafill | i cleaned some forms yesterday | 16:49 |
replaceafill | removed some duplicated templates | 16:49 |
replaceafill | and now i'm fixing the /courses, /groups and /sections views to work with other years | 16:50 |
replaceafill | they only work with the active year right now | 16:50 |
replaceafill | also added css rules for dialog content | 16:51 |
replaceafill | which allowed me to remove some css hacks | 16:51 |
replaceafill | th1a_ question | 16:52 |
replaceafill | is the journal next for me? | 16:52 |
th1a_ | It seems so. | 16:52 |
* th1a_ has not looked at it. | 16:52 | |
yvl | by the way, replaceafill, please commit to main sprint branch :) | 16:52 |
replaceafill | yvl will do, it's just that i'm testing not to break stuff | 16:52 |
yvl | sure | 16:53 |
yvl | just reminding :) | 16:53 |
replaceafill | ok, server seems to be responding well now | 16:53 |
replaceafill | will start the instance | 16:53 |
aelkner | replaceafill, before you work on the journal, perhaps we can work together on gradebook grid | 16:53 |
replaceafill | aelkner ah, sure | 16:54 |
aelkner | i have a number of css issues that may impact you later | 16:54 |
th1a_ | The three of us should probably work on gradebook this afternoon. | 16:54 |
replaceafill | kk | 16:54 |
replaceafill | server restarted | 16:54 |
replaceafill | oops, i meant, instance | 16:54 |
yvl | cool | 16:55 |
replaceafill | th1a_ will work on some form issues too, like the add person form doesnt display errors on the password fields | 16:55 |
yvl | th1a, please log in as jeffrey/jeffrey also | 16:55 |
th1a_ | replaceafill: OK. | 16:55 |
replaceafill | and the add section form doesnt display errors on term fields | 16:56 |
th1a_ | I guess the big project management question now is fitting in a reports makeover. | 16:56 |
th1a_ | And who will do that. | 16:56 |
th1a_ | We've got about a week and a half to have all the views in place. | 16:56 |
th1a_ | And the basic to do list is: | 16:56 |
th1a_ | 1) finish calendar | 16:56 |
th1a_ | 2) finish gradebook | 16:56 |
th1a_ | 3) do interventions | 16:57 |
th1a_ | 4) and...? which views are we missing? | 16:57 |
th1a_ | 4a) student views? | 16:57 |
th1a_ | (i.e. views of a student) | 16:57 |
aelkner | there's plenty of things that we have to do | 16:57 |
th1a_ | (that is, where the student is the user) | 16:57 |
th1a_ | what else? | 16:57 |
aelkner | and things we haven't even thought of | 16:57 |
aelkner | i woldn't recommend reworking reports until next release | 16:58 |
th1a_ | Well... how do we think of them? | 16:58 |
th1a_ | How do we think of the views we aren't thinking of? | 16:58 |
yvl | hmm | 16:58 |
yvl | there's a load of details that are not done yet | 16:59 |
aelkner | i would say, while we are busy making changes you request, you can go around the app making sure things are done or not | 16:59 |
yvl | resource booking, broken modal dailogs when session times out | 16:59 |
yvl | breadcrumbs | 16:59 |
aelkner | yes, those | 16:59 |
yvl | highliting correct top tab | 16:59 |
aelkner | we haven't even touched tests for a long time | 17:00 |
yvl | proper redirects for teachers to "home" | 17:00 |
aelkner | security tests! | 17:00 |
yvl | oh, the tests are a big heap | 17:00 |
yvl | basically, we have zero functional tests and some unit test coverage for views | 17:00 |
th1a_ | I know there are things to do. I guess aelkner wasn't directly responding to my question about missing VIEWS. | 17:01 |
th1a_ | Basically, the goal for next Thursday is a beta of every view that will be in the final release. | 17:01 |
yvl | export/import? | 17:01 |
aelkner | i did respond, you need to poke around | 17:01 |
aelkner | you'll need a new book, right? | 17:02 |
aelkner | while you are redoing the new book, you coul verify that certain views exist or not | 17:02 |
th1a_ | I will poke around, but saying there are lots of missing views implies that you have some idea of what they are. | 17:02 |
aelkner | let's say we all have a feeling, but we aren't necessarily looking at the whole code base | 17:03 |
th1a_ | The book doesn't hit edge cases. | 17:03 |
aelkner | to make a determination of what views are missing | 17:03 |
aelkner | for instance, the gradebook: | 17:03 |
aelkner | we need those Settings views | 17:03 |
aelkner | we need views for report sheet maintenance | 17:03 |
th1a_ | Yes... I know there are things that we are working on that are unfinished. | 17:04 |
replaceafill | th1a_ are we creating /contacts? | 17:04 |
aelkner | ok, never mind, you are asking about new views, right? | 17:04 |
replaceafill | sorry, porting | 17:04 |
aelkner | something the old skin never even had? | 17:04 |
th1a_ | replaceafill: Yes, we need /contacts! | 17:04 |
replaceafill | levels? | 17:05 |
th1a_ | Oh, levels! | 17:05 |
th1a_ | replaceafill understands what I'm talking about. | 17:05 |
th1a_ | yvl: We're gonna fix levels next week. | 17:06 |
th1a_ | That is, rip them out of years. | 17:06 |
yvl | uh? | 17:06 |
th1a_ | They don't belong in years. | 17:07 |
yvl | why? | 17:07 |
th1a_ | Because they essentially never change. | 17:07 |
yvl | ok | 17:07 |
th1a_ | The PITA is the evolution script. | 17:07 |
th1a_ | But it is not so bad because we can still assume nobody is really using them in an important way. | 17:08 |
th1a_ | Since the don't do much. | 17:08 |
yvl | yes :) | 17:08 |
th1a_ | So we can be a little sloppy. | 17:08 |
yvl | ok, will do that after calendars | 17:08 |
yvl | the evolving/moving part | 17:08 |
th1a_ | OK. That's a plan. | 17:09 |
yvl | but I'm getting a hunch that callendars will be done roughly mid next week | 17:09 |
yvl | depending on how nitpicky we are | 17:09 |
th1a_ | Also yvl -- resource booking is part of calendars. | 17:09 |
yvl | exactly | 17:09 |
th1a_ | yvl's estimate has increased... | 17:09 |
* yvl remembered that there are "calendars" and "calendars" and they're not the same | 17:10 | |
th1a_ | OK. Like I said, don't get too nitpicky, but I understand it is always complicated. | 17:10 |
yvl | OK | 17:10 |
replaceafill | can i work on /contacts before moving to the journal? | 17:10 |
* yvl understands what we're shooting for | 17:10 | |
th1a_ | replaceafill: Yes, but we should talk journal a bit today. | 17:11 |
replaceafill | ok | 17:11 |
th1a_ | Thanks replaceafill. | 17:13 |
aelkner | th1a i need to discuss gradebook css with replaceafill | 17:13 |
th1a_ | aelkner: Well, the three of us need a gradebook meeting later. | 17:13 |
aelkner | but first, signing in as jelkner/jelkner: | 17:13 |
aelkner | http://69.164.203.135:36660/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 17:13 |
aelkner | note the change in order of the sidebar stuff as you requested | 17:14 |
aelkner | also, i got the long name to truncate | 17:14 |
aelkner | as yvl requested, i added a title to the links so that you could see the whole name | 17:14 |
aelkner | th1a, is that ok, it pops up when you mouse over the name | 17:14 |
aelkner | also, the truncated name means truncating the '>' link | 17:15 |
th1a_ | Can you do that for the activities? | 17:15 |
aelkner | do what? | 17:15 |
aelkner | mouseover the link means long description? | 17:15 |
th1a_ | Give them titles that are the full titles? | 17:15 |
aelkner | sure | 17:15 |
th1a_ | Not description. | 17:15 |
th1a_ | Full title. | 17:15 |
aelkner | fill titles, ok | 17:15 |
aelkner | so you're ok with the student titles? | 17:15 |
aelkner | the mouseover part, i mean | 17:15 |
th1a_ | Yes. | 17:15 |
aelkner | now, for the '>' issue | 17:16 |
aelkner | should we put it BEFORE the name so it oesn't get truncated out? | 17:16 |
th1a_ | No. | 17:16 |
yvl | or maybe make the students have dropdown menus? | 17:16 |
aelkner | we could also have a popup menu for the student | 17:16 |
th1a_ | Yes, that. | 17:16 |
aelkner | yvl, you beat me to t :) | 17:17 |
yvl | sorry, aelkner :) | 17:17 |
aelkner | th1a, could you name the items on the student menu? | 17:17 |
th1a_ | Um... | 17:17 |
th1a_ | Score? | 17:18 |
aelkner | View Details? | 17:18 |
th1a_ | What does that do? | 17:18 |
aelkner | to look at the student page | 17:18 |
th1a_ | OK. | 17:18 |
aelkner | View Student Info? | 17:18 |
aelkner | what should it be called? | 17:18 |
th1a_ | View Student | 17:19 |
yvl | Student Details, Student Profile? | 17:19 |
aelkner | another thing | 17:19 |
yvl | View Student :) | 17:19 |
aelkner | when the user clicks on View Student, they are taken to the student's index.html | 17:19 |
aelkner | when the click on Done, they will be taken to the persons view | 17:20 |
aelkner | in other words, they will need to use the back button to get back | 17:20 |
aelkner | unless we do what i did with activity edit | 17:20 |
aelkner | i added a test in nextURL | 17:20 |
th1a_ | We need a dialog version of view student. | 17:21 |
aelkner | if self.request.get('nexturl') | 17:21 |
th1a_ | That is really the desired behavior. | 17:21 |
aelkner | th1a, we did talk about that at one point | 17:21 |
aelkner | and we mentioned that it would not have everything that the index.html view would have | 17:21 |
aelkner | but that it would have a link on it to take you to the person index.html view, right? | 17:22 |
th1a_ | We might need a modified version. | 17:22 |
th1a_ | That might happen after next thursday... | 17:22 |
th1a_ | Which missing things are you referring to by the way? | 17:23 |
aelkner | all the accordions and stuff would not go in a dialog, right? | 17:23 |
th1a_ | Well... they could. | 17:23 |
aelkner | i thought the rule was that dialogs should be small, not larger than visual space | 17:24 |
aelkner | the person page can be of a very great size depending on what the person has | 17:24 |
th1a_ | This could be bigger than usual because it is not a form. | 17:25 |
th1a_ | The thing is, leaving the gradebook in the situation is problematic. | 17:25 |
aelkner | why? | 17:25 |
th1a_ | Because you don't necessarily want to completely switch contexts. | 17:25 |
th1a_ | You probably just need Jimmy's parent's phone number and back to grading. | 17:26 |
aelkner | well, if the Done link on the person page was smart enough to go back to the gradebook | 17:26 |
aelkner | lke i was saying before | 17:26 |
aelkner | if self.request.get('nexturl') | 17:26 |
th1a_ | That would work but I think a dialog would be better in this particular case. | 17:26 |
th1a_ | We should probably just come up with an abbreviated person dialog view. | 17:27 |
th1a_ | It isn't like it would be complicated. | 17:27 |
aelkner | i knew that if you thought about it enough, youd come around to my point of view :) | 17:27 |
aelkner | anyway, i can limit the menu to Score for now to get it going | 17:28 |
th1a_ | The abbreviated view will probably be larger than the accordions. | 17:28 |
th1a_ | ;-) | 17:28 |
aelkner | :) | 17:28 |
aelkner | we'll see | 17:28 |
aelkner | so anyway, i worked on trying to lock the columns | 17:28 |
aelkner | i went from what i could learn from the example we found last week | 17:29 |
aelkner | i have a number of uncommited changes that i couldn't push of course | 17:29 |
aelkner | but that's what i was hoping to work on with replaceafill | 17:29 |
aelkner | the first step, btw, was to include the locked columns in the pt | 17:30 |
aelkner | i know we want to use js eventually to dynamically copy the dat | 17:30 |
aelkner | to copy the redundant columns to the other div | 17:30 |
aelkner | but it's easier to do it in the template first | 17:30 |
aelkner | so that we can work on the css necessary for getting it to work | 17:31 |
aelkner | i had to override lots of css that table.css has | 17:31 |
aelkner | like width: 100% for tables | 17:32 |
aelkner | i need the column widths to be predictable | 17:32 |
aelkner | in order for the columns div to overlay the other div precisely | 17:32 |
th1a_ | Yes. | 17:32 |
aelkner | i got pretty close after i did that, but it's still off a tad | 17:32 |
th1a_ | OK, anyhow, I think we're done with the "formal" meeting. | 17:32 |
th1a_ | aelkner & replaceafill, do you want to keep going right now or a bit later? | 17:33 |
aelkner | i'm done yes | 17:33 |
th1a_ | Thanks aelkner. | 17:33 |
aelkner | replaceafill, your call | 17:33 |
replaceafill | right now | 17:33 |
replaceafill | :) | 17:33 |
replaceafill | unless you want a break ;) | 17:33 |
aelkner | oh, one last thing for the group | 17:33 |
aelkner | yvl, replaceafill, please look at f_gradebook.cssin firebug on my demo instance | 17:34 |
aelkner | i wanted to talk about class naming conventions if i could | 17:34 |
aelkner | first off, i was wondering this: | 17:34 |
yvl | looking | 17:34 |
aelkner | should we agree that all our plug-ins use the following as a convention for their own css | 17:35 |
aelkner | all class names must start with a prefix | 17:35 |
aelkner | gradebook-table, for instance | 17:35 |
aelkner | journal-activity or something | 17:35 |
aelkner | intervenion-whatever | 17:35 |
aelkner | if we do that for all css classes in plug-ins, it may be easier to follow in the future | 17:36 |
aelkner | what do we think? | 17:36 |
yvl | good point | 17:36 |
yvl | but I'm not sure if we should prefix all of them | 17:36 |
aelkner | as you see, my css file there offends that rule in many ways | 17:36 |
aelkner | if we don't prefix them all, why do it for ay? | 17:37 |
aelkner | any | 17:37 |
yvl | .gradebook-table .gradebook-row .gradebook-current-cell is a bit of overkill | 17:37 |
yvl | hmm, how to put this | 17:37 |
aelkner | i never undestand this acceptance of the notion of limited adaption of a principal | 17:37 |
aelkner | either a notion is correct or it isn't | 17:37 |
aelkner | if it isn't, then why partially adapt it? | 17:38 |
yvl | well, I would put it like this - it would be reasonable to use a way more complicated notion | 17:38 |
yvl | :) | 17:39 |
aelkner | :) | 17:39 |
th1a_ | You shouldn't need prefixes in CSS. | 17:39 |
aelkner | thanks for that brain tister | 17:39 |
th1a_ | You have other ways of creating namespaces. | 17:39 |
aelkner | twister | 17:39 |
yvl | th1a?? | 17:39 |
aelkner | th1a, i'm all ears | 17:39 |
th1a_ | Classes? | 17:39 |
yvl | ? | 17:39 |
aelkner | thla, we are discussing class names | 17:40 |
* th1a_ doesn't remember the CSS terminology. | 17:40 | |
yvl | yes, classes | 17:40 |
* th1a_ goes back to sleep. | 17:40 | |
yvl | but they tend to clash | 17:40 |
yvl | so, aelkner, basically what we are trying to solve, is to: | 17:40 |
aelkner | i want us to prefix our plugin class names so that it is obvious where they come from | 17:40 |
yvl | 1) keep plugin css from affecting the rest of the app | 17:41 |
yvl | 2) keep the code readable | 17:41 |
yvl | right? | 17:41 |
aelkner | yes | 17:41 |
yvl | well | 17:41 |
yvl | hmm | 17:41 |
aelkner | prefixes helps the programmer realize where the css comes from | 17:41 |
replaceafill | to me the gradebook styles should be prefixed by an id: #gradebook .activity | 17:41 |
yvl | replaceafill, what about journal links in calendar events? | 17:42 |
yvl | that's not a best example, but I hope you get my drift | 17:42 |
replaceafill | they're not simple links? | 17:42 |
aelkner | a class name like activity is very hostile to the programmer | 17:43 |
yvl | yes | 17:43 |
yvl | +1 aelkner | 17:43 |
aelkner | where is the style defined | 17:43 |
yvl | no, +2 :) | 17:43 |
aelkner | that's why i suggested gradebook-activity | 17:43 |
yvl | +1 on this one | 17:44 |
yvl | what I'm trying to say | 17:44 |
yvl | is that I think that should be rule of a thumb | 17:44 |
yvl | prefix your classes | 17:44 |
yvl | have a "container" class | 17:44 |
th1a_ | Why not give the body on that page an id? | 17:44 |
th1a_ | Is that what replaceafill is saying? | 17:45 |
yvl | because that solves nothing | 17:45 |
replaceafill | th1a_ yes | 17:45 |
aelkner | replaceafill suggested using a class name like activity | 17:45 |
aelkner | that is exactly what i'm trying to avoid | 17:45 |
replaceafill | aelkner did you see the #gradebook part? | 17:45 |
th1a_ | replaceafill's answer is the correct one according to my book. | 17:45 |
aelkner | yes, exactly what i'm trying to stop us from doing | 17:45 |
replaceafill | i don't think the issue is in the class name in the html | 17:45 |
replaceafill | it's in the css rule | 17:46 |
yvl | replaceafill, please don't do those | 17:46 |
replaceafill | we write | 17:46 |
yvl | sorry, not those, but this one | 17:46 |
yvl | have a gradebook class to enable gradebook styles on sub-elements | 17:46 |
yvl | this way | 17:46 |
yvl | if somebody wants | 17:46 |
th1a_ | yvl: Right. | 17:46 |
yvl | to add a small summary or something | 17:47 |
yvl | of a gradebook, styled correctly | 17:47 |
yvl | in a... say person accordeon | 17:47 |
yvl | or whatever - you can control scope | 17:47 |
replaceafill | and the id doesnt allow you to control the scope? | 17:48 |
yvl | try making two boxes | 17:48 |
yvl | say, one in sidebar, another in accordeon | 17:48 |
yvl | id is supposed to be unique, right? | 17:48 |
replaceafill | yvl but you're talking about something outside the gradebook view | 17:49 |
yvl | yes! | 17:49 |
yvl | I'm sorry, I just fail to see the point of an id based approach | 17:49 |
yvl | either you style with class | 17:49 |
yvl | or you include a css that applies to whole page and overrides other css | 17:50 |
aelkner | +1 | 17:50 |
aelkner | the other approach seems fragile | 17:50 |
yvl | well it is - but say, for Cambodia... it should work nicely | 17:51 |
th1a_ | I think aelkner is trying to move style info out of the CSS file. | 17:51 |
yvl | :)) | 17:51 |
aelkner | not in least bit | 17:51 |
aelkner | just trying to make code readable, but never mind | 17:52 |
aelkner | who needs to read code easily | 17:52 |
th1a_ | Well... making the template more readable at the expense of the CSS. | 17:52 |
yvl | hmm, I really have trouble formulating the thing | 17:52 |
* yvl would like to prefix, well, atomic things | 17:52 | |
aelkner | i was talking about making CSS more readable | 17:53 |
yvl | like activity - a thing | 17:53 |
aelkner | but whatever, my toughts seem to fall on deaf ears | 17:53 |
th1a_ | CSS is carefully constructed to not require hyphenation here to create namespaces. | 17:53 |
yvl | if activity has sub-elements like title, label and so on | 17:53 |
yvl | keep them loose | 17:53 |
aelkner | i respectfully withdrawl my initial suggestion | 17:53 |
yvl | and style | 17:53 |
yvl | .gradebook-activity .active-title | 17:53 |
aelkner | whatever, i'll name my classes foo-bar | 17:54 |
yvl | aelkner, please! | 17:54 |
aelkner | i tried, but once again, deaf ears | 17:54 |
aelkner | i'm ready to move on from this | 17:54 |
yvl | please don't | 17:54 |
replaceafill | aelkner wer'e talking about it | 17:54 |
th1a_ | I'm just going by the design of CSS. | 17:54 |
yvl | prefixing is good | 17:54 |
aelkner | that's all i was suggesting | 17:55 |
yvl | you know what | 17:55 |
aelkner | this idea of not prefixing and using ids with css rules, ... | 17:55 |
yvl | let's do it like this | 17:55 |
th1a_ | #gradebook .activity is correct style. | 17:55 |
yvl | simply try out several approaches | 17:55 |
yvl | and whichever makes most sense, make it uniform later on | 17:55 |
th1a_ | Look, you're also forgetting that as much of this as possible, probably more than you think, will be used in the journal and CanDo. | 17:56 |
* yvl would really like to see aelkner do the prefixing in gradebook | 17:56 | |
yvl | th1a_, I remember that - but that does not matter in this discussion | 17:57 |
yvl | this is not what we are discussing about | 17:57 |
aelkner | thla, i was thinking that anything that gets used in gradebook, journal and CanDo should not have prefixes | 17:57 |
yvl | something will depend on something | 17:57 |
aelkner | those should be identifiable by the fact htat they don't have prefixes | 17:57 |
yvl | parent something will define the namespace | 17:57 |
yvl | the prefix, I mean | 17:58 |
yvl | and it's a very good chance that this will be gradebook | 17:58 |
th1a_ | The point is you should identify those things by looking at CSS. | 17:58 |
th1a_ | If that is difficult for you, you need to get better at reading CSS. | 17:59 |
* yvl should really think up an example how we can get screwed | 17:59 | |
aelkner | that should be a credo for schooltool in general | 17:59 |
aelkner | 'f you have problems reading this code, you should get better at reading code' :) | 18:00 |
yvl | CSS rules are usually extremely loose - and it's easy to get accidental composition of different rules | 18:00 |
th1a_ | A major objective of this work is clean, correct CSS. | 18:00 |
th1a_ | yvl: That's ok. | 18:00 |
yvl | well, if you say so | 18:01 |
aelkner | th1a, for some reason you think i'm having a problem with CSS rules | 18:01 |
aelkner | which i never said i did | 18:01 |
aelkner | but that's the deaf ears part again | 18:01 |
aelkner | if i'm can;t be heard, then i'll shut up | 18:01 |
th1a_ | All I'm saying is that you shouldn't need prefixes per component. | 18:02 |
th1a_ | It is bad style. | 18:02 |
aelkner | i thought it would be nice to have any css class that does not apply to the whole app | 18:02 |
th1a_ | It is like violating PEP 8. | 18:02 |
aelkner | to have a prefix that shows that to be the case | 18:02 |
th1a_ | You can do that like: | 18:02 |
th1a_ | #gradebook .activity is correct style. | 18:03 |
th1a_ | All I'm saying is ^ | 18:03 |
th1a_ | Not gradebook-activity. | 18:03 |
yvl | th1a_, a nitpick: not #gradebook (that's an id selector) | 18:03 |
aelkner | that's what he is saying | 18:03 |
yvl | .gradebook .activity | 18:03 |
aelkner | he wants us to use ids to change css rules locally | 18:03 |
aelkner | or maybe not :) | 18:04 |
yvl | if you don't define the loose: | 18:04 |
yvl | .activity {...} | 18:04 |
yvl | it does not affect antyghin | 18:04 |
th1a_ | To be clear, I'm anti-hyphen primarily. | 18:04 |
th1a_ | If we aren't talking about hyphens, good. | 18:04 |
aelkner | wait, didn't we have a firm agreement that we were to use hyphens! | 18:05 |
aelkner | that was jquery-driven cnvention, i believe | 18:05 |
yvl | th1a_ that was about "#" | 18:05 |
yvl | yes, aelkner we're using - and not _ | 18:05 |
aelkner | th1a. please let's stay on the same page here | 18:05 |
th1a_ | replaceafill: You are CSS Czar. | 18:05 |
aelkner | and not change agreements we made in the past | 18:06 |
replaceafill | oh oh | 18:06 |
yvl | :))) | 18:06 |
replaceafill | i'm still trying to get yvl's point about the sidebar and the summary | 18:06 |
aelkner | th1a, what's this CZAR thing anyway, are you a republican? | 18:06 |
replaceafill | but i'm ok with using .UNIQUECLASSHERE .NOTSOUNIQUECLASSHERE | 18:07 |
th1a_ | Monarchist. | 18:07 |
aelkner | doesn't sound very left to me! | 18:07 |
th1a_ | My management philosophy and politics are separate. | 18:08 |
aelkner | anyway | 18:08 |
aelkner | i don't think we've decided anything here, so won't do anything differently | 18:09 |
aelkner | no prefixes until we all agree to use them | 18:09 |
yvl | aelkner, if it's not too hard | 18:09 |
yvl | please us the .gradebook .sub .elements .here notation | 18:09 |
yvl | * please use | 18:10 |
th1a_ | replaceafill, do you agree? | 18:10 |
aelkner | so if i have a column that needs a certain width | 18:10 |
replaceafill | th1a_ yes | 18:10 |
aelkner | i should just call it column or name or activity or whatever i want | 18:10 |
yvl | oh, /me remembered something | 18:11 |
aelkner | that's fine, and i know how to use CSS rules | 18:11 |
yvl | that darn thing works both ways | 18:11 |
yvl | say you customize some.. h3 in gradebook | 18:11 |
yvl | by doing so: | 18:11 |
yvl | .gradebook .content h3 {} | 18:11 |
yvl | then if you put any viewlets from core, you're humped | 18:11 |
replaceafill | yvl the way i see it | 18:12 |
th1a_ | We'll cross that bridge when we get to it. | 18:12 |
aelkner | hello, what do think i was talking about from the start?! | 18:12 |
aelkner | again, deaf ears, i'm moving on | 18:12 |
replaceafill | yvl and this is why i don't understand the sidebar part | 18:12 |
replaceafill | if you put a piece of html inside another container | 18:12 |
replaceafill | it's a new style | 18:13 |
replaceafill | (at least to me) | 18:13 |
replaceafill | you took it out of context | 18:13 |
yvl | aelkner, sorry, end of the day - /me is a bit dumb. As in - stupid. | 18:13 |
aelkner | yvl, i don't agree that you're stupid | 18:13 |
yvl | right, I think I confused you with sidebar thing | 18:14 |
aelkner | if anything you saw my point if none else did | 18:14 |
th1a_ | The whole point of Cascading Style Sheets is you have to manage the cascade. | 18:14 |
th1a_ | Not elude it. | 18:14 |
yvl | th1a_ | 18:15 |
yvl | we understand that | 18:15 |
yvl | the thing is | 18:15 |
yvl | there is a good question | 18:15 |
yvl | how to better manage it | 18:15 |
yvl | think: viewlets and plugins | 18:15 |
yvl | that should say it all | 18:15 |
th1a_ | We don't need a lot of specialized classes. | 18:16 |
th1a_ | If we need a lot, we're doing it wrong. | 18:16 |
yvl | I think you just don't get the point of the problem - or rather I'm a bit too tired and see something wrong | 18:16 |
aelkner | i think what th1a is saying is this: | 18:17 |
aelkner | if we need a gradebook column to have a certain width | 18:17 |
aelkner | we can still name the css class for that columns something like 'name' | 18:17 |
aelkner | and the css rule: | 18:17 |
aelkner | .gradebook .name {} | 18:17 |
aelkner | would be enough to solve the problem | 18:18 |
th1a_ | And it is proper style. | 18:18 |
aelkner | i'm ok with that, and i'll table the whole prefix suggestion | 18:18 |
* yvl would like to add on this: | 18:18 | |
th1a_ | Essentially, all the grid style should probably be going straight into core anyhow. | 18:18 |
aelkner | if we run into the problems with viewlets using css names | 18:18 |
yvl | isolate the "generic" things as best as you can | 18:18 |
yvl | .gradebook .something-specific .name | 18:18 |
aelkner | that happen to collide with the local css rules | 18:18 |
aelkner | then we'll worry about that then | 18:19 |
th1a_ | And then when we find parts that don't work for, say, journal, split only those fragments into the component CSS. | 18:19 |
* yvl wants to be on advisory board of what goes where as far as plugins ar concerned | 18:20 | |
yvl | and modules inside those plugins, for that matter | 18:20 |
th1a_ | There should be very, very little custom css for any component. | 18:20 |
* yvl agrees | 18:21 | |
yvl | then again | 18:21 |
th1a_ | If that's not true, we're doing it wrong. | 18:21 |
aelkner | well, for starters, the grid css needs to be different than the table css we have | 18:21 |
yvl | then again | 18:21 |
aelkner | girds can't have things like width: 100% | 18:21 |
yvl | unless there's a common case of that grid | 18:21 |
th1a_ | It is not unique to gradebook. | 18:21 |
yvl | it will not land into trunk | 18:21 |
th1a_ | It is a generic widget. | 18:21 |
yvl | th1a_ were else do you see it? | 18:22 |
yvl | in core? | 18:22 |
th1a_ | Yes. | 18:22 |
yvl | * where | 18:22 |
yvl | what view | 18:22 |
yvl | seriouslky | 18:22 |
yvl | my god | 18:22 |
th1a_ | The CSS? | 18:22 |
yvl | these discussion should never ever happen | 18:22 |
th1a_ | OK, not literally a widget. | 18:22 |
th1a_ | Sorry for using that term. | 18:22 |
yvl | stop making mess in my beautiful codebase!!!! :) | 18:23 |
th1a_ | The CSS is generic, at least. | 18:23 |
aelkner | th1a wants the grid css to be generic, right? | 18:23 |
th1a_ | Yes. | 18:23 |
aelkner | that's why it should go in core | 18:23 |
aelkner | grid.css | 18:23 |
aelkner | then gradebook could use it | 18:23 |
* yvl goes to kill himself | 18:23 | |
aelkner | journal, too | 18:23 |
th1a_ | What? | 18:23 |
replaceafill | yvl :D | 18:23 |
aelkner | yvl, you can't get this upset, i'm the one who is suppose to aggravate th1a | 18:24 |
th1a_ | The grids should be based on the same styles, that's pretty obvious. | 18:24 |
yvl | yes | 18:24 |
yvl | why core??? | 18:24 |
th1a_ | I.e., not in gradebook. | 18:24 |
aelkner | yvl, where should grid.css go for all plugins to find it if not in core? | 18:24 |
th1a_ | You don't want to create module dependencies. | 18:24 |
yvl | :D | 18:24 |
yvl | really now. | 18:25 |
yvl | ok | 18:25 |
th1a_ | ? | 18:25 |
* yvl is tired and frankly - very very angry | 18:25 | |
th1a_ | ? | 18:25 |
yvl | let me sleep over this | 18:25 |
aelkner | yvl, what did i say? | 18:25 |
yvl | I'm not angry at you aelkner | 18:25 |
th1a_ | We're probably just miscommunicating. | 18:25 |
replaceafill | sorry yvl :( | 18:25 |
yvl | and not at you, replaceafill | 18:25 |
* th1a_ looks around. | 18:25 | |
aelkner | yes, let's ot jump to emotional conclusions | 18:25 |
aelkner | breath.... | 18:25 |
yvl | that's why we should postpone the discussion :) | 18:26 |
* yvl doesn't want to say something inappropriate | 18:26 | |
aelkner | ok, i suggest the following | 18:26 |
aelkner | replaceafill and i will work on grid.css in gradebook | 18:26 |
th1a_ | Given that I can't even imagine what yvl is angry about at this point, I think we're confused. | 18:26 |
aelkner | we'll get rid of prefixes for now | 18:26 |
aelkner | yvl, you cold look over what we come up with tomorrow before we awake | 18:27 |
aelkner | then we could discuss it calmly | 18:27 |
aelkner | sound like a plan? | 18:27 |
yvl | well, frankly I would prefer to look over this in few weeks | 18:27 |
yvl | there's calendaring to do | 18:27 |
yvl | and a deadline approaching to the whole remake | 18:27 |
aelkner | ok, never mind, replaceafill and i will work out what we need to do | 18:27 |
yvl | I'll trust your judgment :) | 18:28 |
aelkner | talk about blind faith :) | 18:28 |
yvl | :)) | 18:28 |
yvl | ok guys... sorry for ruining part of your day | 18:29 |
aelkner | guys, sorry to open wounds | 18:29 |
aelkner | i was really trying to help, i swear | 18:29 |
yvl | developers tend to be passionate about their work... it's normal :) | 18:29 |
th1a_ | I'm glad we sort of cleared that up. | 18:29 |
aelkner | :) | 18:29 |
aelkner | let | 18:29 |
th1a_ | And I'm pretty sure yvl is thinking of something completely different at this point than the rest of us, so that'll be cleared up in time. | 18:30 |
aelkner | let's release yvl with peace in his heart | 18:30 |
yvl | :D | 18:30 |
yvl | thanks guys | 18:30 |
th1a_ | Go in peace, my friend, and have a beer. | 18:30 |
yvl | see you tomorrow :) | 18:30 |
yvl | :DDD | 18:30 |
aelkner | yvl, happy drinking! | 18:30 |
* yvl goes away with a warm feeling ;) | 18:30 | |
aelkner | yay! | 18:30 |
aelkner | replaceafill, want to take a lunch break before starting? | 18:31 |
th1a_ | Might be a good idea. ;-) | 18:31 |
replaceafill | 9:30 here :P | 18:31 |
replaceafill | but ok | 18:31 |
aelkner | 9:30? | 18:31 |
replaceafill | i'll be here | 18:31 |
replaceafill | 9:30 am, no lunch yet ;) | 18:31 |
aelkner | i thought you were only one hour different than east coast USA | 18:32 |
aelkner | is it two all year round? | 18:32 |
replaceafill | no | 18:32 |
replaceafill | just when you change in the summer | 18:32 |
aelkner | so you guys don't change at all, right? | 18:32 |
replaceafill | no | 18:32 |
aelkner | i see | 18:32 |
replaceafill | but i'll be here | 18:33 |
aelkner | well, let's take a break and meet in about an hour, ok? | 18:33 |
replaceafill | ok | 18:33 |
th1a_ | Roger. | 18:34 |
*** menesis has quit IRC | 19:13 | |
th1a_ | replaceafill, aelkner: ayt? | 19:47 |
replaceafill | yes | 19:48 |
th1a_ | Should we start by looking at the gradebook CSS thus far? | 19:48 |
replaceafill | sure | 19:49 |
th1a_ | By "we" I mean "you." | 19:49 |
th1a_ | ;-) | 19:49 |
replaceafill | :| | 19:49 |
replaceafill | hhmm i dont see aelkner's changes in trunk | 19:49 |
* replaceafill goes to check aelkner's branches | 19:49 | |
th1a_ | OK, well, that was a short project. | 19:50 |
th1a_ | He might not have committed them. | 19:50 |
replaceafill | ah yes, i remember he said something about that earlier | 19:50 |
* replaceafill sets up aelkner's flourish branch | 19:52 | |
th1a_ | replaceafill: do we have a running test instance that the journal works on. | 19:52 |
* th1a_ can't remember why it isn't enabled on his local one. | 19:52 | |
replaceafill | the timetable work broke it | 19:52 |
replaceafill | i mean, the journal | 19:52 |
replaceafill | th1a_ you're talking about the flourish version, right? | 19:53 |
th1a_ | No. The old one. | 19:54 |
replaceafill | ah | 19:54 |
replaceafill | hold on, let me get the link | 19:54 |
replaceafill | http://69.164.203.135:9990/ | 19:55 |
replaceafill | ok, aelkner's flourish branch is set in my instance | 19:58 |
replaceafill | http://69.164.203.135:6660/schoolyears/2010/semester-1/sections/2/activities/Worksheet/gradebook | 19:59 |
replaceafill | william/william | 19:59 |
replaceafill | hhhmm no, i'll better wait for aelkner, this is not his last version | 20:02 |
replaceafill | (i think) | 20:02 |
*** alga has quit IRC | 20:03 | |
replaceafill | ok, i've set up some activities | 20:11 |
replaceafill | http://69.164.203.135:6660/schoolyears/2010/semester-1/sections/2/activities/Worksheet/gradebook | 20:11 |
* th1a_ will call aelkner. | 20:13 | |
*** menesis has joined #schooltool | 20:13 | |
aelkner | th1a, replaceafill, i'm here | 20:15 |
th1a_ | Hey. | 20:15 |
aelkner | replaceafill, you need me to push my changes to trunk, i understand | 20:15 |
th1a_ | Push them to somewhere. | 20:16 |
replaceafill | aelkner i branched your flourish branch | 20:16 |
replaceafill | it's the latest, right? | 20:16 |
aelkner | except the freeze column stuff | 20:16 |
replaceafill | ah ok, push to trunk then | 20:16 |
replaceafill | so we both can commit | 20:16 |
replaceafill | in case we need it | 20:16 |
aelkner | yes | 20:17 |
aelkner | i was just trying to decide what i was going to keep in my commit | 20:17 |
aelkner | for instance, i put python: True | 20:17 |
aelkner | or False in the template to allow me to easily turn them on and off | 20:18 |
aelkner | i'll keep that in there, you'll see the benefit | 20:18 |
aelkner | i got it to line up pretty close, but even the slightest off makes it blurry | 20:18 |
aelkner | also, since i had to use position: absolute to get the two divs to overlap each other, the Save button gets | 20:19 |
aelkner | pushed to the top, behind the divs that have hiher z-index | 20:19 |
aelkner | anyway, i'll ping you when i've gotten it pushed | 20:20 |
replaceafill | ok | 20:20 |
aelkner | replaceafill, i pushed to trunk, but i want to make sure we are looking at the same code | 20:28 |
aelkner | and the same running instance | 20:28 |
aelkner | as we discuss things, i'd like to see it come out in firebug | 20:28 |
replaceafill | ok | 20:28 |
aelkner | and also, where would you post your changes so I can see the diffs? | 20:29 |
replaceafill | that means just one of us makes the changes then | 20:29 |
replaceafill | trunk? | 20:29 |
aelkner | hmm | 20:29 |
replaceafill | why don't you make the changes | 20:29 |
replaceafill | in your instance | 20:29 |
aelkner | ok, i can do that quikly | 20:30 |
replaceafill | cool | 20:30 |
aelkner | and you can play around with things without commiting them, right? | 20:30 |
aelkner | then you could pass along a suggestion for a change | 20:30 |
replaceafill | correct | 20:30 |
aelkner | i think that would work well | 20:30 |
aelkner | so, you could continue branching and pulling from my branch | 20:30 |
aelkner | anyway, what do you think about the css? | 20:31 |
replaceafill | i won't touch code aelkner | 20:31 |
replaceafill | you will | 20:31 |
aelkner | besides the four different naming conventions :) | 20:31 |
replaceafill | can you point me to a section with data in your instance? | 20:31 |
aelkner | yes | 20:31 |
aelkner | wait, sorry, havne't loaded my instance yet :) | 20:31 |
aelkner | i was just worrying about branches | 20:32 |
aelkner | jelkner/jelkner, and don't forget to ctrl-shift-r which i keep doing :) | 20:33 |
aelkner | http://69.164.203.135:36660/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 20:33 |
replaceafill | :| | 20:34 |
replaceafill | it makes me dizzy :D | 20:34 |
aelkner | oh stop those meaningless emoticons | 20:34 |
aelkner | i meant the first one | 20:34 |
th1a_ | Trippy. | 20:34 |
th1a_ | ;| | 20:34 |
aelkner | yeah, maaaaaaan | 20:35 |
th1a_ | ^ ^ | 20:35 |
th1a_ | ___ | 20:35 |
aelkner | is that what :| means, trippy? :) | 20:35 |
aelkner | or tripped out | 20:35 |
th1a_ | :| | 20:35 |
aelkner | that looks like a i dunno | 20:35 |
aelkner | anyway | 20:35 |
aelkner | the lengths of each line are differenct | 20:36 |
replaceafill | http://img148.imageshack.us/img148/5104/pantallazozj.png | 20:36 |
replaceafill | you see it like this too? | 20:36 |
aelkner | yep | 20:36 |
replaceafill | could you turn it off? | 20:36 |
aelkner | the length of each line is different | 20:36 |
replaceafill | let's focus on the other issues first | 20:37 |
replaceafill | padding, margins, etc | 20:37 |
replaceafill | of the content area | 20:37 |
aelkner | the calculations of lengths and widths is key | 20:37 |
aelkner | ok, sorry, you first | 20:37 |
replaceafill | let's fix the form margins first | 20:37 |
replaceafill | remove the title | 20:37 |
replaceafill | some things th1a asked | 20:37 |
aelkner | removing the title is tricky | 20:37 |
aelkner | but we can make a decision on how to do it now together | 20:38 |
replaceafill | why don't just set the title="" in the zcml directive? | 20:38 |
replaceafill | or return None in the view class | 20:39 |
aelkner | it's the template in the flourish skin | 20:39 |
aelkner | main.pt | 20:39 |
aelkner | div class="page" | 20:39 |
replaceafill | the title and subtitle are conditional, right? | 20:39 |
aelkner | there is an alternative if the condition is not met | 20:40 |
aelkner | so seomthing always renders there | 20:40 |
* replaceafill goes look | 20:40 | |
replaceafill | we can either: | 20:40 |
aelkner | also, the div class="header" always renders | 20:41 |
replaceafill | remove that alternative condition from the main.pt template or set an empty content title for the IGradebook objects | 20:41 |
aelkner | what if we made that conitional on both title and subtitle? | 20:41 |
replaceafill | or | 20:41 |
replaceafill | we can set an empty provider for the whole header | 20:41 |
replaceafill | i vote for the last one | 20:41 |
aelkner | +1 on simply removing the alternative condition | 20:41 |
aelkner | here's the thing | 20:41 |
aelkner | the alternative is there for convenience | 20:42 |
aelkner | i think forcing us to supply one explicitly is better | 20:42 |
aelkner | what do you think? | 20:42 |
aelkner | it's easy to set title=None in view class or zcml | 20:42 |
aelkner | like you said | 20:42 |
replaceafill | i think removing the alternative will break existing views | 20:42 |
replaceafill | not everything sets titles | 20:43 |
aelkner | a simple idea: | 20:43 |
aelkner | add an attribute to Page, etc. | 20:43 |
aelkner | called no_title | 20:43 |
aelkner | and have it set to False by default | 20:44 |
aelkner | then have the div class="header" have tal:condition=".../no_title" | 20:44 |
aelkner | actually, has_title would be better | 20:44 |
aelkner | that whole div could be controlled that way | 20:45 |
replaceafill | i'd just set an empty page_navigation provider for the gradebook main view | 20:45 |
th1a_ | Why don't existing views set titles? What goes there? | 20:45 |
aelkner | sorry, didn't see the nav links | 20:45 |
aelkner | oops | 20:45 |
th1a_ | Blank space? | 20:45 |
replaceafill | th1a it's an adapter | 20:46 |
replaceafill | if the view doesnt set a title, a content adapter is called | 20:46 |
replaceafill | for instance, the email container used to have "Outgoing Email" set as title | 20:46 |
replaceafill | so any view with no title on the email container, displayed that | 20:47 |
replaceafill | everytime you see "Your School" | 20:47 |
replaceafill | it's probably the content adapter on app | 20:47 |
replaceafill | getting the title for the view from app.title | 20:47 |
aelkner | so title is meant to be the context title mostly, right th1a? | 20:47 |
replaceafill | (which in turns takes it from the preferences) :) | 20:48 |
th1a_ | Yes. | 20:48 |
aelkner | so Gradebook is appropriate | 20:48 |
th1a_ | Except we want that space. | 20:48 |
aelkner | yeah, true | 20:48 |
replaceafill | correct | 20:48 |
replaceafill | we're not rendering ANYTHING there | 20:48 |
replaceafill | so, an empty provider for that part seems appropriate to me | 20:48 |
aelkner | you forgot to mention the nav links | 20:48 |
aelkner | i thought you did, but you were talking about the content provider | 20:49 |
replaceafill | aelkner we dont use the navlinks in header | 20:49 |
aelkner | we don't? | 20:49 |
replaceafill | nope | 20:49 |
replaceafill | the secondary and tertiary navigations are outside | 20:49 |
aelkner | what's the div dong there then? | 20:49 |
replaceafill | above and below | 20:49 |
replaceafill | it was on yvls original design | 20:49 |
replaceafill | that example we showed us at the beginning | 20:49 |
replaceafill | *he | 20:50 |
aelkner | so, should we remove it? | 20:50 |
replaceafill | i think we could | 20:50 |
aelkner | but that's a red herring at the moment because the condition is always false, right? | 20:51 |
replaceafill | why dont you like the empty provider for the whole header? | 20:51 |
aelkner | did you suggest something somewhere that i missed? | 20:52 |
aelkner | please restate | 20:52 |
replaceafill | "we can set an empty provider for the whole header" | 20:52 |
aelkner | ok, now you can translate that :) | 20:52 |
replaceafill | <div class="header" | 20:52 |
replaceafill | width: 140px; | tal:define="navigation providers/page_navigation|nothing"> | 20:52 |
replaceafill | oops | 20:52 |
replaceafill | sorry | 20:52 |
aelkner | tal:condition | 20:53 |
replaceafill | <div class="header" | 20:53 |
replaceafill | tal:define="navigation providers/page_navigation|nothing"> | 20:53 |
replaceafill | the header is rendered from that provider: page_navigation | 20:53 |
replaceafill | ah damn | 20:53 |
replaceafill | no forget it! | 20:53 |
replaceafill | my bad | 20:53 |
replaceafill | it's define! | 20:53 |
replaceafill | not condition :( | 20:53 |
aelkner | :) | 20:53 |
th1a_ | What if the adapter returns nothing? | 20:54 |
replaceafill | emtpy title then | 20:54 |
aelkner | ok, so we need a condition there is what i thought you saying | 20:54 |
aelkner | condition on empty title can't work | 20:54 |
replaceafill | aelkner this is what i'd do | 20:54 |
replaceafill | set an empty title provider on the IGradebook | 20:54 |
replaceafill | and not set the title on the view | 20:55 |
replaceafill | that way you don't have any | 20:55 |
aelkner | right | 20:55 |
aelkner | then a condition on both, right? | 20:55 |
replaceafill | will you try that? | 20:55 |
replaceafill | no | 20:55 |
replaceafill | the conditions are already there | 20:55 |
replaceafill | ok | 20:55 |
replaceafill | you dont set the view title, right? | 20:55 |
aelkner | i get it | 20:55 |
replaceafill | so you get to the alternative | 20:55 |
replaceafill | but the alternative renders nothing | 20:56 |
aelkner | all three sub-divs are conditional | 20:56 |
aelkner | if all all false, then none will render | 20:56 |
aelkner | that only leaves the empty containing div class="head" | 20:56 |
replaceafill | ah crap! | 20:56 |
replaceafill | no | 20:56 |
replaceafill | it's tal:content :( | 20:56 |
aelkner | header | 20:56 |
aelkner | right | 20:56 |
replaceafill | we'll get an emtpy h1 :( | 20:56 |
replaceafill | <h1></h1> | 20:56 |
th1a_ | Can't you change it? | 20:57 |
replaceafill | it seems like we have to change the template | 20:57 |
replaceafill | th1a_ right | 20:57 |
aelkner | we're discussing that now th1a | 20:57 |
aelkner | that's what i've been saying | 20:57 |
replaceafill | aelkner go ahead | 20:57 |
aelkner | just the right change would be nice :) | 20:57 |
aelkner | we were both throwing out suggestions, let's reign them in | 20:57 |
replaceafill | set tal:condition on the alternative? | 20:58 |
aelkner | we could put a condition on the div class="header" | 20:58 |
replaceafill | rigth | 20:58 |
aelkner | but i wouldn't want to put pythoin in the template, right? | 20:58 |
aelkner | so a simple no_header tests | 20:58 |
replaceafill | why not tal:condition on the alternative? | 20:58 |
aelkner | @propety in code | 20:58 |
replaceafill | so we're get an emtpy <div class="header"> | 20:59 |
aelkner | there are three tests in the header div | 20:59 |
aelkner | the title, the alternative and the navigation | 20:59 |
aelkner | unless the navigation is gone, then ust the two | 20:59 |
replaceafill | hhmm no, you're right aelkner | 20:59 |
replaceafill | we have to take the whole <div.header> | 20:59 |
aelkner | does that have css rules? | 20:59 |
replaceafill | yes | 21:00 |
replaceafill | it has padding | 21:00 |
aelkner | right | 21:00 |
aelkner | but if it didn't exist? | 21:00 |
aelkner | the tal:condition? | 21:00 |
aelkner | see, here's the thing | 21:00 |
aelkner | we already forked the view class/templates for WideContainerPage | 21:01 |
aelkner | now, we have a case where we don't want the header | 21:01 |
aelkner | i say these things should be contolled by class attributes | 21:01 |
aelkner | and not by woing willy-nilly cloning code | 21:02 |
aelkner | going | 21:02 |
replaceafill | nobody has suggested cloning, right? | 21:02 |
aelkner | in the past, that has been the rule! | 21:02 |
replaceafill | we're not cloning aelkner | 21:03 |
replaceafill | :) | 21:03 |
aelkner | didn't you once say, 'everyone is doing it' | 21:03 |
aelkner | 'look all over schooltool source' | 21:03 |
* th1a_ sighs. | 21:03 | |
* replaceafill sighs... | 21:03 | |
aelkner | yeah, that one again | 21:03 |
replaceafill | ok, let's clone! ;) | 21:03 |
aelkner | serves e right for caring, right? | 21:04 |
aelkner | me | 21:04 |
aelkner | i'd rather reverse clone if possible | 21:04 |
aelkner | not even have WideContainer Page even use a different template | 21:04 |
replaceafill | ok, i'll let you that plumbing work, since i suck at it ;) | 21:04 |
aelkner | the css class is all that is different | 21:04 |
aelkner | in our new case here | 21:04 |
aelkner | we only need to have a div not appear | 21:05 |
replaceafill | right | 21:05 |
aelkner | these things shold be controlled by intelligent view classes | 21:05 |
aelkner | and not by cloning code and templates all over the place | 21:05 |
aelkner | yvl agrees with me whole-heartedly | 21:05 |
th1a_ | We don't need this meta-discussion. | 21:05 |
aelkner | in order to decide how to proceed, i see no other way | 21:06 |
replaceafill | aelkner go ahead, remove the <div class="header"> from the gradebook view | 21:06 |
replaceafill | we'll set the appropriate padding after that | 21:07 |
* replaceafill goes to see how much that would be | 21:07 | |
aelkner | replaceafill, hugh? | 21:07 |
aelkner | we're talking about main.pt | 21:08 |
aelkner | so there's nothing to remove from the gradebook | 21:08 |
replaceafill | from the gradebook view | 21:09 |
replaceafill | you need to set the attribute you were talking about, right? | 21:09 |
aelkner | i thought we were talking about reming the div class="header"? | 21:09 |
aelkner | removing | 21:09 |
replaceafill | from main.pt? | 21:09 |
aelkner | yes | 21:10 |
replaceafill | but we use it in other views! | 21:10 |
aelkner | tal:condition | 21:10 |
replaceafill | right | 21:10 |
aelkner | thats what i was saying | 21:10 |
replaceafill | tal:condition="view/someattr" | 21:10 |
aelkner | bingo! | 21:10 |
aelkner | by default, true | 21:10 |
aelkner | gradebook overrides it | 21:10 |
replaceafill | correct | 21:11 |
replaceafill | so the gradebook does need to change :p | 21:11 |
aelkner | hasHeader? | 21:11 |
replaceafill | has_header | 21:11 |
replaceafill | show_header | 21:11 |
replaceafill | render_header | 21:11 |
aelkner | good choices | 21:11 |
aelkner | show_header | 21:11 |
aelkner | by default we show it | 21:11 |
aelkner | i'm trying to get into the mind of the developer reading it... | 21:12 |
aelkner | what do you think of show_header? | 21:12 |
aelkner | replaceafill, | 21:13 |
replaceafill | i like render_header, but i'll leave it up to you | 21:13 |
aelkner | render_header is cool | 21:13 |
aelkner | it's the same thing really | 21:13 |
aelkner | so i'll change trunk for that and push it first | 21:14 |
replaceafill | kk | 21:14 |
aelkner | then i'll change the gradebook to not render it | 21:14 |
aelkner | then i'll ping you | 21:14 |
aelkner | after loading the instance | 21:14 |
replaceafill | th1a_ http://www.ubuntu.com/business/server/overview and http://69.164.203.135:6660/settings :D | 21:16 |
th1a_ | Uh... little outlines around the white boxes? | 21:17 |
replaceafill | no, Server title in both :) | 21:18 |
th1a_ | Oh. | 21:18 |
th1a_ | In exactly the same place. | 21:18 |
replaceafill | almost ;) | 21:18 |
*** alga has joined #schooltool | 21:19 | |
aelkner | replaceafill, th1a, http://69.164.203.135:36660/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 21:30 |
aelkner | i pushed my core changes all the way out to trunk | 21:30 |
aelkner | i won't push to gradebook trunk unless someone asks me to occasionally | 21:30 |
th1a_ | OK... | 21:31 |
th1a_ | What needs fixing? | 21:31 |
replaceafill | aelkner now we need a way to set a custom class on the <div class="page"> container | 21:32 |
replaceafill | to mark the view as *the* gradebook view | 21:32 |
aelkner | in order to mark it up with different rules, right? | 21:32 |
replaceafill | yes | 21:32 |
aelkner | i think we should make the same kind of change to the Page class to have some of these classes | 21:33 |
aelkner | as view attributes | 21:33 |
aelkner | then we wouldn't even need WideContainerPAge | 21:33 |
th1a_ | Well... please keep remembering that these will be characteristics of all grid-based views. | 21:34 |
aelkner | yeah, replaceafill, why do we need rules at the page level for this? | 21:34 |
aelkner | couldn't we have a div class="grid" | 21:34 |
aelkner | and put all the rules there? | 21:35 |
replaceafill | to me it should be rendered like <div class="page grid"> | 21:35 |
replaceafill | an extra class | 21:35 |
replaceafill | see the old page_nosidebar.pt | 21:37 |
replaceafill | <div class="container expand_container"> | 21:37 |
replaceafill | extra class besides the original "container" | 21:37 |
aelkner | why do you say old? | 21:37 |
replaceafill | because widepage is newer :) | 21:37 |
aelkner | i thought you meant no longer in use | 21:38 |
replaceafill | no, we still use it in some places | 21:38 |
replaceafill | anyway, see both classes | 21:38 |
replaceafill | grid should be extra i think | 21:38 |
replaceafill | or you lose all the styles from .page | 21:39 |
aelkner | what if we have more than one grid on a page? | 21:39 |
aelkner | is that even a possibility? | 21:39 |
aelkner | if so, should the grid class go in a sub-div o the page div | 21:40 |
aelkner | i.e., multiple subdivs | 21:40 |
replaceafill | multiple grids with multiple tertiary navs? | 21:40 |
aelkner | and wouldn't any page rules still aplly to anyting grid rules didn't override? | 21:40 |
aelkner | replaceafill, good point | 21:41 |
aelkner | any grid with tertiary nav has to be the only grid | 21:41 |
th1a_ | yagni | 21:41 |
th1a_ | One grid. | 21:41 |
th1a_ | Tertiary nav. | 21:42 |
th1a_ | Now this discussion is making me feel like the grids should have their own page template... | 21:43 |
* th1a_ looks up in the air. | 21:43 | |
aelkner | we have a whole set of rules that replaceafill worked on that he doesn't want to lose | 21:43 |
th1a_ | I'm not particularly serious. | 21:43 |
aelkner | so i get the need for the class="page" | 21:43 |
aelkner | i'm just ignoring you partly :) | 21:44 |
replaceafill | it's not that i dont want to lose them, it's that you'll need to set the styles back | 21:44 |
replaceafill | if you remove the class | 21:44 |
aelkner | but replaceafill, is there any reason the grid css couldn't be defined in a lower level div | 21:44 |
replaceafill | do it in firefox :) | 21:44 |
replaceafill | and you'll see the mess ;) | 21:45 |
aelkner | doing what exactly? | 21:45 |
replaceafill | aelkner no, you can do that | 21:45 |
replaceafill | deja vu! :) | 21:45 |
replaceafill | sorry | 21:45 |
replaceafill | open firebug | 21:45 |
aelkner | ok, so you agree we don't need to change the page template | 21:45 |
aelkner | or the base view class | 21:45 |
aelkner | just the content are template | 21:45 |
aelkner | it has to have a div class="grid" | 21:45 |
replaceafill | aelkner no | 21:45 |
replaceafill | the problem is the tertiary nav | 21:46 |
aelkner | wherin the table is contained | 21:46 |
aelkner | what about it | 21:46 |
replaceafill | it's outside the content div | 21:46 |
aelkner | that's all right | 21:46 |
aelkner | now that i think about it | 21:46 |
aelkner | the tertiary div is designed to go above the content div, right? | 21:46 |
replaceafill | yes | 21:46 |
replaceafill | .page has two children: .third-nav and .body | 21:47 |
replaceafill | .body contains the sidebar and content area | 21:47 |
replaceafill | that's why i think you need to modify .page | 21:47 |
replaceafill | to be <div class="page grid"> | 21:47 |
replaceafill | the top padding/margin will be on .grid | 21:48 |
replaceafill | to separate it from the breadcrumbs | 21:48 |
aelkner | i'll take your word on the nature of the integration of css rules with div structure | 21:49 |
aelkner | we could add a page_class attribute to Page | 21:50 |
aelkner | and it can be overriden in grid view classes like GradebookOverview to be "page grid" | 21:50 |
replaceafill | right | 21:51 |
aelkner | then no need for a new template | 21:51 |
aelkner | i can do that one right away, too | 21:51 |
replaceafill | :) | 21:52 |
aelkner | then you realize, replaceafill, that we could get rid of widecntainer! | 21:52 |
aelkner | we could keep the bse view class for now | 21:53 |
aelkner | but axing the template would please me no little bit | 21:53 |
replaceafill | then you'll need to mark the content area | 21:53 |
aelkner | how do you mean? | 21:53 |
replaceafill | widecontainer marks the content area, not the page div | 21:53 |
aelkner | replaceafill, sorry, you're right, not the same thng | 21:54 |
replaceafill | right | 21:54 |
aelkner | but you see how that could have been soved with a view class variable? | 21:54 |
replaceafill | yes | 21:55 |
aelkner | we need to start doing things like that | 21:55 |
aelkner | it will speed up our ability to make conditional changes to the div classes | 21:55 |
aelkner | anyway, it's main.pt that needs to render the conditional class, so i'll do that | 21:56 |
replaceafill | you could leave 'page' by default | 21:57 |
aelkner | yes, it will be | 21:57 |
replaceafill | cool | 21:58 |
replaceafill | this is what you get if you remove 'page' from that div: http://img846.imageshack.us/img846/7100/pantallazo1ot.png :) | 21:59 |
aelkner | :) | 22:01 |
aelkner | yeah, well, what would be the point of removing something that is so central to the look | 22:01 |
aelkner | replaceafill, ok, so i put the grid class in: | 22:24 |
aelkner | http://69.164.203.135:36660/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 22:24 |
replaceafill | ah ok | 22:25 |
th1a_ | The tertiary navigation shouldn't literally be butting up against the header. | 22:25 |
th1a_ | Align it with the sidebar. | 22:25 |
replaceafill | now, i'd set .schooltool > .grid {padding-top: 16px;} | 22:25 |
replaceafill | th1a only for this view? | 22:26 |
th1a_ | I will be saying nothing gradebook specific. | 22:26 |
th1a_ | I'm only talking about grid views generically. | 22:26 |
replaceafill | i mean, all the other views with tertiary nav stay the same, right? | 22:26 |
th1a_ | Yes. | 22:27 |
replaceafill | k | 22:27 |
replaceafill | aelkner that sounds like cloning :( | 22:27 |
replaceafill | the tertiary nav will need to be contained in the div.container | 22:28 |
replaceafill | unless we use a css negative margin hack | 22:28 |
replaceafill | something like: | 22:29 |
replaceafill | .grid > .body > .refine { | 22:29 |
replaceafill | margin-top: -40px; | 22:29 |
replaceafill | } | 22:29 |
replaceafill | hhmm nope, we'd need to move the third-nav to the div.container | 22:31 |
replaceafill | aelkner? | 22:33 |
aelkner | i pushed my gradebook changes to trunk, too | 22:33 |
aelkner | replaceafill, sounds like you are thinking out loud here | 22:34 |
aelkner | i mean, you designed the page templates to work with the css classees and rules | 22:34 |
aelkner | if you can change the templates to make the rules as simple as possible, i'd recommend that | 22:34 |
aelkner | but i can't comment on the absolute need for a negative margin hack | 22:34 |
aelkner | can you move around the divs some to remove the necessity for that? | 22:35 |
aelkner | we can continue to add view class conditions to the templates | 22:35 |
aelkner | that has been working well so far today :) | 22:35 |
replaceafill | either way would involve negative margin or absolute positioning :( | 22:35 |
replaceafill | either on .grid or .page | 22:36 |
aelkner | it's tricky i'm sure | 22:36 |
replaceafill | for the tertiary nav | 22:36 |
aelkner | i'll trust your decision either way | 22:36 |
aelkner | just hoping to emphasize simplicity | 22:36 |
replaceafill | let me check the tertiary nav styles | 22:36 |
aelkner | but you will have to do what you have to do | 22:36 |
aelkner | btw, why do we have this problem suddenly | 22:37 |
aelkner | because we remoced the header div? | 22:37 |
replaceafill | no, because th1a_ wants the sidebar aligned to the third-nav | 22:37 |
replaceafill | in grid views | 22:37 |
aelkner | and the header is above the third-nav, right? | 22:38 |
replaceafill | the header is not the problem | 22:38 |
replaceafill | aelkner you changes are in trunks, right? | 22:39 |
aelkner | yes | 22:39 |
replaceafill | i'll fix the third-nav as th1a_ requested | 22:39 |
replaceafill | give me a few mins | 22:39 |
aelkner | sure | 22:39 |
replaceafill | i don't want to clone, but... | 22:40 |
replaceafill | i'll try to fix it with css first | 22:40 |
replaceafill | aelkner could you confirm something: | 22:55 |
replaceafill | http://69.164.203.135:36660/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 22:55 |
replaceafill | do you see the Save button above the gradebook grid? | 22:55 |
* replaceafill goes to check chrome | 22:56 | |
replaceafill | ah ok, chrome does the same | 22:57 |
aelkner | replaceafill, i noticed the Save button moved up | 23:03 |
aelkner | i mentioned that this morning | 23:03 |
replaceafill | ok | 23:03 |
aelkner | it has something to do with the position: absolute i think | 23:03 |
aelkner | it's like divs with position: absolute take up no space, right? | 23:03 |
aelkner | that's why the second grid can overlay the first | 23:04 |
aelkner | i think | 23:04 |
replaceafill | well, it's possible: http://69.164.203.135:6669/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 23:11 |
replaceafill | :) | 23:11 |
replaceafill | will fix the button issue now | 23:11 |
aelkner | what's possible? | 23:11 |
replaceafill | doing it with css | 23:11 |
replaceafill | without cloning ;) | 23:11 |
th1a_ | It is possible for the server to be down. ;-) | 23:11 |
replaceafill | ah? | 23:12 |
replaceafill | th1a_ it works for me | 23:12 |
aelkner | doing what? | 23:12 |
replaceafill | http://69.164.203.135:6669/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 23:12 |
replaceafill | aelkner moving the third-nav | 23:12 |
aelkner | ah, i see | 23:13 |
aelkner | yeah, that's better looking | 23:13 |
aelkner | what was the change? | 23:13 |
replaceafill | +.schooltool > .grid { | 23:13 |
replaceafill | + padding-top: 16px; | 23:13 |
replaceafill | +} | 23:13 |
replaceafill | + | 23:13 |
replaceafill | +.grid > .third-nav { | 23:13 |
replaceafill | + position: absolute; | 23:13 |
replaceafill | + left: 208px; | 23:13 |
replaceafill | +} | 23:13 |
replaceafill | + | 23:13 |
replaceafill | +.grid > .body > .widecontainer { | 23:13 |
replaceafill | + padding-top: 37px; | 23:13 |
replaceafill | + width: 736px; | 23:14 |
replaceafill | +} | 23:14 |
replaceafill | sorry for the flooding :( | 23:14 |
th1a_ | aelkner: Are you able to open replaceafill's link? | 23:14 |
aelkner | yes, i was | 23:14 |
aelkner | try again | 23:14 |
aelkner | i'll try again | 23:14 |
th1a_ | I have been. | 23:14 |
aelkner | it keeps working | 23:14 |
aelkner | what happens for you? | 23:15 |
replaceafill | hhmm, th1a_ will try a different port | 23:15 |
th1a_ | It keeps not working. | 23:15 |
aelkner | :) | 23:15 |
aelkner | how? | 23:15 |
th1a_ | This webpage is not available. | 23:15 |
aelkner | program exception | 23:15 |
aelkner | ah the page | 23:15 |
th1a_ | I wonder if my internet connection is up. | 23:15 |
th1a_ | ping... | 23:15 |
th1a_ | ;-) | 23:15 |
aelkner | well, you're talking here, so... | 23:15 |
replaceafill | th1a_ http://69.164.203.135:7777/schoolyears/2010-2011/20102011/sections/1/activities/Worksheet/gradebook | 23:16 |
th1a_ | usccess! | 23:20 |
th1a_ | success! | 23:20 |
th1a_ | However, about this CSS... | 23:20 |
aelkner | now i can't view the site! | 23:21 |
th1a_ | At 7777? | 23:21 |
aelkner | ok, thanks | 23:21 |
th1a_ | Did you align the content area with the sidebar or the sidebar with the content area? | 23:21 |
aelkner | replaceafill, where's the freezecol stuff? | 23:21 |
replaceafill | aelkner i removed it | 23:22 |
replaceafill | well, hid it | 23:22 |
aelkner | yeah, no kidding | 23:22 |
replaceafill | and removed the position: absolute on the gradebook | 23:22 |
replaceafill | we can start from here | 23:22 |
replaceafill | refresh | 23:22 |
aelkner | and what about the sidebar not going all the way up? | 23:22 |
aelkner | you had that working in 6669 | 23:23 |
replaceafill | nope | 23:23 |
replaceafill | th1a_ fixing the sidebar | 23:23 |
th1a_ | kk | 23:24 |
replaceafill | th1a_ is it ok like that? | 23:26 |
replaceafill | refresh :) | 23:26 |
* th1a_ is ordering some Bob and Timmy's... | 23:26 | |
replaceafill | damn! | 23:27 |
th1a_ | I was thinking more like 16px. | 23:27 |
th1a_ | We don't need to jam it up there. | 23:27 |
replaceafill | i tried it | 23:27 |
replaceafill | refresh | 23:27 |
replaceafill | 16px | 23:27 |
th1a_ | 7777? | 23:27 |
replaceafill | hhmm maybe we're not seeing the same | 23:28 |
th1a_ | Maybe I want more. | 23:28 |
replaceafill | we're talking about the Section text, right? | 23:28 |
th1a_ | It is less than the space between the sidebar and the content area. | 23:28 |
th1a_ | The gradebook? | 23:28 |
th1a_ | Oh. | 23:28 |
replaceafill | let me show you how it was | 23:28 |
th1a_ | I meant more space between secondary nav and the content area/sidebar. | 23:28 |
replaceafill | ah | 23:29 |
replaceafill | ok, resetting and adding more space | 23:29 |
th1a_ | Also, my holy grail here is getting the grid to be right up against the top right of the content area. | 23:30 |
* th1a_ might hate it once he sees it. | 23:30 | |
replaceafill | refresh | 23:31 |
replaceafill | that's 24px | 23:32 |
th1a_ | How about 48. | 23:32 |
replaceafill | 48px | 23:33 |
replaceafill | refresh | 23:33 |
th1a_ | That'll do for now. | 23:33 |
aelkner | why so much white space? | 23:33 |
aelkner | i liked 24px better | 23:33 |
replaceafill | i thought th1a_ wanted it very tight | 23:34 |
aelkner | there's still lots of whitespace there that isn't doing anything | 23:34 |
th1a_ | 36? | 23:34 |
th1a_ | It is less than half what was there before. | 23:35 |
aelkner | replaceafill, what are you styling, .grid? | 23:35 |
* aelkner wishes he could see a diff, couldn't you commit and push at least to your own banch? | 23:36 | |
* th1a_ has to go get pizza. | 23:36 | |
replaceafill | 36px | 23:36 |
replaceafill | aelkner i can push to trunk | 23:37 |
replaceafill | aelkner pushed | 23:38 |
aelkner | thanks | 23:38 |
replaceafill | ok, now we're removing the extra space above the header, right? | 23:39 |
aelkner | replaceafill, are you asking th1a? | 23:49 |
aelkner | he's out for pizza | 23:49 |
replaceafill | no, i was thinking out loud :) | 23:49 |
aelkner | aaah | 23:49 |
replaceafill | i'm making these changes now | 23:50 |
aelkner | so when can we look at the freezecol stuff? | 23:50 |
replaceafill | hold on, almost there | 23:50 |
aelkner | ok | 23:50 |
replaceafill | aelkner refresh | 23:51 |
replaceafill | ah the right part | 23:52 |
replaceafill | ok, i think we got it | 23:53 |
aelkner | less whitespace, better | 23:54 |
replaceafill | ok, aelkner i'm putting back the freezcol | 23:55 |
aelkner | wasn't it nice that i put that tal:condition in there? :) | 23:55 |
replaceafill | i use tal:condition="nothing" :P | 23:56 |
replaceafill | ok, put it back | 23:56 |
aelkner | should i refresh? | 23:56 |
replaceafill | you know, i'll push these last changes before | 23:56 |
replaceafill | ok? | 23:56 |
* replaceafill checks first with chrome | 23:57 | |
aelkner | np | 23:57 |
replaceafill | change pushed to trunk | 23:59 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!