IRC log of #schooltool for Tuesday, 2011-05-31

*** dadeng has joined #schooltool00:05
*** dadeng has quit IRC00:28
*** alga has quit IRC00:49
*** th1a has joined #schooltool05:36
*** aks has joined #schooltool07:57
*** aks is now known as aks_afk09:46
*** aks_afk is now known as aks10:22
*** menesis has joined #schooltool10:33
*** alga has joined #schooltool11:29
*** menesis has quit IRC13:25
*** menesis has joined #schooltool14:18
*** aks has quit IRC14:25
*** jelkner has joined #schooltool15:43
*** asharma_ has joined #schooltool16:13
jelknerGood morning, asharma_16:15
jelknergood morning, asharma_!16:15
jelknersorry for typing that twice16:15
jelknerbut my xchat isn't working16:15
asharma_Good morning jelkner16:15
jelknerand i don't see what i type16:15
*** asharma_ has quit IRC16:21
*** asharma_ has joined #schooltool16:21
*** replaceafill has joined #schooltool16:24
th1aGood morning replaceafill, aelkner, yvl, menesis.16:31
replaceafillgood morning/afternoon16:32
yvlgood morning!16:32
th1areplaceafill:  How are we doing with the demo server?16:32
replaceafillth1a it's done, i had a chat with Chandara on Friday and gave him a new url16:32
replaceafillhe wrote back yesterday16:33
replaceafillasking for a user manual16:33
replaceafillth1a i fwd you that one16:33
replaceafillalso, last week i investigated about accordions and dialogs16:34
th1aI'll have to think about how we should approach that.16:34
replaceafillth1a i was thinking about checking your screenshots script16:34
replaceafill(for the manual)16:34
th1aWell, they have different links.16:35
th1aWe may need to give them something abbreviated for the customizations and require them to do the final version.16:35
th1aGive them enough documentation to write the documentation.16:36
replaceafilllike giving them only the right steps: first add some shifts, then school information, etc16:36
replaceafillon the jquery side, i also took a look at some spinner animations16:37
replaceafillnow i'm not sure about if we should use plugins16:37
th1aI just think it is a packaging issue.16:38
replaceafillafter our discussion last week about packaging them16:38
th1aWe should ask menesis.16:38
th1amenesis:  Any third party plugin for jquery should, technically, get its own package, right?16:38
menesisI think everything can be stuffed in one resources dir16:39
replaceafillmenesis i use jstree as an example, which we just inserted as a resource directory16:39
menesisif there are more files than one .js (like jstree has) then a subdir is needed16:40
th1aSo I'm being more pedantic than menesis?16:40
menesiswhat you mean by "its own package"?16:41
th1aA separate deb.16:41
aelknerth1a, we don't need to distribute debs of jquery source because we copied it into our own source16:43
menesisideally, yes, but don't worry about that16:43
menesisjust add plugins or libraries in the same place where others are16:43
th1aSo... I guess we can do that.16:43
menesisI would like to use fanstatic framework to manage resources16:43
th1aAnd we can just pick a jquery menu plugin while we're at it.16:44
menesisthere are packages already created for that
menesisjstree and other plugins16:44
menesisthen the used ones will have to be separate debs16:45
th1aOK.  Makes sense.16:45
menesisbut for development included libraries in source are ok16:45
th1aThat's what I was asking.16:45
th1aOK, back to the beginning.16:45
replaceafillcool, so we can use plugins16:45
aelknerwait, why is it different for development?  can someone xplain that?16:46
th1aThey DO have to be packaged separately.16:46
th1aBecause of how Debian and Ubuntu work.16:46
th1aLibraries get separate packages.16:46
aelknerbut if we copy a whole library into our source tree, doesn't that mean we don't need to distribute via packages16:47
th1aAlso, we want to keep clean ownership over our shipped versions.16:47
th1aWe COULD.16:47
th1aBut it isn't how Debian and Ubuntu packaging works.16:47
aelknercan someone answer my question please?16:48
menesisif a library is packaged in Ubuntu separately, then we SHOULD use it. if it is not, we CAN include it16:48
th1aInclude it in our release?16:48
menesisfor jquery, ubuntu source package has a patch to not install our included jquery, but use a system installed one16:51
menesisbut jstree is included in python-schooltool.deb16:51
th1aOK... so we're ok with that, and maybe someday we'll switch to using or providing separate debs for jquery plugins we use?16:52
th1aIs this just because javascript scripts are considered kind of trivial?16:53
menesisjavascript is a programming language like any other. whole applications can be written with it.16:55
menesishas nothing to do with javascript16:55
th1aRight, but coming from the background of web pages.16:55
th1aIt just seems like they're being treated a little differently.16:56
menesisfor example firefox source code has many libraries included, and ./configure switches to use system libraries if available16:56
th1aYes, but I'd imagine the debs don't come with those libraries.16:57
th1aMoving on...16:57
replaceafillmy last comment on this16:57
menesisI don't think about schooltool debs now, why should you16:57
replaceafilli think we should take a look at plugins first, before doing things by ourselves16:58
replaceafill(just my opinion)16:58
replaceafill(and i'm talking jquery here)16:58
aelknerand can someone answer my question please!16:58
menesisof course use plugins16:58
menesisaelkner: what question, sorry?16:58
th1aWell, if we added 20 jquery plugins and then in October we discover we can't use them because the jquery gatekeeper for Debian/Ubuntu is an asshole, then it is a problem.16:59
aelkneryou can look back in the chat16:59
aelknerbut i'll ask again:16:59
th1aaelkner:  In general, libraries get separate packages in Debian/Ubuntu.16:59
aelknerwhy do we care about debs for jquery source when we copy it into our source?17:00
th1aThat's why we have 100 or so packages that make up SchoolTool.17:00
menesisjust add whatever plugins you want to src/schooltool/skin/resources17:00
th1aZope was fragmented into 100 libraries, so we have to make 100 packages.17:00
menesiswill see if we need to do anything else with them17:00
aelknerthat's for zope, i get that17:00
aelknerbut jquery source is copied into our source17:00
th1aWhy don't we just copy zope's source into ours?17:01
aelknernot the same as dependency on zope packages17:01
th1aThat would be much easier.17:01
aelkneri can't answer that ne17:01
menesisaelkner: jquery is already packaged for Ubuntu (not by me) in libjs-jquery17:01
aelknerbut i'm the one asking here, not answering :)17:01
menesisto avoid duplicate code we should use that package instead of our copy17:02
menesisbut if there is no .deb, we can include javascript resources in schooltool source17:02
aelknerah, so we don't want to copy jquery into our source anymore, is that it?17:02
menesiswe do this now17:02
th1aIt is just a question of how pedantic the Ubuntu/Debian gatekeepers are going to be.17:02
menesiswith jstree, calwidget, maybe something else17:02
aelknerbut jquery itself is a deb, i see17:03
th1aRegardless, I don't want to go apeshit adding plugins.17:03
th1aSo if there are a couple we want to use, great.17:03
menesisaelkner: there is a copy of jquery in source, but not in the deb17:03
th1aSo I guess aelkner can just use a menu plugin.17:04
menesisof course17:04
th1aAll right, where were we, replaceafill?17:05
replaceafillasking if we should use plugins :D17:05
replaceafillno seriously17:05
replaceafilli only wanted to point out that a plugin (even a crappy one) could be better than any jquery code i could write17:06
aelknernot what i would write :)17:06
aelkneronly kidding17:06
th1aThe menu one is the only one I felt we definitely needed.17:06
replaceafilland we at least should examine good plugins to see how they work17:06
th1aAnd that's the easiest to write.17:07
replaceafilland to me, in all this jquery topic the key part is finding ways to make the behaviour general enough17:07
th1aI want to get the most out of a small palette of widgets to start.17:07
aelknerwell, it wasn't trivial, and i stil had unanswered issues, like screenX and screenY as I mentioned17:07
replaceafillfor instance, what if activities tomorrow support a new action button17:07
replaceafillis it easy to include it in the contextmenu?17:08
replaceafilland stuff like that17:08
yvlsorry for a late reply, just sent an email on the topic17:08
yvla short one17:08
* replaceafill looks at his email17:08
th1aI'm not sure that's an argument for using a plugin.17:08
yvlin summary - you can position with css pretty well17:09
replaceafillyvl right, that's what i like about jquery's cross platform support17:09
yvlwell, absolute position should work pretty much in everywhere17:10
yvlunless I forgot something17:10
*** alga has quit IRC17:10
aelkneryvl, can you explain positioning with css please?17:11
aelknerfor instance, in the gradebook case, the menu appears when the user clicks an activity title17:12
aelknerand it should appear right were the user just clicked17:12
aelknerso the positioning needs to be dynamic based on the click event location17:12
aelknerhow would that be handled with css?17:12
th1aThere are examples of CSS only menu implementations on the web.17:12
yvlif you looked at the html I sent17:13
aelkneryeah, but they involve having the menu appear with the event target17:13
yvlthere are menus rendered for each item17:13
aelknerin other words, each activity title wold have the duplicate menu html with it17:13
yvlif you want to put them in dynamically17:13
aelknerthen when the user hovers, it gets shown17:13
yvlthat's one way17:13
yvlyou can also inject HTML17:14
yvlif you want to17:14
aelknerusing css?17:14
yvlusing JS17:14
yvlon click17:14
aelkneryou were saying it can be handled with css17:14
yvlthe position is inherited from the parent element17:14
yvlnot from screenX17:15
replaceafillthat's how contextmenu does it...17:15
replaceafillusing absolute position for the css17:15
replaceafilland calculating with js17:15
yvlwell, if you need to put it where the user clicked, it's one thing17:16
yvlas in - near mouse pointer17:16
aelkneri used abosulte posiotioning17:16
aelknerbut that's ust so the element doesn't shove other elements aside17:16
aelkneryou also need zindex to make sure it goes on top of the other elements i beleve17:17
aelknerbut position: absolute does not position the element near where the user clicked17:17
yvlno it does not17:18
yvlyou are doing a pop-up context menu?17:18
th1aIt isn't really.17:19
th1aThere is a target.17:19
aelknerthe menu's location is one spot only in the beginning of the body17:19
aelknerand it is hidden17:19
th1aIt isn't a "right click anywhere" contextual menu.17:19
aelknerthe javascipt event s in charge of making it appear and posiotioning it near the click17:19
yvlit isnt?17:19
aelkneralso, the links need to be calculted17:19
menesisthere are many examples on the web how to do menus or tooltips. I don't understand why you want to implement this yourself17:20
yvlthen there's no need to check the mouse position17:20
th1ayvl:  Yes.17:20
yvlif this would be "right click anywhere", then that would be another case17:20
aelknerdid you guys look at my revision?17:20
th1aYes, the menu can always be in the same place.17:21
aelknerth1a, you don't mean that the user should see the menu in the same place regardless of where the activity is?17:21
th1aI mean, the user clicks a > and the menu pops up next to it.17:22
aelkneri thought this was a context menu?17:22
th1aIt is in the context of the spreadsheet.  We discussed this at great length.17:22
aelkneryou are saying that the menu appears next to the > because it was there all along17:22
aelknerjust hidden17:23
yvlwhy not?17:23
th1aIt appears there because that is where the user would expect to see it.17:23
aelknerif that's the case then we need to duplicate the menu for each activity17:23
yvlactually - not necessarily17:23
aelknerthat's a lot of html coming down the pipe17:23
th1aNo it isn't.17:23
* replaceafill sighs....17:23
yvlyou can use the magic of JS to put it in HTML where you want17:23
replaceafillthat's what i was saying before...17:23
yvlit is a lot17:24
aelkneri get it now, that's different17:24
aelkneri never considered moving the menu around in the DOM17:24
aelknerif that were the case, then position: absolute would do the trick17:25
aelknerbecause the element that it is next to would have the position17:25
aelknerdo we want to move the html around in the DOM?17:25
* yvl shrugs17:25
aelknerit's doable, but it seems a bit hacky17:25
yvlpersonally I would just duplicate the menu17:25
yvlit's not that much17:26
th1ayvl:  Yes.17:26
aelkneri should mention another related issue right there17:26
aelknerthe way i coded it with the one dynamic menu17:26
aelknerall tests pass only because i didn't get rid of the (sort) link and17:27
aelknerjavascript doesn't run in tests, so the activity link still did the old thing17:27
aelknerbut if we do include the duplicated menu with each activity17:27
aelknerand then use css to hide it17:27
aelknerthen the links would be there for the tests, right?17:28
yvlI mean - yes.17:28
aelknereven though they are hidden, they still would be clickable in testbrowser?17:29
th1aThat's a good reason not to get too tricky.17:29
aelknerwell, that decides it then, duplicate menus17:29
aelknerso i still need js to hide/unhide because:17:30
aelkner1) th1a doesn't want menus to appear on hover17:30
aelkner2) hover css only applies to the element one is hovering (am i right?)17:31
th1aI think css has onclick.17:31
yvl2 - yes, but doesn't work on some older browsers17:31
aelknercan one make one element appear another is hovered?17:31
aelknerin css i mean17:32
replaceafillas usual, i'm lost now, what do you mean by "duplicate menus"?17:32
aelknerreplaceafill, for each column, have the menu in the html17:32
th1aJust putting the menu code in a the top of each column.17:32
aelknereach column's menu would have the right links for that activity17:33
aelknerso tests would continue to work17:33
th1aAnyhow, a little js is not a problem.17:33
th1aJust keep this simple and straightforward though.17:33
th1aOr... we could just use a plugin.17:33
aelknerthe important this is the decision to duplicate the menus and how that effects tests17:34
th1aThat is what I was going to say next.17:34
th1aWriting tests for the plugin might take longer than implementing menus ourselves.17:34
replaceafillwelcome more html!!!17:34
aelknerand all i would need to change is globally replacing clicks of '(sort)' with clicks of 'Sort by'17:34
replaceafilllet's bloat the output17:34
aelknerreplaceafill, i'm with you, i thought we were trying to reduce the payload, not increase it17:35
aelknerbut if yvl thinks it's small enough17:35
yvlI don't know17:35
aelknerit is only once per column17:35
yvlit depends on the implementation17:35
aelkneras opposed to once per cell17:35
yvlit does not look like a lot17:35
th1aIt is small.17:36
replaceafillclass="cell bla bla" didnt look like too much either17:36
aelkner<ul><li><a href="...">17:36
aelknerthat's about it17:36
replaceafilli hope i'm understanding this wrong, i'll wait to see the implementation too17:36
yvlreplaceafill, what amount of payload do you expect to get out of this?17:37
yvland where is your pain level? ;)17:37
aelkneralso, we already deliver the (sort) link in each column, so we wouldn't even be increasing in that case17:37
th1areplaceafill is flashing back to a per-cell issue.17:37
aelknerright :)17:37
replaceafilli'll stop commenting on this one :)17:38
yvlit is ok, replaceafill17:38
yvldon't think that I don't care about that issue17:38
replaceafillagain, maybe i'm understanding it wrong17:38
aelknerreplaceafill, as i was just saying, we already have two links for each column17:39
yvlI just thought that several hundred bytes are sacrificable in this case17:39
aelknerwe would be replacing them with a menu that has the two links17:39
aelknerwith some >ul><li> around them17:39
th1aOK... MOVING ON.17:39
th1areplaceafill:  Back to your jquery investigations...17:40
replaceafillth1a i'd like a use case for the accordion/dialog story17:40
th1aNote that we may have to have these conversations daily during the UI sprint...17:40
replaceafilllast week you talked about using accordions for contacts/sections, remember?17:40
th1aTo put all the info on a person's page.17:41
replaceafillmaybe i could code a small example now that i know how to use them17:41
replaceafill*IN* schooltool (as you once said) :)17:41
replaceafilli'll start with some non-sense as usual and show it to you, to have feedback17:42
replaceafillthat's it from me :)17:42
replaceafill(he said after one hour of discussion) :P17:42
th1aaelkner:  Do you want to continue with your implementation or punt to a plug-in?17:43
aelknerthe plugin won't work for us17:43
aelknercorrect me if i'm wrong, replaceafill, but it only woks with one menu17:43
replaceafilli said i wouldn't comment17:43
aelknerplease do17:43
th1aThere are many jquery menu plugins floating around.17:43
th1aIncluding one that will be included in the next release of jquery-ui.17:44
replaceafillaelkner go with the multiple menu implementation17:44
aelknerwhy bother when it's easy to do with js and the zpl for repeating the menu as we agreed17:44
aelknerreplaceafill, right17:44
th1aYes, I'm ok with finishing what you started.17:44
th1aParticularly to avoid testing disasters.17:45
aelknerwe solved the position problem with the duplicate menus17:45
aelknerbut what about the colors?17:45
aelkneri mentioned that jquery had a nice image file for the background of each <li>17:46
yvlanything is better when pink!17:46
aelkneri just chose something light17:46
aelknerdon't ask me to defend color choices17:46
th1aWell, we're going to be changing colors extensively soon anyhow.17:46
aelknerand when the scheme is decided, i won't have to :)17:47
th1aWhat we will have to do is get our CSS all coordinated so that we will be able to change colors across the whole application.17:47
th1aSo we don't so much need colors as names of colors.17:47
aelknerwe could use a task plan for the sprint17:47
th1ahighlight1, etc.17:47
th1aI'm working on it.17:48
aelknerah, ok, cool17:48
aelkneris it still starting a week from today?17:48
th1aBasically the spreadsheet will be a big checklist for each view.17:48
th1aThat's the plan.17:48
* yvl is ok with the plan17:49
yvljust FYI17:49
th1ae.g.: text ok | colors ok | etc.17:49
aelknerhow come yvl knows the plan and i don't?17:49
th1aThe plan of starting next week.17:49
* yvl pays attention at IRC weekly meetings, aelkner :P17:50
th1aWe'll also start with simple views so we can focus on process.17:50
aelkneri see conversations, but that's different than conclusions set down in documents17:50
th1aOK, so aelkner is going to keep working on menus and get back to me on that.17:51
th1aThanks aelkner.17:51
yvlI'm starting to remake the first few views in ST17:52
yvlMost of the underlying things are there17:52
yvlI think it's best to write convenience zcml directives as we go17:52
yvlI also need to make CSS for forms17:53
yvldon't expect that to be a lot of hassle17:53
yvland I'll need to put some sort of "tutorial" on how to customize the new UI17:54
th1aCan we get some screenshots?17:54
yvlnot yet, but once the first view is done - yes17:54
aelknerplease use the developer list for sending email17:55
yvlof course17:55
th1aOK.  We should be discussing this all week.17:55
yvlit will likely be calendar17:55
* th1a would suggest not starting with the most complicated view.17:55
aelkneryvl, are you pushing your branch on an ongoing basis?17:55
aelknerif so, we could begin to see what you are doing17:56
aelknerand be better prepared for the sprint17:56
aelknercool, thanks17:56
yvlnot sure if this is useful at all now17:56
th1aOK, thanks, yvl.  Let's move on.17:57
yvlI am not decided about one thing, th1a17:57
th1aGo ahead, yvl.17:57
yvlon one hand, I'd like to implement the new UI as a separate skin17:57
yvlthat means - almost duplicate views and almost duplicate templates17:58
yvland everybody (like CanDo) can still use the old skin17:58
yvlon the other hand, it's duplicate code17:58
yvlif you had a lot of views and a lot of tests.... how would you proceed?17:59
th1aBackward compatibility is not a bad idea.17:59
aelknersafe thing about duplicate is that you can always get rid of old when it's more convenient17:59
yvlwell ok then17:59
th1aWould the two versions be so entangled that it would be hard to get rid of the old ones later?17:59
th1aDuplication is ok with me then.18:00
aelknerthat's two votes for duplication today :)18:00
yvljust that amount of code in the /browser folders could rise significantly18:00
yvland people can get lost18:00
* yvl is +0.1 for duplication this time ;)18:00
yvlthanks for making this easy for me :)18:01
th1aDone now, yvl?18:01
yvlyes, please move on18:01
aelkneryvl, it should be easy, XP and all18:01
menesisI have merged Alan's branches18:01
aelknermenesis, thanks18:02
menesisin gradebook, requirement_scoresystems and journal_data18:02
menesisand term_linkage in schooltool18:02
aelkneri should check all my branches briefly to confirm18:02
menesisalso there is journal's remove_term_grading branch, will finish after the meeting18:03
menesisthen, I split gradebook ftests in two layers18:03
menesisone with journal, one without18:03
menesisso there is a journal test dependency18:04
aelkneri should delete lp:~aelkner/schooltool.gradebook/custom_scoresystems as i ended up redoing in the branch you merged18:04
menesisbut both paths are tested now18:04
menesisaelkner: yes, please18:04
menesisto be honest I have left one ftest untouched, rml_student.txt, because it is large18:05
menesisand haven't looked at coverage18:05
menesisbut mostly gradebook is tested without journal, and there are separate test to test just the journal integration18:06
menesisaelkner: not pushed yet, will do soon after the meeting18:07
menesisthat's about the branches18:07
menesisthen I did some cleanup work in lp:~menesis/schooltool/cleanup18:08
menesisremoved setupdata18:08
aelknerthis one is old:
menesisremoved help18:08
aelknershould i delete it?18:08
aelknerbtw, how does one visually see in the launchpad branch view if there are new revisions since last merge?18:09
menesisaelkner: yes, you can see it is Merged18:09
menesisthen you can remove it18:10
aelknerah, i see the date of the merge is later than the last revision18:10
menesisdon't think you can easily see that on launchpad18:10
aelknerok, deleted18:10
th1aOK, anything else, menesis?18:11
menesisok, so I deleted SchoolTool Help,
menesisis it OK?18:11
aelknerok, so all my branches are gone except the new popup one and the remove_term_grading18:13
menesisremoving help, and also making API Docs/Introspector optional18:13
aelkneryou will remove the second one when you finish pushing, right?18:13
menesisallowed me to remove some 5 zope dependencies18:13
menesisaelkner: I cannot remove it, but it will show up as Merged, so not in the usual "All active branches" view18:14
aelknerah, ok, just as well18:14
menesisbefore that I removed 5 more dependencies by including only the needed zcml, not all
aelknerso i could have deactivated the branches i just deleted, true?18:15
aelkneroh, and sorry for interrupting your thread18:15
menesisand maybe can drop some more18:15
menesiswill merge this cleanup to trunk so that less code is included and tested, maybe tests will get a little faster :)18:16
th1aAnything else?18:17
menesisaelkner: it may be useful for some time to leave the branches there, if bugs are linked to it, or you plan to continue18:17
aelknerhow do i deactivate a branch?18:18
menesisyou can click "Change branch details" in the actions menu on the right and change branch status18:18
menesisto Merged, Abandoned, or Development18:18
aelknercool, thanks18:18
menesisbut you can also delete the branch18:18
menesismany old branches no longer work18:19
*** fsufitch has joined #schooltool18:19
menesisbecause I broke them with incorrect upgrade to 2a format18:19
menesisth1a: did some more things but nothing important18:20
th1aOK.  Thanks menesis.18:20
menesistried to help David, tested schooltool with ZTK 1.1 because jinty asked me if it is OK to use the latest zope.testbrowser, released a random zope package, fixed some mistakes in Debian packages, etc..18:21
th1aLet's plan on meeting an hour early next week on Monday, assuming it will be an extra long meeting.18:21
* replaceafill is ok with it :)18:22
menesisis it not too early for you in Americas?18:22
th1aAnd generally plan on meeting informally around this time every day the next two weeks.18:22
replaceafill6:30 am here :P18:22
aelkneri'm fine with it18:22
th1aAh... yes, no daylight savings time in El Salvador.18:23
replaceafillbut it's ok18:23
th1aWell, can yvl and menesis plan on staying later?18:23
yvlit's ok with me18:23
replaceafilli don't mind18:23
replaceafillth1a, starting at 8:30 your time18:23
menesisI can18:23
th1aOK, let's start early.18:24
menesisI usually go home and hour from now18:24
th1aAnd plan on being available the regular meeting time as much as possible during the sprint.18:24
th1aOK, thanks guys.  Things are going to get busy, and fun.18:24
yvlit's going to be fun!18:24
th1aHave a great week!18:24
* th1a drops the bag of gravel.18:25
replaceafillthanks everybody18:25
yvlgreat week to you all!18:25
aelkneryes, looking forward to it18:25
aelknergreat week everyone18:25
replaceafillyvl could you please comment on the pyquiz thread? i mean not now18:27
replaceafillbut in a future email :)18:27
* replaceafill doesn't think of it as urgent18:27
aelknerreplaceafill, could you attach me to the thread, i'm curious18:34
replaceafillaelkner it's on the dev list :/18:37
replaceafill"Use of SchoolTool to authenticate users in pyquiz"18:37
aelknerah :)18:40
*** alga has joined #schooltool18:49
*** jelkner has quit IRC19:11
fsufitchaelkner: ping19:34
aelknerfsufitch, hey19:39
fsufitchi got a question for you19:40
fsufitchi was working on the whole "readonly" (actually @property) fields for CurrentCourseInfo19:40
fsufitchand there's a slight problem: the credits and description field are required as they are in schooltool.courseinfo.interfaces.ICourseInfo, but are *not* required in schooltool.course.interfaces.ICourse19:41
fsufitchis this intentional, or a mismatch?19:41
aelknergood point19:41
aelknerit's a case where schooltool core doesn't want to require those fields, but schooltool.courseinfo would19:42
fsufitchokay, so they need to stay required in courseinfo19:42
fsufitchgot it :)19:42
aelkneryou could check with dwelsh, but my first guess would be to say the interface matches his design19:43
fsufitchi tried calling him, but he didnt answer19:43
aelknerso you realize that you need setproperty19:43
fsufitchhmm yes19:44
aelknerbecause when the user sets the value in the form, you need to set the value in the corresponding course object19:44
aelknerok, so you alread had that planned19:44
fsufitch@property is fun to code :)19:44
fsufitchi also made an ICurrentCourseInfo -> ICourse adapter for convenience for these things19:44
aelkneryeah, i always like that feature in python19:44
fsufitchaelkner: so i just talked to dwelsh and he said to make everything but title and local course id optional, just like in schooltool19:50
*** menesis has quit IRC19:51
fsufitchbrb, i need a bite to eat19:53
aelknerfsufitch, good input from dwelsh20:04
fsufitchit actually makes my work much easier :)20:05
fsufitchaelkner: this actually means i get to remove the tests for submitting an empty form, since the course_id and title will already be filled in anyway (because of the redirect)20:10
th1aaelkner:  ayt?20:29
aelkneri'm here20:29
th1aDid you ever hack out deployed reportsheets for lehmann?20:29
aelknerway back when, i had to write code to remove his redundant deployed reportsheets20:30
aelknerbut that code is gone now, not a part of schooltool20:30
aelknerwhy do you ask?20:30
aelknerth1a, i replied to your email20:31
aelknerspeaking of hacking out deployed report sheets, we could use a warning when people try to deploy the same report sheet twice20:32
*** menesis has joined #schooltool20:33
aelkneri could add a bug for that, but i thought i'd chek with you here first20:33
aelknerthe idea is, if the report sheet template __name__ which is included in the deployed __name__20:33
aelkneris already present in the sections for the term, we could give a confirmation view saying that it is already deployed20:34
aelknerallowing the user to deploy the same template twice if they so desire20:34
aelknerthere is a case where one might want to20:34
aelknerbut having it happen without warning leads to what lehmann did20:34
aelkneri know that adding a removal feature at least takes away the need to hack the data20:35
aelkneractually, it's not remove, it's hide, right?20:35
aelknerbut still, stopping the user from accidentally double-deploying would be a good feature20:36
th1aDon't you have a copy of the old code removal code?20:36
aelknerwhy would you be interested in that?20:36
th1aBecause we have a user with the same problem.20:36
th1aAnd I'd like you to not lose code I pay you to write.20:36
aelknerand they can't wait for the hide feature i suppose20:36
th1aWell, they can wait longer if we just fix the db is kind of the point.20:37
aelknerlet me tell you, that process was a pain20:37
aelkneri had to look over the data in a special trace to see which worksheets had scores filled in20:38
aelknerand then decide which one to delete (or ask lehman i think)20:38
aelknerthen, hard-code the patch for that worksheet20:38
th1aSo you'd just as soon fix the problem correctly.20:39
aelkneri probably still have that code around, but i'm just saying, it's not gong to work as is20:39
th1aThis case is easier because there is just one we need to blow away.20:39
aelknercorretly, define please20:39
th1aSo users can hide report sheets.20:39
aelknerif users can hide report sheets is correctly, then yes, it would be easier to just make that feature work20:40
th1aOK.  That's fine.20:40
aelknerthen get the fix to the user somehow (debs or sandbox)20:40
aelknerfsufitch, let's think about this a second20:42
fsufitchaelkner: wait what?20:43
fsufitchwhere did i come into this discussion?20:43
aelknerif the user is creating CurrentCourseInfo, then the add form will have the ICourse fields already filled in20:43
fsufitchoh, that20:43
aelknerbut they should be able to change them, too, or should they?20:43
th1adebs aelkner.  We really don't want users using sandboxes.20:43
aelknerif they can wait for the deb pipeline, then debs would be best obviously20:44
aelknerfsufitch, i didn't think of that before, but is the CurrentCourseInfo form over-crowded with ICourse fields20:45
aelkneror is it convenient for the user to not have to call up the other ICourse edit form20:45
fsufitchno, it's only title, description, credits, and government_id20:46
aelkneri'm not sure what would be preferable20:46
aelknerso they stay on the form then?20:46
fsufitchi was going to make them hidden fields20:46
aelknerbut that's what i'm asking20:46
fsufitchbut i can make them show up and be editable, and propagate the changes to the Course20:46
aelknerright, if that is what dwelsh would prefer20:46
aelkneri'd ask him, because if he says to leave them off the form (being that they are redundant)20:47
aelknerthen you have no reason to carry the fields at all hidden or otherwise20:47
fsufitchand actually yes there is, because they're defined in the CourseInfo interface :)20:48
fsufitchand necessary in PublishedCourseInfo and CourseInfoRevision20:48
aelknerbut don't try to talk him into either choice20:48
aelknerright, they are definitely necessary in those two cases20:48
aelknercome to think of it, dwelsh wold probably expect the fields to be there20:49
aelknersince they are there for the other two cases, why should it be different for CurrentCoureInfo?20:50
fsufitchi mean, they're *there* in the display form and such, but just not in the add/edit forms20:50
aelknerthey should be in the add/edit form as well20:50
fsufitchor at least, that's how i was going to code it20:50
aelknerit just makes sense, i think20:51
fsufitchso they should be there, and they should change the original Course object20:51
fsufitchthat makes sense actually20:51
aelknerright, exactly20:51
aelknerwhy should the user have to think any differently about one versus the other20:51
aelknerso it's decided, great20:51
*** asharma_ has quit IRC22:04
*** fsufitch has quit IRC22:08
*** menesis has quit IRC23:58

Generated by 2.15.1 by Marius Gedminas - find it at!