replaceafill | well, it seems like it will be fun to print self-closing elements... | 00:46 |
---|---|---|
*** replaceafill has quit IRC | 02:09 | |
*** aks_ has joined #schooltool | 06:18 | |
*** aks_ has joined #schooltool | 06:18 | |
*** aks_ is now known as aks | 06:18 | |
*** yvl has joined #schooltool | 10:18 | |
*** aks has quit IRC | 14:23 | |
*** menesis has joined #schooltool | 15:28 | |
*** replaceafill has joined #schooltool | 16:20 | |
th1a | hi replaceafill, aelkner, yvl, menesis. | 16:30 |
yvl | hey guys | 16:31 |
menesis | hi | 16:31 |
aelkner | morning | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
th1a | I just forwarded an email from CL. | 16:32 |
th1a | Getting them thinking about updating to 2.0. | 16:32 |
th1a | replaceafill: What do we need to do for Cambodia now? | 16:33 |
replaceafill | fix the font issue and timetable issue | 16:33 |
replaceafill | i already know how to do both | 16:33 |
replaceafill | will do today | 16:33 |
th1a | Do we have some problem building the server? | 16:34 |
* th1a is trying to remember. | 16:34 | |
replaceafill | yes, it doesnt work with the new schooltool egg | 16:34 |
aelkner | th1a, are you assuming cambodia is gong to avoid the flourish issue? | 16:35 |
replaceafill | i just have to pin down the egg version | 16:35 |
th1a | They can go through a year with what we built for them. | 16:35 |
aelkner | so no flourish for them | 16:36 |
th1a | Not immediately. | 16:36 |
replaceafill | correct | 16:36 |
th1a | OK, let's try to nail that down today. | 16:37 |
replaceafill | will do | 16:37 |
th1a | Anything else, replaceafill? | 16:37 |
replaceafill | my report: | 16:37 |
replaceafill | and some questions | 16:38 |
replaceafill | i fixed the password issues reported by menesis | 16:38 |
replaceafill | https://bugs.launchpad.net/schooltool/+bug/868411 | 16:38 |
replaceafill | and added selenium tests for them | 16:38 |
replaceafill | i found and reported and issue with schooltool.devtools | 16:39 |
yvl | fixed, released | 16:39 |
replaceafill | which i think menesis already solved | 16:39 |
replaceafill | thanks | 16:39 |
menesis | yvl did | 16:39 |
replaceafill | ah :) | 16:40 |
replaceafill | also | 16:40 |
replaceafill | http://69.164.203.135:6660/persons/ | 16:40 |
replaceafill | can you check that ^ | 16:40 |
replaceafill | look at the login bar | 16:40 |
replaceafill | i put the language selector there | 16:40 |
replaceafill | that was another bug: https://bugs.launchpad.net/schooltool/+bug/868397 | 16:40 |
th1a | Looks good. Where is the list of available languages set? | 16:41 |
replaceafill | in instance/schooltool.conf | 16:41 |
th1a | OK. | 16:41 |
replaceafill | i also fixed: https://bugs.launchpad.net/schooltool/+bug/868444 | 16:41 |
replaceafill | male/female not translated | 16:42 |
replaceafill | and about: https://bugs.launchpad.net/schooltool.gradebook/+bug/868432 | 16:42 |
replaceafill | i checked: | 16:42 |
replaceafill | * worksheet/addActivity.html | 16:42 |
replaceafill | * activities/addWorksheet.html | 16:42 |
replaceafill | * activities/index.html | 16:42 |
replaceafill | * worksheet/weights.html | 16:42 |
replaceafill | * worksheet/addLinkedColumn.html | 16:42 |
replaceafill | * worksheet/addLinkedActivity.html | 16:42 |
replaceafill | * worksheet/edit.html | 16:42 |
replaceafill | (sorry for the flood) | 16:42 |
replaceafill | and the only i18n issue I found was the Summary worksheet title | 16:42 |
replaceafill | you can see it here: http://69.164.203.135:6660/schoolyears/2010-2011/2010-fall/sections/science_a_2010-fall_teacher001_000/activities/Worksheet/gradebook | 16:43 |
replaceafill | teacher001:teacher001 | 16:43 |
replaceafill | i was thinking that maybe for creating the summary worksheet, we could do: title = translate(_('Summary'), context=self.request) | 16:43 |
replaceafill | since the title of worksheets is plain unicode | 16:44 |
replaceafill | that would set the title in the locale the user is using in that moment | 16:44 |
aelkner | but it woldn't change when they change the language | 16:45 |
th1a | It seems like a reasonable compromise. | 16:45 |
replaceafill | ok | 16:45 |
replaceafill | yvl i sent a [tl;dr] email about self-closing elements and selenium | 16:46 |
replaceafill | not a biggie though | 16:46 |
yvl | fixed, released | 16:46 |
replaceafill | ah! | 16:46 |
yvl | sorry about that | 16:46 |
replaceafill | thanks yvl :) | 16:46 |
yvl | bastards give HTML output from a XHTML doc | 16:46 |
replaceafill | :D | 16:46 |
* replaceafill goes to see how yvl fixed it | 16:47 | |
replaceafill | ok th1a i think that's it from me | 16:47 |
yvl | switched parser from XML to HTML :D | 16:47 |
replaceafill | ah | 16:47 |
th1a | Thanks replaceafill. | 16:47 |
th1a | aelkner? | 16:47 |
aelkner | i said i was going to work on matt to copy the live Data.fs to the test courseinfo instance | 16:48 |
aelkner | but i havene't done that yet, will get after that today | 16:48 |
aelkner | i did look at the niepa package to take an inventory of the things that we did there | 16:49 |
aelkner | and i wanted to ask about the whole custom skin situation | 16:49 |
aelkner | yvl, now that we have a flourish layer, what would we do with the pilots as far as skin goes? | 16:50 |
aelkner | also, what will we do about things like cando which have their own skin | 16:50 |
th1a | It seems to me that the first question is what do we need a custom skin for at this point. | 16:50 |
aelkner | ok, i can list some things now | 16:51 |
th1a | (with Niepa) | 16:51 |
aelkner | first of all, the whole idea with the pilot skins was to override the Manage views | 16:51 |
aelkner | dumb them down if you will to help navigate the user to easier to use person views, for instance | 16:52 |
th1a | Are those views easier to use than the flourish ones? | 16:52 |
aelkner | so there is a set of custom navigationViewlet managers, custom person views by group, etc. | 16:52 |
aelkner | from Manage, there are three links (also in cambodia) for Students, Teachers and Adminstrators | 16:53 |
th1a | Don't we pretty much have that in flourish now? | 16:54 |
aelkner | in flourish, the School tab has a groups table, so that kind of replaces that | 16:54 |
aelkner | yes | 16:54 |
th1a | OK. | 16:54 |
th1a | Next issue? | 16:55 |
aelkner | the AppStartup does things like create demo fields if they are not there | 16:55 |
aelkner | so i suppose we still need the app type to be a custom one | 16:55 |
aelkner | does that mean the skin needs to be custom just for that? | 16:55 |
aelkner | also, a special exam template is created on app startup and deployed on term add | 16:56 |
aelkner | the term add handler does not get registered with a browser layer | 16:58 |
th1a | Someone other than me has to handle those. | 16:58 |
aelkner | yes, that's for yvl really | 16:58 |
aelkner | also, there is a special report_card.pdf view for ITerm that overrides the default by using the custom layer | 17:00 |
th1a | That can just be registered now using the new report system. | 17:00 |
aelkner | finallly, app preferences are subclassed and use a different annotations key | 17:00 |
aelkner | so getAppPreferences returns the niepa version | 17:01 |
th1a | yvl: ayt? | 17:01 |
aelkner | the issue with custom app preferences (which have custom school attributes) is they are not customizable | 17:02 |
yvl | bak | 17:02 |
yvl | * back | 17:02 |
aelkner | which david had issue with | 17:02 |
yvl | was away for 2 mins | 17:02 |
th1a | kk | 17:02 |
aelkner | the answer to that is have demos for app | 17:02 |
aelkner | which we don't support yet | 17:02 |
aelkner | it's on our list in the mind map, but not yet defined (demos for all objects) | 17:03 |
th1a | I just don't see why we need a *skin* at this point. | 17:04 |
yvl | hmm | 17:04 |
yvl | well, think of it this way | 17:04 |
yvl | ST kind-of-works in two modes | 17:04 |
yvl | old version and new version | 17:04 |
yvl | there are also some datamodel changes | 17:05 |
yvl | CanDo and Niepa and others were written for old version | 17:05 |
yvl | if we want them to work with the new version, we need to update their code | 17:05 |
yvl | for example, CanDo takes old ST skin, and skins over it | 17:06 |
yvl | if we want it to work with our new UI, we need it to skin over new UI | 17:06 |
yvl | same for Niepa | 17:06 |
yvl | I didn't look at what it does precisely yet | 17:06 |
yvl | as I was, you know, sick | 17:06 |
th1a | Look.... | 17:07 |
yvl | yes? | 17:07 |
th1a | ... | 17:07 |
yvl | ? | 17:07 |
th1a | Is there some reason we'd need a skin if we aren't overriding any views? | 17:07 |
yvl | no | 17:07 |
aelkner | datamodel issues? | 17:08 |
th1a | OK, aelkner, we don't need a skin. | 17:08 |
aelkner | app startup | 17:08 |
aelkner | yvl? | 17:08 |
th1a | We need a package. | 17:08 |
yvl | datamodel is one thing, presentation (skin) is another | 17:08 |
yvl | even current branch can work semi-decently in two separate presentations, old one and flourish | 17:09 |
yvl | with same datamodel | 17:09 |
yvl | if Niepa datamodel is custom | 17:09 |
yvl | it remains custom | 17:09 |
yvl | the same way it was customized before | 17:09 |
yvl | maybe some new features appeard that make customization unnecessary | 17:10 |
th1a | Well, less so, we just need to migrate some of the customizations to the new standard data model. | 17:10 |
yvl | then Niepa should be upgraded to use those datamodel features | 17:10 |
yvl | and evolution script(s) should be written | 17:10 |
yvl | right, th1a | 17:10 |
yvl | this change is unrelated to skins | 17:10 |
aelkner | we don't need to worry about evolution becuase david is only customer and can start from fresh Data.fs he said | 17:10 |
th1a | Writing migration scripts may be easier. | 17:11 |
aelkner | easier than what? | 17:11 |
th1a | Tech support to Nigeria. | 17:12 |
yvl | :)) | 17:12 |
th1a | What would you rather do, write Python or explain something to David via email. | 17:12 |
th1a | ? | 17:12 |
aelkner | well, i already asked david about throwing out the Data.fs and he agreed | 17:12 |
aelkner | if we remove cando, the data breaks | 17:13 |
aelkner | so better to start from fresh data.fs | 17:13 |
aelkner | remember, we don't have plug-outs, only plugins | 17:14 |
th1a | We could hack something together ourselves, but I won't press the issue. | 17:14 |
th1a | So basically we have to register a custom report and add the custom school level data. | 17:15 |
aelkner | no levels yet, but custom report sheet template and deployment | 17:16 |
aelkner | and custom report card and census report | 17:16 |
th1a | And some setup on app startup (demographics, etc). | 17:16 |
aelkner | right | 17:16 |
th1a | Yes. | 17:16 |
aelkner | cando will be someting we can plug in later, but with the flourish version of cando we won't have | 17:17 |
aelkner | a custom sin for that to worry about | 17:18 |
th1a | Yes. | 17:18 |
aelkner | skin] | 17:18 |
th1a | OK, so let's just try to get the niepa thing out of the way asap please. | 17:18 |
aelkner | but with niepa, we will want to have a custom skin derived from flourish layer? | 17:18 |
yvl | aelkner, is there a need for it? | 17:19 |
yvl | what will you be trying to accomplish with that? | 17:19 |
aelkner | yvl, that is what i'm going to need you to help me to determine | 17:19 |
aelkner | what are you asking precisely just now, are you asking why flourish? | 17:20 |
yvl | I've no idea what you are trying to have in the end | 17:20 |
yvl | if you want plain flourished ST + 1 custom report | 17:21 |
yvl | then there's no need for a skin | 17:21 |
aelkner | think pilot issues, subtract those that relate to bad UI | 17:21 |
yvl | if you want to change behaviour of views, i.e. override them, you'll need a skin | 17:21 |
aelkner | overriding app startup, report_Card.pdf for ITerm | 17:21 |
yvl | well, then I can with confidence say - it depends ;) | 17:21 |
* th1a is back... | 17:21 | |
aelkner | that's very nuanced answer, yvl :) | 17:22 |
yvl | gimme a full detailed spec, I can give you an answer | 17:22 |
th1a | There are perhaps a couple views which I don't think require a skin. | 17:22 |
yvl | sorry, but I fail to see a problem :| | 17:22 |
th1a | Nobody has said anything this entire conversation which suggests a skin would be required. | 17:23 |
aelkner | overriding report_card.pdf and app startup have been mentioned mutliple times | 17:23 |
yvl | aelkner, | 17:24 |
yvl | app startup | 17:24 |
aelkner | don't they point to the need for a custom skin? | 17:24 |
yvl | is not a view | 17:24 |
yvl | please look at ZCML | 17:24 |
yvl | and notice that adapters | 17:24 |
yvl | are not related, and not mention | 17:24 |
yvl | neither browser requests, nor school tool layer | 17:24 |
aelkner | ah, app startup is just a subscriber that will get in line, right yvl? | 17:25 |
yvl | yes, please look at the code before asking | 17:25 |
aelkner | sorry, forget that issue | 17:25 |
th1a | I think you should just start assuming you won't need a skin. | 17:26 |
* yvl is still semi-sick, hence a bit bitchy ;) | 17:26 | |
aelkner | :) | 17:26 |
replaceafill | :D | 17:26 |
yvl | just kill the skin | 17:26 |
yvl | if you can't make it work properly without a skin | 17:26 |
yvl | make a skin | 17:26 |
*** menesis has quit IRC | 17:26 | |
aelkner | th1a, instead of overriding report_card.pdf, we could keep that and add a custom report | 17:26 |
aelkner | just as you suggested before, using the report card registration feature we have | 17:27 |
th1a | Exactly. | 17:27 |
th1a | OK. Are we done aelkner? ;-) | 17:28 |
aelkner | ok, i will assume no need for custom skin and remove it entirely | 17:29 |
aelkner | get rid of whole niepa.person package | 17:29 |
aelkner | since it only has the custom person views not needed now that we have flourish | 17:29 |
*** menesis has joined #schooltool | 17:29 | |
aelkner | what about instance_type? | 17:30 |
aelkner | should that just be flourish? | 17:30 |
yvl | sigh | 17:30 |
th1a | Any reason why not? | 17:30 |
menesis | it can be flourish or schooltool, the same | 17:32 |
th1a | I think we should just assume this will work in the simplest possible way. | 17:32 |
aelkner | ok, i'll start with removing the skin entirely and try to get it to start up and run | 17:33 |
aelkner | i already had changed the skin to derive from flourish layer, but that caused the whole thing to break | 17:33 |
aelkner | if i don't need the skin at all, it may be easier | 17:33 |
aelkner | i'll look into that and report my findings | 17:34 |
aelkner | that's it for me | 17:34 |
replaceafill | yvl could you please merge your webdriver fix to trunk? | 17:34 |
yvl | whoops, replaceafill | 17:34 |
replaceafill | i know ;) | 17:34 |
replaceafill | personal branch :D | 17:34 |
aelkner | sigh | 17:34 |
replaceafill | sigh | 17:35 |
replaceafill | ;) | 17:35 |
aelkner | :) | 17:35 |
yvl | nope, diverged | 17:35 |
yvl | didn't look before pushing :) | 17:35 |
yvl | now done | 17:35 |
replaceafill | thanks! | 17:36 |
replaceafill | will test the <input> issue | 17:36 |
yvl | thanks, replaceafill | 17:36 |
yvl | aelkner, | 17:36 |
yvl | I just looked at niepa code | 17:36 |
yvl | it has some custom configure.zcml | 17:36 |
yvl | that define the instance, include cando stuff, have customized persons for some reasons | 17:37 |
yvl | most of it is obsolete if we use new UI I think | 17:37 |
yvl | I have just one question | 17:38 |
yvl | with removal of CanDo, it will be... well, ST | 17:38 |
yvl | just with some pre-configured data | 17:38 |
aelkner | it needs to be flourish | 17:38 |
yvl | and custom app preferences | 17:38 |
aelkner | hyes | 17:38 |
aelkner | and some added views for reports | 17:39 |
aelkner | but they can have different urls instead of overriding existing | 17:39 |
th1a | We may never have really needed a skin, I think I just told him to copy the Cambodia approach. | 17:39 |
aelkner | that's right | 17:39 |
yvl | with new ST UI, the changes will be... | 17:40 |
yvl | app preferences, because we don't support custom ones | 17:40 |
yvl | and a report | 17:40 |
yvl | and that's it, right? | 17:40 |
aelkner | two reports, and you forgot to mention the app startup again in your minni-summary | 17:41 |
yvl | right | 17:41 |
aelkner | which creates demos and report sheet template | 17:41 |
aelkner | and the term add subscriber which, again needs no skin | 17:42 |
yvl | so... if we, say, created a fresh database | 17:42 |
yvl | with correct demographics and worksheets set up | 17:43 |
aelkner | good assumption | 17:43 |
yvl | we wouldn't need the "app startup" part? | 17:43 |
yvl | just, you know, copy the DB? | 17:43 |
aelkner | i don't know about that | 17:43 |
yvl | or if we wrote an importer for demographics and school level worksheets | 17:44 |
aelkner | i wold think david would want the pythin code we have to run each time he sets up a new instance | 17:44 |
aelkner | that's another idea | 17:44 |
yvl | well, ok, anyway | 17:44 |
th1a | There are lots of ways to do it. | 17:44 |
th1a | You could just write a selenium script. | 17:45 |
aelkner | if the app startup and term add subscribers work by getting in line, then they should be fine, right? | 17:45 |
yvl | ;) | 17:45 |
yvl | likely | 17:45 |
th1a | OK... can we move on? | 17:46 |
aelkner | i'm done for today's meeting | 17:46 |
th1a | I think we've convinced aelkner that just because we used nails last time and he's holding a hammer, he doesn't have to use it. | 17:47 |
aelkner | yeah, i feel better now about the situation, that's for sure | 17:47 |
replaceafill | yvl the selenium change works like a charm | 17:47 |
yvl | yay | 17:47 |
th1a | yay. | 17:47 |
replaceafill | yvl feature request | 17:47 |
replaceafill | :) | 17:47 |
replaceafill | if i may | 17:47 |
yvl | shoot | 17:48 |
replaceafill | can we stop the tests after first failure | 17:48 |
replaceafill | if i have three different browsers | 17:48 |
replaceafill | and one part of test fails | 17:48 |
replaceafill | the others browsers keep going | 17:48 |
yvl | you didn't like the -D option? | 17:48 |
yvl | oh, that | 17:48 |
yvl | oh, that... | 17:48 |
replaceafill | ah! didn't try -D | 17:48 |
yvl | well, try -D | 17:49 |
replaceafill | ah ok | 17:49 |
replaceafill | thanks | 17:49 |
yvl | it will halt with pdb | 17:49 |
replaceafill | i can "continue" + ctrl+c | 17:49 |
replaceafill | after that, right | 17:49 |
yvl | I think it will abort everything after c | 17:49 |
replaceafill | so it will stop | 17:49 |
replaceafill | ah | 17:49 |
replaceafill | cool | 17:49 |
replaceafill | will try | 17:50 |
yvl | and it gets you to debug live | 17:50 |
yvl | but it's unpolished | 17:50 |
yvl | so for some exceptions you'll end up in seemingly random code | 17:50 |
yvl | sometimes at the test example | 17:50 |
replaceafill | right | 17:50 |
yvl | sometimes deep in selenium | 17:50 |
yvl | "over". | 17:51 |
th1a | OK. | 17:52 |
* th1a would like to wrap this up. | 17:52 | |
th1a | yvl? | 17:52 |
yvl | got better, started working today | 17:52 |
th1a | I targeted your bugs for milestones. | 17:52 |
yvl | fixed some selenium stuff | 17:52 |
yvl | thanks!!! | 17:52 |
yvl | fixed a bug Jeff encountered with tt deletion | 17:53 |
yvl | fixed, but not committed one evolution bug | 17:53 |
yvl | now trying to figure out the other one | 17:53 |
yvl | there's some wtf with timezones | 17:53 |
yvl | Europe/Vilnius is WST+1:24??? | 17:53 |
yvl | so there's something off | 17:53 |
yvl | "over". ;) | 17:54 |
th1a | OK, thanks yvl. | 17:54 |
th1a | Keep squashing bugs. | 17:54 |
th1a | menesis? | 17:54 |
yvl | (big personal thanks to menesis for the awesome test cases) | 17:55 |
menesis | no news from me today | 17:55 |
menesis | merged branches | 17:55 |
menesis | updated some things launchpad | 17:56 |
menesis | just released another devtools | 17:56 |
menesis | remade bootstrap to work with default python | 17:56 |
menesis | using zc.buildout 1.5 and virtualenv | 17:56 |
menesis | not pushed anywhere | 17:56 |
menesis | but when I will, you may need to `make clean` | 17:57 |
menesis | if buildout doesn't work because of version conflict or whatever | 17:57 |
yvl | keep us posted | 17:57 |
menesis | yes | 17:57 |
yvl | thanks | 17:57 |
* th1a accidentally called "menesis -vv" instead of just "menesis" | 17:57 | |
yvl | :)))) | 17:58 |
* menesis -q | 17:58 | |
th1a | Thanks menesis ;-) | 17:58 |
menesis | will be fishing out xls bugfixes from flourish | 17:58 |
yvl | btw, the grey thing in Schwa's ST homepage is still ugly IMHO | 17:59 |
menesis | later today | 17:59 |
th1a | yvl: Yeah... I'm not sure how I'm going to get that process unstuck. | 17:59 |
th1a | The homepage looks worse than the app right now, I'd say. | 17:59 |
* yvl agrees | 18:00 | |
yvl | well, happens. | 18:00 |
th1a | I think a third color would help quite a bit. | 18:01 |
th1a | OK, have a good week and weekend guys. Keep updating LP. | 18:01 |
* th1a drops the bag of gravel. | 18:01 | |
replaceafill | thanks everybody | 18:01 |
yvl | thanks guys | 18:02 |
yvl | btw, replaceafill | 18:02 |
replaceafill | yes? | 18:02 |
yvl | you don't need to call printHTML everywhere | 18:02 |
yvl | just: print manager.query.css(...) | 18:02 |
replaceafill | yes, i saw the str | 18:02 |
replaceafill | and unicode | 18:02 |
yvl | right | 18:02 |
replaceafill | good trick ;) | 18:02 |
yvl | :D | 18:02 |
yvl | oh | 18:03 |
yvl | one more thing | 18:03 |
yvl | FYI | 18:03 |
replaceafill | yes? | 18:03 |
yvl | html_unit does not support $= and others in css selectors | 18:03 |
yvl | stupid thing. | 18:03 |
replaceafill | ah!?!?! | 18:03 |
replaceafill | :( | 18:03 |
yvl | but css selectors are fun :) | 18:03 |
* replaceafill starts crying... | 18:03 | |
yvl | well, stupid stand-alone selenium server | 18:04 |
replaceafill | so, we need to use xpath everywhere | 18:04 |
yvl | well... | 18:04 |
* replaceafill keeps crying... | 18:04 | |
yvl | maybe not | 18:04 |
yvl | we can keep using css selectors | 18:04 |
replaceafill | if we all will be using chrome, maybe we can... | 18:05 |
yvl | if you do need substring matches... | 18:05 |
yvl | maybe I should just "auto-translate" to xpath for html unit :D | 18:05 |
yvl | or maybe not | 18:05 |
replaceafill | it's not really about the features, css3 vs xpath, to me it's about the easiness to write the selector | 18:05 |
replaceafill | i know xpath is really powerful and stuff | 18:05 |
replaceafill | but you get some long strings writing the selector :) | 18:06 |
yvl | right | 18:06 |
yvl | well, some of the cases are quite simple | 18:06 |
yvl | like... //input[@class="stuff"] | 18:06 |
yvl | it's not that shorter as css selector | 18:06 |
yvl | but I agree to your sentiment | 18:07 |
replaceafill | div.refine div.content:nth-child(2) li a | 18:07 |
yvl | yes! | 18:07 |
yvl | though nth-child is a bit naughty | 18:07 |
replaceafill | the div.refine vs //div[contains(@class, "refine")... | 18:08 |
replaceafill | ok, i'll go back to xpath then | 18:08 |
replaceafill | thanks for the tip | 18:08 |
yvl | you can mix them up | 18:08 |
yvl | css selectors are natural to write/read for web devs | 18:09 |
replaceafill | definitely | 18:09 |
yvl | and I doubt you'll need many $=, ^=, *= selectors | 18:09 |
yvl | another thing using css selectors | 18:10 |
yvl | it forces us to keep css well structured | 18:10 |
yvl | and this is a very good thing | 18:10 |
replaceafill | ah, good point | 18:11 |
replaceafill | i think that if we don't use html_unit for dev testing, we should use them | 18:11 |
yvl | html_unit supports css selectors | 18:11 |
yvl | just seems to fail on $= | 18:11 |
yvl | and friends | 18:11 |
replaceafill | ah | 18:12 |
yvl | ok, so if you come up with more feature requests... I'll be listening ;) | 18:12 |
replaceafill | thanks yvl! | 18:12 |
yvl | you can also play around with writing helpers like... | 18:12 |
replaceafill | ah | 18:12 |
*** Lumiere has joined #schooltool | 18:12 | |
replaceafill | this one: | 18:12 |
yvl | inputs = manager.query_all.xpath('//input') | 18:12 |
replaceafill | >>> manager.query.name('form.widgets.last').type('2011-12-31', | 18:12 |
replaceafill | ... manager.keys.ENTER) | 18:12 |
replaceafill | >>> manager.query.name('form.widgets.title').type('2011') | 18:12 |
replaceafill | that's still a hack in my test | 18:13 |
replaceafill | i have to type the title at the end | 18:13 |
replaceafill | or the calendar gets in the middle | 18:13 |
replaceafill | even if i use ENTER at the end | 18:13 |
yvl | ok, got it | 18:13 |
yvl | keep the hack for now | 18:13 |
replaceafill | sure | 18:13 |
yvl | we'll need decent wait_for's later | 18:14 |
replaceafill | keep going on the helpers please | 18:14 |
yvl | in theory, you should wait until the calendar thing is hidden | 18:14 |
yvl | as for helpers, you can | 18:14 |
yvl | print '\n'.join([name for name, selected in zip(inputs.get_attribute('name'), inputs.is_selected()) if selected] ) | 18:15 |
yvl | it's a monster, but readable | 18:15 |
yvl | the output, that is | 18:15 |
yvl | probably should wrap that in some decent API | 18:16 |
yvl | something like this works nice on access rights | 18:16 |
yvl | prints offs and ons :) | 18:16 |
replaceafill | ah! | 18:16 |
replaceafill | that's the is_selected part | 18:17 |
yvl | yes | 18:17 |
yvl | since inputs is a list | 18:17 |
yvl | you can zip multiple operations on elements in it | 18:17 |
replaceafill | man! i need to learn python ;) | 18:17 |
yvl | they'll keep the correct order | 18:17 |
yvl | :DDD | 18:17 |
yvl | well, good luck | 18:18 |
yvl | and happy coding! | 18:18 |
replaceafill | thanks yvl | 18:18 |
replaceafill | get well | 18:18 |
yvl | thanks | 18:18 |
yvl | good luck with Niepa, aelkner | 18:18 |
yvl | sorry for being a b*tch today | 18:18 |
th1a | replaceafill: Do you know about this? http://zodb.readthedocs.org/en/latest/api.html#ZODB.interfaces.IStorageCurrentRecordIteration | 18:39 |
replaceafill | th1a no, just saw it today in the zope-dev list | 18:50 |
th1a | Yesh. | 18:50 |
th1a | Yeah. | 18:50 |
* replaceafill is glad that he can remove some hacks from cambodia because they've been fixed in core packages :) | 20:04 | |
*** menesis has quit IRC | 20:09 | |
* replaceafill goes to get lunch | 20:27 | |
th1a | replaceafill: Is there anything in particular I should note about our i18n as a feature? | 22:11 |
replaceafill | th1a you mean the language selector? | 22:11 |
th1a | I mean in general. | 22:11 |
th1a | Like... is there anything particularly interesting we do correctly? | 22:12 |
replaceafill | you can set the app in several languages? | 22:12 |
replaceafill | i mean, at the same time | 22:12 |
th1a | OK. | 22:12 |
replaceafill | dont know how interesting that is though | 22:12 |
th1a | What about weird character sets, left/right, that kind of thing. | 22:13 |
replaceafill | ah, that we dont support | 22:13 |
replaceafill | afaik | 22:13 |
th1a | We do weird character sets. | 22:13 |
replaceafill | i mean, left/right | 22:13 |
th1a | Yes. | 22:13 |
th1a | I'm thinking of having a panel in the feature slider on this. | 22:14 |
replaceafill | ah | 22:14 |
th1a | So if there is actually anything in particular that we do that any old PHP app doesn't, it would be good to mention. | 22:14 |
replaceafill | our tools to extract/compile strings? | 22:15 |
replaceafill | we use gettext, etc? | 22:16 |
replaceafill | funny how i put so much emphasis on i18n and i can't come up with some highlights about it :( | 22:18 |
th1a | I guess I just don't know if everyone can do Khmer and Nepali. | 22:26 |
replaceafill | we'd need to test flourish in those languages | 22:27 |
th1a | ... | 22:27 |
th1a | How about this: "SchoolTool was designed from the ground up for internationalization, from English to Khmer to Lithuanian to Nepali." | 22:28 |
replaceafill | hhmm gives the impression that we only support those languages.... | 22:29 |
replaceafill | http://69.164.203.135:6660/persons/add.html | 22:30 |
replaceafill | i put khmer in the language selector | 22:30 |
replaceafill | doesnt look that bad | 22:30 |
replaceafill | look at the cancel button :D | 22:30 |
th1a | "New translations can be contributed via our project site at Launchpad.net." | 22:31 |
replaceafill | anyone can contribute, you dont need special tools to translate... | 22:31 |
th1a | Ah, good. | 22:31 |
replaceafill | or programming skills... | 22:32 |
th1a | SchoolTool was designed from the ground up for internationalization, from Spanish to Khmer to Lithuanian to Nepali. Anyone can contribute new tranlsations, you don't need special tools. | 22:32 |
th1a | Oh, we need to resolve the 's issue. | 22:35 |
th1a | Should I assign that to you? | 22:35 |
replaceafill | hhm ok | 22:35 |
replaceafill | but how are we going to solve it? | 22:35 |
th1a | I'm sure nobody wants it. | 22:35 |
replaceafill | changing the english strings? | 22:35 |
th1a | It would be nice to keep it in English if that is possible. | 22:36 |
th1a | It is all you, replaceafill. | 22:54 |
* replaceafill is looking for tips on how to i18n possessives :) | 22:55 | |
replaceafill | i discovered lisa.org | 22:55 |
replaceafill | but it's dead :( | 22:55 |
replaceafill | http://www.scribd.com/doc/31217804/Internationalization-Guidelines-2-2 | 22:55 |
replaceafill | and i can't see that one ^ | 22:55 |
th1a | Can't see it? | 22:56 |
replaceafill | i just see the first 4 pages | 22:56 |
replaceafill | and the rest blank | 22:56 |
th1a | Well, I don't think we're missing a trick. | 22:57 |
th1a | Other languages don't use 's. | 22:57 |
th1a | Or the equivalent. | 22:57 |
replaceafill | i just think zope.i18n is missing something babel has i18n:comment | 22:57 |
replaceafill | that's big help for translators | 22:57 |
replaceafill | http://genshi.edgewall.org/wiki/Documentation/i18n.html | 22:58 |
replaceafill | http://genshi.edgewall.org/wiki/Documentation/i18n.html#comments-and-domains | 22:58 |
replaceafill | the last one | 22:58 |
replaceafill | we could use a comment like "possesive form" or something | 22:58 |
replaceafill | our messages only have string, domain and default | 22:59 |
th1a | But normally there isn't going to be just a suffix that transforms the name to the possessive form anyhow. | 22:59 |
th1a | Anyhow, we don't need to resolve it now, I just don't want it to slip through entirely. | 23:01 |
* th1a goes to make dinner. | 23:01 | |
th1a | later replaceafill. | 23:01 |
replaceafill | bye th1a | 23:01 |
*** th1a has quit IRC | 23:01 | |
*** replaceafill has quit IRC | 23:46 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!