*** replaceafill has quit IRC | 00:05 | |
*** fsufitch has quit IRC | 00:08 | |
*** replaceafill has joined #schooltool | 01:04 | |
*** menesis has quit IRC | 01:32 | |
*** replaceafill has quit IRC | 02:08 | |
*** fsufitch has joined #schooltool | 02:50 | |
*** th1a has quit IRC | 03:00 | |
*** replaceafill has joined #schooltool | 03:04 | |
*** replaceafill has quit IRC | 03:28 | |
*** aks has joined #schooltool | 07:58 | |
*** aks has joined #schooltool | 07:58 | |
*** menesis has joined #schooltool | 08:15 | |
*** menesis has quit IRC | 11:11 | |
*** replaceafill has joined #schooltool | 11:18 | |
*** yvl has joined #schooltool | 11:24 | |
replaceafill | yvl you around? | 11:55 |
---|---|---|
yvl | hey replaceafill | 11:55 |
replaceafill | hey yvl, quick question | 11:55 |
yvl | sure | 11:55 |
replaceafill | How do you get the url of a file resource? | 11:56 |
replaceafill | i did: | 11:56 |
replaceafill | resource_directory = getAdapter(self.request, Interface, name='schooltool.skin.flourish') | 11:56 |
replaceafill | icon = resource_directory.get('remove-icon.png')() | 11:56 |
replaceafill | but it feels wrong :) | 11:56 |
replaceafill | what's the right way? :D | 11:56 |
yvl | yes, it does feel wrong | 11:57 |
replaceafill | you mean that's the way to do it...? | 11:58 |
yvl | I don't think so | 11:59 |
yvl | let me grep a bit | 11:59 |
replaceafill | kk | 11:59 |
yvl | at very least, zope.traversing.api.traverse(self.context, '++resource++' + self._path, request=self.request) | 12:00 |
replaceafill | ah | 12:01 |
replaceafill | that could be: traverse(self.context, '++resource++schooltool.skin.flourish/remove-icon.png', request=self.request) | 12:02 |
replaceafill | correct? | 12:02 |
yvl | looks like it | 12:04 |
* replaceafill tries | 12:04 | |
* yvl hasn't had his coffe yet | 12:04 | |
replaceafill | :D | 12:04 |
replaceafill | it works! | 12:06 |
replaceafill | feels less wrong ;) | 12:06 |
yvl | well what do you know... | 12:13 |
yvl | I mean - who would have guessed | 12:13 |
yvl | zope/traversing/namespace.py(164)queryResource | 12:13 |
replaceafill | :| | 12:14 |
yvl | resource = zope.component.queryAdapter(request, name=name) | 12:14 |
yvl | name is 'schooltool.skin.flourish' there | 12:14 |
replaceafill | :D | 12:14 |
replaceafill | i looked something similiar in zc.resourcelibrary code | 12:14 |
replaceafill | that's where i got the getAdapter(...) idea | 12:15 |
*** replaceafill has quit IRC | 13:16 | |
*** aks has quit IRC | 14:33 | |
*** th1a has joined #schooltool | 15:30 | |
*** replaceafill has joined #schooltool | 16:08 | |
th1a | hi replaceafill, aelkner, yvl. | 16:30 |
yvl | morning guys | 16:30 |
replaceafill | morning/afternoon | 16:30 |
aelkner | morning | 16:31 |
* yvl excuses himself for 2 mins | 16:31 | |
th1a | aelkner: I assigned a critical bug to you this morning. | 16:31 |
th1a | Do you see it? | 16:33 |
aelkner | yes | 16:33 |
aelkner | nobody tried that before i guess | 16:34 |
* yvl back | 16:34 | |
th1a | That's your top priority today. | 16:34 |
aelkner | ok | 16:34 |
th1a | Nobody tested for it. ;-) | 16:34 |
th1a | https://bugs.launchpad.net/schooltool/+bug/801121 | 16:34 |
aelkner | yeah, replaceafill, we didn't think of that when we did that those many years ago... | 16:35 |
replaceafill | :) | 16:35 |
th1a | OK. Thoughts about my email yesterday? | 16:36 |
aelkner | i like Done for the button instead of Ok | 16:37 |
th1a | It is clearer. | 16:37 |
aelkner | also, depending on what yvl has come up with | 16:38 |
aelkner | i would say the dialogs for the modal vews shold come up | 16:38 |
aelkner | i mean, they should be put next to the links as i did wth the reports manager | 16:38 |
aelkner | so if the action link is rendered, then the form for the modal is right there | 16:39 |
yvl | aelkner, my hat off to you for the implementation | 16:40 |
aelkner | can we do the same kind of thing for the action links? | 16:40 |
th1a | Are the new modals on the demo server? | 16:40 |
replaceafill | th1a yes | 16:41 |
replaceafill | th1a unstyled though | 16:41 |
th1a | For reports? | 16:41 |
replaceafill | yes | 16:41 |
th1a | Ah. reloaded. | 16:41 |
aelkner | yeah, they're ugly at the moment, but functional | 16:41 |
aelkner | and as replaceafill pointed out, they don't auto-close when the user hits download | 16:42 |
yvl | and keep in mind that they don't work at all when log-in expires | 16:42 |
th1a | The one thing aelkner wasn't around yesterday afternoon to discuss is the design of the form. | 16:42 |
yvl | or in any case where user has no rights to access | 16:42 |
th1a | I'm thinking it should be a table with download buttons in each row. | 16:42 |
th1a | Clearer than a dropdown. | 16:43 |
aelkner | sounds like like it would be | 16:43 |
th1a | So perhaps we could try that before doing the styling. | 16:45 |
th1a | Has everyone seen the preferences modal? | 16:46 |
replaceafill | a few comments about that: | 16:47 |
replaceafill | i removed the title bar as you can see, less feeling of a box inside another box i think | 16:47 |
replaceafill | (title bar of the dialog) | 16:47 |
replaceafill | unfortunately, this takes away the X button to close the dialog (equivalent to hitting ESC when the dialog is open) | 16:48 |
replaceafill | also, in z3c.form the checkboxes have labels | 16:49 |
th1a | Yeah... I'm a little unsure. | 16:49 |
th1a | I think this needs some red, too. | 16:49 |
th1a | Gray on gray doesn't look very active. | 16:50 |
th1a | So a red bar would help with that. | 16:50 |
th1a | Gray over grayed-out. | 16:50 |
replaceafill | refresh the dialog | 16:50 |
replaceafill | i changed the css to display the labels | 16:51 |
replaceafill | and hints | 16:51 |
th1a | Well, it is redundant. | 16:51 |
replaceafill | yes | 16:51 |
replaceafill | that's why i took them out | 16:51 |
replaceafill | at least for modal dialogs | 16:51 |
th1a | Perhaps we could just write helpful hints. | 16:51 |
th1a | Put some XXX's in there. | 16:52 |
th1a | You see, I don't even necessarily know where there are terrible hints, descriptions, etc., because you guys hide them from me. | 16:52 |
th1a | XXX - need hint here | 16:53 |
th1a | Is MUCH BETTER. | 16:53 |
aelkner | most of the hints were established long ago when the interfaces were created | 16:53 |
th1a | It is not like "Make calendar public" says it all. | 16:53 |
th1a | I know, I just need your help. | 16:54 |
aelkner | so while we can follow your suggestion gong forward, we can't do anything about the existing nes | 16:54 |
aelkner | i didn't know we were making any new interfaces anywya | 16:55 |
th1a | What you can do is be aware of the fact that a hint or description that is restating the title is a bug. | 16:56 |
th1a | And flag it as such, at least with an XXX so I'll know to fix it. | 16:56 |
th1a | I know the preferences dialog is old. | 16:56 |
aelkner | all of the interfaces are | 16:57 |
th1a | Well, we're all older and wiser now. | 16:57 |
aelkner | anyway, if you want, you can make a task just for going over every interface in schooltool looking for that problem | 16:57 |
th1a | We're going to be going over every view in the next two months, that's my point. | 16:57 |
aelkner | but these interfaces are not flourish only, so keep in mind that changes will show up in the old skin | 16:57 |
th1a | Look... better descriptions and hints are features! | 16:58 |
th1a | And REALLY IMPORTANT. | 16:58 |
replaceafill | we'll need better styles for them too | 16:58 |
th1a | replaceafill: Can you please change the hints to XXX so I can even tell which ones are the hints. | 16:59 |
replaceafill | ok, hold on | 16:59 |
replaceafill | or go on | 16:59 |
replaceafill | :) | 16:59 |
replaceafill | while i do that | 16:59 |
replaceafill | done | 17:00 |
th1a | Why is the label in two places? | 17:01 |
replaceafill | that's what i was saying | 17:01 |
replaceafill | z3c.form does that | 17:01 |
aelkner | because the hint css is not right | 17:01 |
th1a | There are two problems. | 17:01 |
replaceafill | no, it's not related to the hints | 17:01 |
aelkner | ok, never mind | 17:01 |
aelkner | th1a, btw, so you really want to go over cosmetics now when yvl is here and about to leave for the week? | 17:02 |
aelkner | we have plumbing discussions to have | 17:02 |
* yvl will be here for a while | 17:02 | |
* yvl overslept today - forgot to set the alarm clock | 17:02 | |
th1a | I was planning on moving on. | 17:03 |
aelkner | well, cosmetic discussions can go on for hours | 17:03 |
aelkner | ok | 17:03 |
th1a | When you question everything, yes. | 17:03 |
th1a | yvl: Go ahead. | 17:03 |
yvl | ok | 17:03 |
yvl | well, I overslept | 17:04 |
yvl | so still in progress | 17:04 |
yvl | not much to report actually | 17:04 |
yvl | nothing of interest to you guys, at least | 17:04 |
aelkner | what do you think of the idea of rendering the form div next to the link for action links? | 17:05 |
aelkner | and the js, too | 17:05 |
aelkner | for modals, that is | 17:05 |
yvl | +1 | 17:05 |
yvl | that's how I thought of doing it, actually | 17:05 |
yvl | this semi-auto-generation removes the issue replaceafill mentioned | 17:06 |
yvl | that modal dialogs are per-view now | 17:06 |
yvl | because they won't be | 17:06 |
th1a | I figured that technical problem could be solved but I think omitting the sidebar could still be a usability win. | 17:07 |
yvl | yes | 17:08 |
yvl | technical problem *had* to be solved anyway | 17:08 |
th1a | So... now what? | 17:10 |
* yvl still hasn't finished the tal expressions and their tests | 17:10 | |
yvl | and respective small .js that goes with it | 17:11 |
th1a | So in the meantime we should just plow ahead? | 17:11 |
yvl | and I don't like polluting global js namespace like we do now everywhere, but that's not important now | 17:11 |
yvl | yes | 17:12 |
th1a | OK. | 17:12 |
th1a | Any questions aelkner? | 17:12 |
aelkner | sounds like there's nothing to discuss until we see what yvl cooks up | 17:12 |
aelkner | perhaps monday? | 17:13 |
yvl | probably | 17:13 |
yvl | unless I work late today for some reason :) | 17:13 |
aelkner | ok, maybe later today | 17:13 |
* yvl worked 3 hours less than expected at this point, hence 3 hours behind schedule | 17:13 | |
th1a | Sure. | 17:14 |
th1a | OK, so aelkner: div by zero bug first. | 17:14 |
th1a | Make reports modal use a table. | 17:14 |
aelkner | ok | 17:15 |
th1a | If you get those done we can look at contacts view. | 17:15 |
th1a | replaceafill: What's the Cambodia situation? | 17:15 |
replaceafill | i need to create a report with the columns i describe in my email | 17:15 |
replaceafill | waiting for Chandara's confirmation on the values | 17:15 |
replaceafill | but i think i got them right | 17:16 |
aelkner | th1a, i should fix the bug in a branch of gradebook trunk | 17:16 |
aelkner | not flourish gradebook, right? | 17:16 |
th1a | trunk | 17:17 |
th1a | Isn't flourish just the skin? | 17:17 |
aelkner | it's a separate branch | 17:17 |
th1a | Yes, fix it in trunk. | 17:17 |
aelkner | ok | 17:17 |
th1a | Well, fix it in a branch and file a merge request, correct? | 17:18 |
th1a | replaceafill: Did you cc: me on that? | 17:20 |
replaceafill | th1a yes | 17:20 |
replaceafill | i think... | 17:20 |
th1a | Oh, I see it. | 17:20 |
* replaceafill looks | 17:20 | |
aelkner | th1a, yes, i'll branch trunk and file a merge request | 17:20 |
replaceafill | ah ok | 17:20 |
th1a | OK. | 17:20 |
th1a | So lets work on the dialog style more then. | 17:20 |
th1a | So we're done? | 17:21 |
* th1a drops the bag of gravel. | 17:21 | |
th1a | replaceafill: Put the bar back on top and make it red. | 17:22 |
replaceafill | ok | 17:22 |
replaceafill | th1a done | 17:25 |
th1a | Put the form title up there. | 17:25 |
replaceafill | :| | 17:25 |
replaceafill | hhmm | 17:26 |
replaceafill | let me think about it | 17:26 |
th1a | Can't you put text there? | 17:26 |
replaceafill | you have to set it in .js | 17:26 |
replaceafill | and the form header is rendered in the content of the dialog | 17:27 |
th1a | btw, tomorrow is a holiday in Lithuania, aelkner has something going on and my sister is going to be in town. | 17:38 |
th1a | So it will be a slow day. | 17:38 |
replaceafill | th1a perfect day for cambodia work :) | 17:38 |
th1a | y | 17:39 |
aelkner | yes, i'll be offline all day tomorrow | 17:39 |
replaceafill | th1a i vote to make the current title of dialog look like jquery-ui title bar | 17:40 |
replaceafill | thing is, the js to create the dialog is separated from the template rendering the form | 17:41 |
replaceafill | i could also tweak the css to move the form title to the jquery ui title bar position | 17:42 |
th1a | Like... float it over? | 17:42 |
replaceafill | yes | 17:42 |
th1a | Why not try that? | 17:42 |
replaceafill | move up and bring to the front | 17:42 |
replaceafill | ok, let me try that | 17:42 |
replaceafill | th1a refresh | 18:08 |
th1a | Looks good. | 18:09 |
replaceafill | th1a took the js approach instead of tweaking the css | 18:09 |
th1a | I'm sure it is the kind of thing that will break horribly in weird languages. | 18:09 |
th1a | Oh, good! | 18:09 |
th1a | Try taking out the gray background. | 18:09 |
replaceafill | done | 18:10 |
th1a | I think that's better, too. | 18:10 |
th1a | Now... switch the checkboxes to radio buttons. | 18:11 |
th1a | Show periods | Show hours | 18:11 |
replaceafill | Show periods (yes) | Show hours (no) in z3c.form context, correct? | 18:12 |
th1a | ? | 18:12 |
th1a | yes/no? | 18:12 |
replaceafill | i mean, z3c.form uses yes no for the radio buttons but allows you to customize the labels | 18:12 |
th1a | What if you have three radio buttons? | 18:12 |
replaceafill | then it's not a Bool field, right? | 18:13 |
th1a | Ah. | 18:13 |
th1a | Yes, like that. | 18:13 |
replaceafill | ok, doing that | 18:13 |
replaceafill | we could make the font-size of the dialog title smaller, i think | 18:14 |
th1a | Calendar is visible to the public | Calendar is visible to $NAME and... who actually? | 18:14 |
th1a | Maybe. | 18:14 |
th1a | Try it. | 18:14 |
th1a | It needs to pop above the background though. | 18:14 |
replaceafill | padding fixed for the title bar and font-size = 16px | 18:18 |
replaceafill | i'll fix the X button later | 18:19 |
replaceafill | it needs to be white | 18:19 |
th1a | kk | 18:19 |
replaceafill | right? | 18:19 |
th1a | Uh... | 18:19 |
replaceafill | the black X button on the right of the title bar | 18:19 |
th1a | Yeah. Well, I'd just have to fiddle with it. | 18:19 |
replaceafill | ok | 18:20 |
replaceafill | radio buttons now | 18:20 |
th1a | I guess white, unless it looks stupid! | 18:20 |
aelkner | th1a, i'm able to reproduce the bug | 18:41 |
aelkner | the question is: | 18:41 |
aelkner | what should the behavior be if exam and homework are weighted 50/50 | 18:42 |
aelkner | and the worksheet only has scores for assignment? | 18:42 |
aelkner | do we apply the 'zero' weighting to the assignment score | 18:43 |
aelkner | thus, a worksheet with one score entered, say '87', would have an average of zero? | 18:43 |
aelkner | replaceafill, it's interesting, you remember working on that routine together at your first schooltool sprint? | 18:45 |
replaceafill | aelkner definitely :) | 18:46 |
aelkner | can you look at the routine now for a second? | 18:46 |
aelkner | it's in the getTotalAverage of the gradebook class | 18:46 |
aelkner | total_percentage is zero because there are no scores for any categories that have non-zero weights | 18:47 |
replaceafill | getWorksheetTotalAverage? | 18:47 |
aelkner | yeah, so it devides by zero | 18:47 |
replaceafill | ah! here: adjusted_weights[key] /= total_percentage | 18:48 |
aelkner | right | 18:49 |
aelkner | mathematically, what is the right calculation is the question | 18:50 |
replaceafill | yvl you still there? | 18:52 |
yvl | yep | 18:52 |
replaceafill | yvl i have: | 18:52 |
replaceafill | class PeriodPreferencesTerms(term.BoolTerms): | 18:52 |
replaceafill | trueLabel = _('Show periods') | 18:52 |
replaceafill | falseLabel = _('Show hours') | 18:52 |
replaceafill | i know the discriminator for the adapter is: context, request, form, field, and widget. | 18:52 |
replaceafill | how can i register the adapter for a specific view and field? | 18:53 |
replaceafill | i tried "adapts(...)" | 18:53 |
replaceafill | like this: | 18:53 |
replaceafill | adapts( | 18:53 |
replaceafill | Interface, | 18:53 |
replaceafill | IFlourishLayer, | 18:53 |
replaceafill | FlourishPersonPreferencesView, | 18:53 |
replaceafill | IPersonPreferences['cal_periods'], | 18:53 |
replaceafill | Interface) | 18:53 |
replaceafill | but it complains with: | 18:54 |
replaceafill | raise TypeError("Required specification must be a " | 18:54 |
replaceafill | zope.configuration.config.ConfigurationExecutionError: <type 'exceptions.TypeError'>: Required specification must be a specification or class. | 18:54 |
replaceafill | in: | 18:54 |
aelkner | IPersonPreferences['cal_periods'] is not a class | 18:54 |
aelkner | it is an instance | 18:54 |
aelkner | right? | 18:55 |
yvl | I would say so | 18:55 |
replaceafill | ah! so it doesnt work like validator discriminators | 18:55 |
yvl | replaceafill, you are doing it in an interesting way, I must say | 18:55 |
aelkner | :) | 18:56 |
replaceafill | if by interesting you mean stinky, i agree :) | 18:56 |
aelkner | sometimes, you got to try things | 18:56 |
aelkner | i know how that feels | 18:56 |
yvl | z3c.form.util.getSpecification | 18:57 |
replaceafill | In case of instances, an interface is generated on the fly and tagged onto | 18:57 |
replaceafill | the object. Then the interface is returned as the specification. | 18:57 |
replaceafill | :| | 18:57 |
yvl | one can get a seizure by looking at this, yes | 18:58 |
aelkner | +1 | 18:58 |
aelkner | it might help to step back an reexamine what it is you need | 18:58 |
replaceafill | my love/hate relationship with z3c.form is back :D | 18:59 |
th1a | aelkner: If it is weighted 0 is it worth 0. | 18:59 |
th1a | How else would you do it? | 18:59 |
th1a | replaceafill: Is this from using radio buttons with a bool? | 18:59 |
aelkner | i think you are right, the average should be zero | 18:59 |
aelkner | i just thought it best to get you to sign off on that | 18:59 |
replaceafill | th1a yes | 19:00 |
th1a | I don't even know what else it would be. | 19:00 |
th1a | (aelkner) | 19:00 |
th1a | replaceafill: What would the other option be if we were starting from scratch? | 19:00 |
th1a | Change the interface to a list of values? | 19:01 |
aelkner | replaceafill, the thing is, i don't know why we have the adjust_weights in that routine | 19:01 |
aelkner | if you look below, you see it asks: | 19:01 |
replaceafill | th1a hack the widget before it renders | 19:01 |
replaceafill | (let me try that) :) | 19:01 |
aelkner | is there a category weight for this category | 19:01 |
aelkner | if so, used the adjusted weight | 19:01 |
aelkner | we need to rework that method so that it's comprehensible | 19:02 |
aelkner | i'm afraid it is a difficult and complex problem | 19:02 |
aelkner | remember it drove th1a to such visible frustration just thinking about it | 19:03 |
aelkner | that replaceafill was afraid for his life there a second :) | 19:03 |
replaceafill | :D | 19:03 |
aelkner | but seriously, it is a difficult problem, so if we solve it, the solution needs to tell the story | 19:03 |
aelkner | i think this is a case for divide and conquer, what are the pieces of the solution, broken down so to speak | 19:04 |
th1a | Calculating the average is a difficult problem? | 19:05 |
aelkner | why the need for adjusted_wights? | 19:05 |
aelkner | which are based on what scores are entered | 19:05 |
aelkner | shouldn't the weights themselves be worthy of applying | 19:06 |
aelkner | replaceafill, i could use your pair of eyes on this one | 19:06 |
replaceafill | aelkner i'm in the middle of changing the radio buttons | 19:06 |
aelkner | th1a, calculating a weighted average is the problem | 19:07 |
aelkner | when categories are scored and not weighted | 19:07 |
th1a | Well, is the problem partly that by default nothing is weighted? | 19:08 |
aelkner | but perhaps replaceafill and i erred when we tried to adjust the weights according to whether there were scores | 19:08 |
aelkner | if nothing is weighted? let me check | 19:08 |
aelkner | if there are no weights, then the block of code that has the problem is never reached | 19:09 |
aelkner | if there are, the code block builds an adjusted weights dict | 19:09 |
aelkner | and i can't work out yet why | 19:10 |
th1a | It might be unnecessary. | 19:10 |
aelkner | i'm starting to think so | 19:10 |
th1a | Perhaps you need to start with tests... | 19:10 |
aelkner | we have tests | 19:10 |
aelkner | but not for that case | 19:10 |
aelkner | so yes, i will need to add a test after i have a solution | 19:11 |
th1a | What happens to your tests if you take that block out? | 19:11 |
th1a | Well, technically you should start with a failing test. ;-) | 19:11 |
aelkner | they would crash because that block does a lot of good things | 19:11 |
aelkner | well, yeah, but the important thing to discuss was the behavior | 19:12 |
aelkner | so i believe we are in agreement | 19:12 |
aelkner | if the weights are for cats 1 and 2 | 19:12 |
aelkner | and there are only scores for cat 3 | 19:12 |
aelkner | then the average will b zero | 19:12 |
aelkner | even thought the toal is not | 19:12 |
aelkner | total | 19:12 |
aelkner | and i should be able to change the block (simplify it really) | 19:13 |
aelkner | so that it doesn't need the adjusted_weights | 19:13 |
* aelkner goes to take a shower | 19:14 | |
replaceafill | th1a uh!?!?!? "I want you add month score (October-January, March-June) for 9th and 12th level." | 19:40 |
* replaceafill writes back... | 19:40 | |
th1a | I don't know what that means. | 19:40 |
replaceafill | levels 9 and 12 are supposed to grade by semester | 19:40 |
replaceafill | not by month | 19:41 |
th1a | Good response replaceafill. | 19:50 |
replaceafill | :) | 19:50 |
replaceafill | well... i'm confused ;) | 19:50 |
*** ignas has joined #schooltool | 19:53 | |
th1a | So do I have you in interface hell over these radio buttons? | 20:00 |
replaceafill | kind of :( | 20:01 |
replaceafill | trying a widget factory instead of a terms adapter | 20:01 |
aelkner | replaceafill, prorbably the best way to go | 20:03 |
aelkner | th1a, so it turns out that i need to be in arlington by 5:45 | 20:10 |
aelkner | so i will be going in half an hour | 20:10 |
th1a | OK. | 20:10 |
aelkner | but i know what i need to do with the bug | 20:10 |
aelkner | and i also have that table task for the report request views | 20:11 |
aelkner | so i'll get those sorted out by monday | 20:11 |
th1a | OK. | 20:11 |
aelkner | i'm still taking a vacation day this week, of course | 20:11 |
replaceafill | th1a http://69.164.203.135:6660/persons/alvaro/ | 20:12 |
th1a | aelkner: yes. | 20:13 |
replaceafill | oops error on submit! | 20:13 |
th1a | Where does the first "Show periods" come from? | 20:14 |
replaceafill | the interface | 20:14 |
replaceafill | cal_periods = Bool( | 20:15 |
replaceafill | title=_("Show periods"), | 20:15 |
replaceafill | description=_("XXX - need hint here")) | 20:15 |
th1a | what part of it. | 20:15 |
th1a | The title. | 20:15 |
replaceafill | yes | 20:15 |
th1a | Calendar grid layout | 20:15 |
th1a | How's that for a title? | 20:15 |
th1a | No. | 20:15 |
th1a | Calendar table something. | 20:15 |
th1a | Calendar row increments... | 20:16 |
th1a | Daily calendar rows... | 20:16 |
th1a | That last one is ok. | 20:17 |
th1a | No hint. | 20:17 |
th1a | For the calendar: | 20:18 |
th1a | "$PERSON and school administration." | 20:18 |
th1a | Title = "$PERSON's calendar is visible to..." | 20:19 |
th1a | the public | $PERSON and school administration | 20:19 |
yvl | ugh, JS is a bitch | 20:22 |
yvl | just so you know where roughly I'm arriving: | 20:22 |
yvl | <tal:script tal:replace="structure scriptlocal: | 20:22 |
yvl | link_id string:#LinkIdViewlet-page_refine-person-settings-links-preferences-; | 20:22 |
yvl | form_id string:#person_preferences_form; | 20:22 |
yvl | form_url string:${context/@@absolute_url}/preferences" /> | 20:22 |
yvl | <script> | 20:22 |
yvl | ST.modal_dialog(ST.state.local.link_id, | 20:22 |
yvl | ST.state.local.form_url, | 20:22 |
yvl | ST.state.local.form_id); | 20:22 |
yvl | </script> | 20:22 |
replaceafill | th1a refresh | 20:22 |
replaceafill | check first field | 20:23 |
yvl | has some awesomness and some quirks | 20:24 |
th1a | ? | 20:24 |
yvl | sorry, th1a, I was just rambling | 20:24 |
yvl | about my code | 20:24 |
yvl | well, good luck to you guys! | 20:26 |
replaceafill | th1a refresh | 20:26 |
replaceafill | have to change $PERSON of course ;) | 20:27 |
replaceafill | we should use first_name last_name, correct? | 20:27 |
replaceafill | same for dialog title maybe...? | 20:27 |
* replaceafill should write down that rule... | 20:28 | |
* aelkner heads for virgina | 20:30 | |
aelkner | greate weekend all | 20:30 |
th1a | Yes, I think it is the person title. | 20:31 |
replaceafill | this is ridiculous.... | 20:48 |
replaceafill | th1a refresh | 20:49 |
th1a | ok... | 20:49 |
th1a | lol | 20:49 |
th1a | I'm not married to having the name in the title. | 20:50 |
replaceafill | oh oh, missed something? | 20:50 |
replaceafill | :| | 20:50 |
replaceafill | :D | 20:50 |
replaceafill | just "Calendar is visible to..."? | 20:50 |
th1a | I meant in the title bar. | 20:50 |
th1a | But I was mostly just referring to it being last, first. | 20:51 |
replaceafill | change it to "first last" or take it out? | 20:51 |
th1a | I think in the "Calendar visible to" is is good to have a reminder so administrators don't get confused. | 20:52 |
th1a | Since they can change that. | 20:52 |
th1a | Also add ... after "calendar rows" | 20:52 |
replaceafill | ah ok | 20:52 |
th1a | and 's in the second field title. | 20:52 |
replaceafill | refresh | 20:54 |
th1a | I'm feeling like the row with buttons should be closer... is there padding there from the nonexistent hints? | 20:55 |
replaceafill | no, margin from the fieldset | 20:56 |
replaceafill | it made sense when the fieldset had a background | 20:56 |
replaceafill | it doesnt anymore | 20:56 |
th1a | Can you pull the title closer to the button row? | 20:56 |
replaceafill | margin removed, refresh | 20:57 |
* replaceafill goes check chrome | 20:58 | |
th1a | Ah. | 20:58 |
replaceafill | removed hint space | 21:01 |
th1a | Ah. | 21:01 |
th1a | OK, can we fix the hover color for the buttons, pls? | 21:02 |
replaceafill | ok | 21:02 |
* replaceafill opens the guidelines | 21:03 | |
th1a | Basically make the hover color the regular red | 21:03 |
th1a | and the active color the dark red. | 21:03 |
replaceafill | active as in when you click it? | 21:04 |
replaceafill | never mind | 21:04 |
replaceafill | page 24 :) | 21:04 |
replaceafill | th1a done | 21:07 |
th1a | That's probably not permanant, but it is less ugly. | 21:08 |
th1a | To get the overlay background specified in p.29 we'll probably need some GIMP work or something, right? | 21:09 |
th1a | I'd rather not just have the gray, since so much gray is in the regular interface. | 21:09 |
* replaceafill looks at ubuntu.com | 21:11 | |
th1a | I don't know if you'll find overlays easily. | 21:12 |
replaceafill | i remember i saw a page with screenshots using them | 21:13 |
* th1a has sent replaceafill on another wild goose chase. | 21:19 | |
replaceafill | :D | 21:19 |
replaceafill | nah! all i get is gray :/ | 21:25 |
replaceafill | no patterns | 21:25 |
th1a | Hah. | 21:27 |
th1a | OK, moving on. | 21:27 |
replaceafill | look red ;) | 21:27 |
replaceafill | like a huge warning page :D | 21:28 |
replaceafill | blue? | 21:28 |
replaceafill | :) | 21:28 |
th1a | No... we can maybe get some stripes later. | 21:28 |
replaceafill | ok | 21:28 |
th1a | We need to get the Add and Edit Persons consistent. | 21:29 |
th1a | Is the vertical spacing right in Add new person? | 21:30 |
replaceafill | no there's an unnecessary div between | 21:30 |
replaceafill | there | 21:32 |
th1a | Ah. | 21:32 |
th1a | Des that look right otherwise? | 21:32 |
th1a | So basically none of these have "hints?" | 21:33 |
replaceafill | the hints are taking space | 21:33 |
replaceafill | like 4px | 21:33 |
replaceafill | even if they're empty | 21:33 |
th1a | That's in the form library? | 21:34 |
replaceafill | yes, it's taken from the description attribute of the schema field | 21:34 |
replaceafill | but we can set display: none using css | 21:34 |
replaceafill | but that takes them all out | 21:34 |
th1a | hints are description | 21:35 |
th1a | And there is no style guideline in UWG for hints. | 21:35 |
replaceafill | to me the only useful hint in the person add form is the birth date | 21:35 |
replaceafill | no, there isn't | 21:35 |
replaceafill | just error messages | 21:35 |
th1a | These are fairly obvious. | 21:36 |
th1a | Username could contain the requirements for a username. | 21:37 |
replaceafill | ah! yes | 21:37 |
th1a | Are spaces allowed? | 21:37 |
replaceafill | no | 21:37 |
replaceafill | let me get them | 21:37 |
replaceafill | Names cannot begin with '+' or '@' or contain '/'" | 21:38 |
replaceafill | Usernames cannot contain non-ascii characters" | 21:38 |
replaceafill | doesn't mention spaces! | 21:38 |
replaceafill | spaces are allowed!!!! | 21:39 |
th1a | ID could be "Use this for local identification codes or numbers." | 21:40 |
th1a | Or just "Local identification codes or numbers." | 21:40 |
replaceafill | let me see if demographics can have descriptions | 21:40 |
replaceafill | nope | 21:41 |
replaceafill | demographics fields only have titles | 21:41 |
th1a | OK, nevermind. | 21:43 |
th1a | What about groups here. | 21:43 |
th1a | Can we add a hint there? | 21:43 |
replaceafill | yes | 21:44 |
th1a | "You can select one group membership now. Manage multiple memberships after account creation." | 21:45 |
th1a | How's that? | 21:45 |
replaceafill | :| | 21:46 |
replaceafill | i'll try it out | 21:46 |
th1a | Just trying to make the interface more informative... | 21:46 |
replaceafill | refresh | 21:47 |
replaceafill | hints need smaller font | 21:47 |
th1a | y | 21:47 |
th1a | just try legal/small text from 22 for now. | 21:47 |
th1a | Add the username text too. | 21:47 |
th1a | Password: "Users cannot log in until a password is assigned." | 21:48 |
replaceafill | refresh | 21:50 |
replaceafill | could you rewrite the username instruction in one sentence? | 21:50 |
th1a | Usernames cannot begin with '+' or '@' or contain '/' or contain non-ascii characters. | 21:51 |
th1a | oop. | 21:51 |
th1a | Usernames cannot begin with '+' or '@' or contain '/' or non-ascii characters. | 21:51 |
th1a | Usernames cannot begin with '+' or '@,' contain non-ascii characters or '/'. | 21:52 |
replaceafill | can i take the "Usernames" part out? | 21:52 |
th1a | Yes. | 21:52 |
replaceafill | maybe "It cannot | 21:52 |
th1a | Just cannot. | 21:52 |
replaceafill | ok | 21:52 |
replaceafill | refresh | 21:55 |
th1a | Put the period in the username text inside the quote. | 21:56 |
th1a | OK. | 21:57 |
th1a | Now we need to make the person edit page look like it. | 21:57 |
replaceafill | there, if fields dont have description the hint space is not rendered | 21:58 |
replaceafill | refresh | 21:58 |
th1a | Much better. | 21:58 |
th1a | Hint could maybe be a touch closer to the label. | 21:58 |
replaceafill | like that? | 22:00 |
th1a | Yeah, that looks pretty good. | 22:02 |
replaceafill | th1a lunch time, will you be around later? | 22:05 |
replaceafill | i'll be back in 1h | 22:05 |
th1a | More or less I'll be around. | 22:05 |
th1a | No complex dinner tonight. ;-) | 22:05 |
replaceafill | :D | 22:05 |
replaceafill | ok, i'll be back | 22:05 |
replaceafill | just in case, i have to make edit person looks like add person, right? | 22:06 |
replaceafill | with the fieldsets | 22:06 |
th1a | y | 22:07 |
replaceafill | k | 22:07 |
th1a | And we're going to try taking the sidebars out of the non-index pages. | 22:07 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!