IRC log of #schooltool for Friday, 2011-07-01

aelknerth1a, i swapped the student and teacher columns to match the order found in the edit views00:17
aelknerlooking at it, i wonder, could there be enough room for Students | Teachers | Administrators as headings?00:32
*** replaceafill has joined #schooltool00:41
replaceafillhhhmm the way cambodia is starting to set up the new instances seems wrong to me...01:35
*** replaceafill has quit IRC02:33
*** th1a has quit IRC04:51
*** aks has joined #schooltool08:24
*** menesis has joined #schooltool10:02
*** ignas has joined #schooltool12:16
*** menesis has quit IRC13:41
*** menesis has joined #schooltool13:56
*** aks has quit IRC14:24
*** th1a has joined #schooltool15:46
yvlgood morning th1a15:55
*** ignas has quit IRC15:57
*** ignas has joined #schooltool16:01
*** ignas has quit IRC16:21
th1aGood morning, yvl.16:23
*** replaceafill has joined #schooltool16:25
th1ahi yvl, replaceafill, aelkner, menesis.16:30
yvlgood morning :)16:31
replaceafillgood morning/afternoon16:31
aelknermorning16:32
th1aOK, any comments on yvl's email?16:33
aelknerhow about WiderPage as opposed to ExandedPage?16:34
aelknerExpanded implies that there is more than normal16:34
aelknerwider is what happens when you remove the sidebar16:34
yvlok16:34
yvllet's call it WidePage16:34
aelknerreplaceafill?16:35
th1aBut we don't have any WidePage yet, correct?16:35
yvlwe had error pages wide I think16:36
yvlas in traceback, not found16:36
th1aI mean in flourish.16:36
yvlyes, those are in flourish16:37
th1a... I'll shut up.16:37
th1areplaceafill:  Are you ok with this?16:38
replaceafillyvl are we going to remove the condition from the sidebar block?16:38
yvlumm, why?16:39
yvlwhat I'm trying to say is16:39
yvlif sidebar is empty | nothing16:40
yvlon that condition we must render whatever needs to be rendered to keep the layout right16:40
yvlor not render anything if CSS permits that16:40
yvlI remember central content area was jumping left a bit16:41
yvlwhen sidebar div was empty16:41
replaceafillhhmm no, <div class="refine"> showed it's padding, iirc16:42
replaceafilland it had another condition not:refine16:42
replaceafillthat rendered a &nbsp;16:42
yvlright16:42
yvlbecause when there's no content, width of empty div was ignored16:43
yvlI think that was plainly a hack16:43
yvlin any case16:43
yvlI probably misunderstood you16:44
yvlthat happens when reading logs sometimes ;)16:44
aelknerso what are we concluding here?16:45
yvljust wanted to make sure that16:45
th1aI think we're wandering in the dark.16:45
yvlthe class is not called NoSidebarPage16:45
replaceafilli'd say make the whole <div class="refine"> conditional16:45
yvland it is not used to display pages without sidebar16:45
yvland it is called whateverpage16:46
yvland is used to display large content16:46
aelknerreplaceafill, what about WidePAge?16:46
yvland that tracebacks are readable :)16:46
yvlreplaceafill - I'm ok with that16:46
replaceafillaelkner i dont care about the name, i liked ExpandedPage anyway16:46
replaceafilli remember in the early days, like 3 weeks ago :) we even had css for it16:47
yvland that should be back16:47
* yvl wants readable tracebacks :D16:47
replaceafill+116:47
aelkneryvl, nothing *should* be a hack16:47
replaceafill:|16:48
yvl"back", not "hack" aelkner ;)16:48
aelkneroh, sorry16:48
aelknerso we don't change the page name, right?16:48
yvlwe can change it to WidePage, BigPage, LargePage or similar16:49
* yvl is +0 on this16:49
replaceafill+1 on bringing ExpandedPage back :)16:49
aelkneri live all of those better than ExpandedPage16:49
aelknerbut that's only my vote16:49
aelknerlike all of those, i mean16:49
yvlreplaceafill, would you be ok with WidePage?16:50
aelknerexpanded just implies the act of expanding something, adding more16:50
replaceafillsure, i'm +0 on the name too16:50
yvlWidePage it is16:50
aelknernext, class names16:50
aelknerthere are three options here16:50
aelkner1) do nothing different and drive me crazy with confusing mess16:50
replaceafill+1 on dashes16:51
aelkner2) change all classs names to match formlib (stupid library)16:51
aelkner3) have all our names use underscores so we can know that dashed names come from formlib16:51
aelknerand ours, not16:51
replaceafillaelkner not only formlib (the stupid library), jquery ui16:51
aelknerwhat's with the choice of dashes?16:51
replaceafilltoo16:51
replaceafilleven zc.table16:52
yvlaelkner, internet does that16:52
yvlas in - people got kind of used to this16:52
yvlI think16:52
aelknerwhat's with these people16:52
yvlprobably jquery made them used to this16:52
aelknerperhaps16:52
yvlbut it is quite common16:52
aelknerif jquery is driving a standard, and you say it is common16:52
aelknerthen, i guess i'll have to get used to it16:53
th1aThis is for CSS classes, right?16:53
aelknerperhaps we should make all our clas names use dashes16:53
yvlright, th1a16:53
aelknerth1a, yes16:53
yvlI guess so, aelkner16:53
th1aYeah, just different convention than programming languages.16:53
th1aThere is no subtraction in CSS.16:53
aelknerinteresting point16:54
replaceafilland we have only like 2 or 3 classes in css right now using underscores, so it's easy to fix16:54
replaceafillul.secondary_nav16:54
aelknerperhaps the convention was developed just because you couldn't subtract16:54
yvlI've also seen people use camelCasedClasses16:54
aelknerlike it was a way to know for sure that it is a class name16:54
aelknerbecause it couldn't be anything else16:55
replaceafill-1 on camelCase16:55
yvl:D16:55
* yvl seconds :)16:55
aelkner-1 on camelCase16:55
aelknerhow much do we have to change to get everything to be dashes?16:55
yvlok, so for better or for worse, we'll go with dashes from now on16:55
replaceafillaelkner not much16:56
aelkneri say let's do that and start using that convention everyhwere16:56
yvl(even something as old as ST calendar css use combination of camelcase and dashes)16:56
yvl+1 aelkner16:56
aelkneryvl, let's not use calendar css as justification for anything :)16:57
yvl:D16:57
aelknerayway, i'm glad we agreed on this16:57
aelknerpeace of mind for me and all16:57
replaceafill:)16:57
yvlcool :)16:57
aelknerlastly, th1a's email16:57
aelkneri use an espn (usa sports for thise who don't know)16:58
aelknersite when i watch my baseball team play16:58
aelknerand i love that you can click on a ballplayer and a quick info popup comes up16:58
aelkneron it there are links for more serious info, like career stats16:59
aelknerthat link takes you away from the page16:59
aelknerso anyway, it's just as th1a suggested, and it works well16:59
aelkneronly difference16:59
aelknerit is modal, but you can close it simply by clicking somewhere else16:59
aelknerit doesn't grey out the rest of the age17:00
aelknerso i ask: can we think about having modals that work that way as well17:00
aelknerthe gerying out the rest of the page is good for dialogs were you change something17:00
th1aI'm not sure if I'd technically call them modal.17:00
aelknerright17:00
aelknerso +1 on not greying out for those?17:01
yvlaelkner, you're talking about gradebook student extra details?17:01
aelkneryes17:01
yvl+117:01
yvl;)17:01
replaceafillit would work for other things like, Manage contact page17:01
replaceafillso you can see the contact details before adding/removing it to the relationship17:01
yvlyes17:02
th1aI think it could just be a basic dialog.17:02
aelknerso calling it modal is a mistake on y part17:03
th1aAnyhow, I don't really want to do that right now.17:03
aelknercan we call it popup?17:03
th1aIt is a dialog.17:03
th1aThat's what the widget is called.17:03
aelknerso modal is a modifier17:03
th1aYes.17:03
aelknerwithout the modifier, we mean not modal17:04
aelknerok17:04
yvlit is kind of nice when dialogs that aelkner described "disable" the rest of the page17:04
yvlbut close when user clicks anywhere17:04
yvlsoft accident prevention, so to say17:05
aelknerthat's the way my popup menu works in the gradebook17:05
aelkneryvl, right17:05
*** menesis has quit IRC17:05
aelkneranyway, that's all i have for the emails17:05
th1aYes, it should be an option in the jquery widget but isn't.17:06
th1aOK, moving on...17:06
aelknerit isn't, darn17:06
th1ayvl: How is the timetable wizard coming?17:06
* yvl was naughty today and drifted away do modal dialog plumbing17:07
yvlso no progress on the wizard itself actually17:07
yvlumm17:07
aelknerwe were waiting to hear about the modal plumbing17:08
yvlI'm not sure it's worth trying to explain what's the problem here17:08
yvlit would take too much time now17:08
th1aYou're stuck?17:08
yvlwas stuck17:09
yvlgot unstuck, narrowed down to two ways to go17:09
aelkneri hope you picked the one that was easiest for us to follow :)17:09
yvlbut run out of steam to be honest17:09
yvlaelkner - that is one of the main criteria17:10
yvlhow to put this17:10
yvlth1a,17:10
yvlI learned my lesson with the timetables17:11
yvland meetings every day help not to get too deep17:11
yvlbut I couldn't finish today17:11
th1aSure.17:11
th1aNo problem.17:11
th1aWe don't need either today.17:11
th1aThanks, yvl.17:11
th1areplaceafill?17:12
*** replaceafill_ has joined #schooltool17:14
replaceafill_sorry got disconnected17:14
*** replaceafill has quit IRC17:14
yvlreplaceafill_ - your turn ;)17:14
*** replaceafill_ is now known as replaceafill17:14
th1aAh.17:15
replaceafillok17:15
replaceafill1st17:15
replaceafilli worked on the bound contact or self contact edit view17:15
replaceafilli just have a question17:15
replaceafillhttp://69.164.203.135:6660/persons/alvaro17:15
replaceafillclick on Contacts17:16
replaceafilland next on Sally17:16
replaceafillCunningham17:16
replaceafillwhat should be the subtitle for that page?17:17
th1aWell... atm Sally is giving me a traceback!17:17
replaceafillth1a !!!17:17
aelkneri didn't get one17:17
th1aWeird.17:18
replaceafillyou sure you're not using aelkner's instance?17:18
yvlhttp://69.164.203.135:6660/persons/sc/contact/@@edit.html?person_id=alvaro17:18
th1aLocationError: (<schooltool.contact.basicperson.BoundContact object at 0xda84c2c>, 'layout.css')17:18
aelkneragain, no traceback for me17:18
replaceafillth1a sounds like aelkner's instance17:18
yvlno traceback for me too17:19
aelknerth1a, my instance is 36660, close to 6660, so maybe you're confusing them17:19
th1aThis is from the manage_contacts page.17:19
th1ahttp://69.164.203.135:6660/persons/sc/contact17:20
th1aGives the traceback.17:20
replaceafillth1a ah right! that's the index page17:20
replaceafillon self contact :)17:20
th1aAh!17:20
yvlright :)17:20
replaceafillwe need to fix that one too ;)17:20
th1aI don't know that we need a subtitle here.17:21
th1aIf so, "Contact Information"17:21
replaceafillok17:21
aelkneranyway, that sounds like out of meeting discussion material17:21
yvlEdit Contact Information probably17:21
th1aWell, we should all at least review the new pages quickly.17:22
th1aSo... moving on...17:22
aelknerunless yvl wants to put his two cents in L)17:22
aelkner:)17:22
replaceafilli want yvl's 0.02 on something too17:22
replaceafillthe password view17:22
replaceafillhttp://69.164.203.135:6660/persons/alvaro17:22
replaceafillPassword17:22
replaceafillvs http://69.164.203.135:6660/persons/manager/password_edit.html17:23
aelknerreplaceafill, i saw your discussion with th1a about changing own password vs others17:23
aelkneri think you guys came to the correct conclusions on distinguishing the circumstances17:23
aelknerbut you weren't asking me :)17:24
replaceafillso, if you go to http://69.164.203.135:6660/persons/alvaro/password_edit.html17:24
replaceafillas manager17:24
replaceafilland insert 2 different passwords17:24
replaceafillyou get the error message17:25
replaceafillbut the form uses an invariant validator17:25
replaceafillto check that new password match17:25
replaceafillunfortunately invariants are not rendered next to the widgets17:25
replaceafillthey only appear on <div class="status"><ul class="errors">17:25
replaceafillwhich we currently hide :(17:26
yvlright17:26
yvlwell, there is this problem, yes17:27
yvlbut we do want to show form status messages, right?17:28
replaceafillyes17:28
replaceafillwe want <div.status><div.summary>17:29
replaceafillbtw, if you go to http://69.164.203.135:6660/persons/manager/password_edit.html17:30
replaceafillas manager17:30
* yvl is currently agreeing with replaceafill, so unless you can put it in a form of question... all I can say - you're on a right track :)17:30
replaceafillyvl ah sorr17:30
replaceafilly17:30
replaceafillthe question:17:30
replaceafilldo you know of a way to insert error "views" on a widget? :)17:30
yvlI think I saw that somewhere17:31
yvllet's not block on this now17:32
yvlI'll write if I remember17:32
replaceafillok17:32
th1aWhy is this different than our other error messages?17:32
replaceafillth1a we have this same problem in the person add/edit view17:33
replaceafillwith passwords17:33
replaceafillwe use invariant validation there too17:33
th1aOK.17:33
replaceafillso if you add/edit a person and insert different passwords17:33
replaceafillyou get the error message but no widget highlighted17:33
replaceafillso you dont know what went wrong17:33
replaceafilli'll dig into it17:33
replaceafillfinally, i also applied menesis patch about hiding empty fields17:34
th1aOK...17:34
replaceafillthat's it from me17:34
th1aYes, thanks for that.17:34
th1areplaceafill:  So you're basically ready to move on for now?17:34
replaceafillyes17:34
th1aOK.  We'll get you set up.17:35
th1aaelkner?17:35
aelkneri had comments/question for you yesterday afternoon, but i guess you didn't see17:36
aelkneranyway, i changed the order of student teacher to match edit views17:36
aelknerand added the delete pencil, everything works there now17:36
th1aIt is helpful if you link to what you're talking about.17:37
aelkneri don't know how to do that17:37
aelknerit's in the log if that's what you mean17:37
th1auh...17:37
th1aLIke http://69.164.203.135:6660/persons/sc/contact17:38
aelkneroh, that link17:38
th1aThat's what we're talking about?17:38
aelknerno, i was working on demographic fields17:38
th1aSee...17:38
aelknerwell, i didn't think i needed to tell you that!17:38
th1aWhat should I be looking at aelkner?17:39
aelknerhttp://69.164.203.135:36660/demographics/@@index.html17:39
th1aOK.17:39
th1aWe need to tidy up the add/edit forms for the demographic fields.17:40
aelkneralso, i asked if we couldn't use non-abreviated names for Student | Teacher |...17:40
th1aThen we're done with this section?17:40
th1aWell... we're maybe pushing it in the width of the title and id column.17:41
aelkneri'm done when you say i'm done :)17:41
th1aSO let's leave it for now.17:41
aelknerok, again, we don't need to go over details during the meeting17:42
th1aBut the next thing is cleaning up the add/edit forms.17:42
th1aThen that's pretty much it.17:42
th1aDo the same thing for Resource attributes.17:42
th1aOK.  This has been a kind of disorganized Friday meeting...17:43
th1aSo lets wrap it up.17:43
aelknermonday?17:43
th1aI did get an estimate from Schwa finally, and it looks good and affordable, so we're going to finalize that.17:43
th1aMonday?  Oh, July 4.17:43
th1aNo meeting Monday.17:43
th1aSee you Tuesday.17:44
th1aGood week gentlemen.  Have  great weekend!17:44
* th1a drops the bag of gravel.17:44
replaceafillthanks everybody17:44
yvlthanks guys17:44
aelknergreat weekend yvl17:45
yvlthanks aelkner :)17:45
yvlreplaceafill, I can't remember where I saw that17:45
yvlvalidation that is17:45
yvlall I remember - it looked hacky :)17:45
replaceafillyvl can i suggest a "hack"17:45
replaceafill:D17:45
replaceafillsimple validator on the "new password" field, which checks the request for the "verify_password"?17:46
replaceafillchecking the request on a simple field validator, i know...17:46
replaceafill:)17:46
replaceafillHACK!17:46
yvlgimme a sec ;)17:47
replaceafillk17:47
* yvl does the smart thing17:49
yvlasks mgedmin how Stephan did that :D17:49
replaceafill:|17:50
yvlallrighty then17:51
yvldo the HACK :)17:51
replaceafill:))17:51
replaceafillcool, will do17:52
yvlyou can also...17:52
yvl                view = zope.component.getMultiAdapter(17:52
yvl                    (error, self.request, widget, widget.field,17:52
yvl                     self.form, self.content), interfaces.IErrorViewSnippet)17:52
yvl                view.update()17:52
yvl                if self.setErrors:17:52
yvl                    widget.error = view17:52
replaceafillthat!17:52
replaceafilli remembered there was something like error views or something17:53
replaceafillyvl is that from z3c.form?17:53
yvlyep17:53
yvlit will override default widget errors17:53
aelknergreat stuff to leave for others to explode their brain on :)17:53
yvlunless you also put if not widget.error17:53
yvl:D17:53
replaceafillyvl great, i'll look into that17:54
aelknerperhaps if something like this was in it's own method with doc string17:54
replaceafillhack will be the final solution :)17:54
aelknerhack is design!17:54
yvlwell, invariant validation is not designed to produce errors on widgets17:55
replaceafillcorrect17:55
aelknerjust saying:17:55
aelknerwhenever the cleverness overcomes on of us to hack around a zope paradigm17:55
yvlI feel your pain, aelkner17:56
aelknerwe should put the code aside in a method or something17:56
aelknerand document the method, more than just this is a hack17:56
yvlin this case probably the code itself will be enough17:56
aelknersomething that saves the first-time reader time figuring out wtf17:56
yvl+1 to that17:56
yvldocumenting what-the-hell17:57
replaceafilli also put XXX: wtf?17:57
yvl:D17:57
yvlor XXX: well ain't that nice. ;)17:57
replaceafillyvl put XXX: pretty isnt it?17:57
replaceafill:D17:57
aelknerand assume the reader is not capable of holding every last adaptation in their heads at the same time17:57
yvlagain, +117:57
yvlallright, time to go home17:57
aelknerthat's why methods help17:57
replaceafillthanks yvl17:58
aelknerthey provide a name to a concept for startes17:58
aelknerstarters17:58
yvlsee you guys next week17:58
yvl(and aelkner - I agree with your arguments here)17:58
replaceafillmaybe we could use this trick: http://www.jensbits.com/demos/dialog/overlayclose/18:22
th1aOh, I'm sure it is a solvable problem.18:25
th1aI'm just not immediately worried about it.18:25
replaceafillth1a i forgot to mention the new action link: http://69.164.203.135:6660/persons/alvaro/@@manage_contacts.html?SEARCH_TITLE=%C3%81lvarez18:28
replaceafill"Álvaro Álvarez as Contact"18:28
th1aYes.18:31
th1aI think that worls.18:31
th1ak18:31
th1as18:31
th1aYou're working on the password now replaceafill?18:32
replaceafillyes18:32
replaceafilland the contact index page18:32
replaceafillwell, bound contact index page18:32
th1aaelkner:  are you tidying those forms?18:37
aelkner'We need to tidy up the add/edit forms for the demographic fields.'18:45
aelknerwhat would like done to make them 'tidy'?18:45
th1aI'm just checking to see if you're waiting for me.18:45
th1aWell...18:46
aelkneri kind of was18:46
th1aDoes the spacing look right?18:46
th1aIS the spacing right?18:46
aelkneri was fixing bookmarks in my browser in the meantime18:46
aelkneri need to pull up the page again18:46
th1aWe just need to get to the point where you're following the spec automatically.18:48
aelkneri didn't code the form macros, but once a solution for those are found18:48
aelknerthen the solution would apply to all forms rendered, right?18:48
th1aI have no idea.18:49
th1aWhy is the spacing wrong now?18:49
aelknerreplaceafill, is there something simple i need to do to wrap the form in a div of a certain class?18:49
replaceafillaelkner use a custom template?18:49
replaceafillwhy do you want to do that?18:49
aelknerwho said anything about a custom template?18:50
aelkneri use the form macro18:50
aelknerso if you already solved the css for that18:50
aelknerthen why would it not look good here?18:50
replaceafilldefine here?18:51
replaceafillurl for the form?18:51
aelkneradd demo field18:51
aelknerhttp://69.164.203.135:36660/demographics/addText.html18:51
replaceafillaelkner the form is using the right css18:53
replaceafillyou should remove the label "Add new Field" btw18:54
aelknerreplaceafill, if you and th1a say the css is right, i have no argument18:54
aelknerlabel = None?18:54
aelknerin the view class?18:54
replaceafillto me, all those hints are too much18:54
replaceafillaelkner correct18:54
th1aLook, I see extra spacing at the top, don't I?18:55
* th1a fires up firebug.18:55
replaceafillth1a they're designed that way18:55
replaceafillthat fieldset has no legend18:55
replaceafillthat's all18:55
th1aAh.18:55
th1aOK, it needs a legend.18:55
th1aFair enough.18:56
aelknerreplaceafill, we have flourish versions of the form macros?18:56
aelknerotherwise, why is no legend rendered?18:57
replaceafillyes18:57
aelknerah18:57
replaceafillaelkner fieldsets legends are not z3c.form18:57
replaceafillit's us18:57
th1a"Field Details"18:57
th1aThat's the legend.18:57
th1aNo "Add new Field"18:57
aelknerquestion:18:57
aelkneron field edit, for instance, Change information for Ethnicity18:58
aelknershould i be doing label = None for edit views as well18:58
aelkner?18:58
replaceafillaelkner we talked about this yesterday18:59
aelknerso remind me today!18:59
replaceafillyou use a label when you want a label18:59
aelkneri'm asking because i don;t think what i want is the correct deciding factor18:59
aelknerth1a, do you want the aforementioned label for edit views?19:00
th1aChange information for Ethnicity?19:00
th1aI'll fix the text after the layout.19:01
th1aRight now all I can't think about anything other than "Why does this look awful?"19:01
aelknerreplaceafill, can you fix the macro for th1a?19:01
replaceafillth1a i screwed up the <p> tags19:01
replaceafillit's related to your comment about the footer19:02
th1aaelkner: Can you put the fieldset title in, please.19:02
replaceafillremember?19:02
th1aaelkner: "Field Details"19:02
th1aNo "Add new Field"19:02
aelknerif replaceafill is making changes to the macors, then let him do it please19:02
replaceafillth1a so, hints are using a wrong margin19:02
aelknerif i need to change something in my view class to make the form come out right, let me know19:02
th1aOK, let's start with the fieldset question.19:03
th1aWhat do we need to do to get a title in there?19:03
th1aThis should be an easy one.19:05
aelknerreplaceafill, you're making changes to z3c-schooltool-form.pt, right?19:05
replaceafillone sec19:05
replaceafillth1a see a slight difference?19:06
replaceafillhttp://69.164.203.135:36660/demographics/addText.html19:06
replaceafillhttp://69.164.203.135:6660/demographics/addText.html19:06
th1aThat's better.19:07
replaceafillaelkner sync with trunk if you want the css fix19:07
aelknerok19:07
th1aNow... fieldset title?19:08
replaceafillok, for fieldsets i've been using some methods created by yvl19:08
replaceafillthat create the fieldset19:08
replaceafills19:08
replaceafilldef buildFieldsetGroups19:10
aelknerthe latest is loaded in my instance19:13
aelknerreplaceafill, i'll sync again when you say to do so19:13
replaceafillshould the title of the view be something like: Demographics fields New Text Field?19:14
replaceafillDemographics fields, the title19:14
replaceafillNew text field, subtitle19:14
aelknerwe want to use title/subtitle, no?19:14
aelknerwe have black and grey for that19:14
replaceafilli only see title: New Text Field19:15
aelkneri thought it looked good with person views19:15
replaceafillit does19:15
aelknerreplaceafill, yeah, i haven't put a subtitle in yet19:15
aelkneri'm waiting for th1a to discuss those things19:15
replaceafilli thnk New Text Field should be the subtitle19:15
replaceafillok19:15
aelknerbut we still have the macro to fix, right?19:15
aelknerthat's what you're doing with th1a right now, correct?19:16
replaceafillaelkner no19:16
replaceafilllet me try to explain19:16
th1aIt could be Demographics: New Text Field19:16
aelknerreplaceafill, go ahead19:16
replaceafillok19:16
th1a(without the actual colon)19:16
aelknerth1a, understood19:16
replaceafillaelkner for forms when we use fieldsets like:19:17
replaceafillAdd Person19:17
replaceafillEdit Person19:17
replaceafilletc19:17
replaceafillwe're using a custom template19:17
aelknerotherwise, the macro19:18
replaceafillbasicperson/browser/templates/f_person_form.pt19:18
replaceafillfor example ^19:18
replaceafillit's customized to work with:19:18
replaceafillbasicperson.browser.person.FlourishPersonAddView.buildFieldsetGroups19:19
aelknerunderstood19:19
aelknerz3c-schooltool-form.pt is the macro19:19
replaceafillso, if you want fieldsets (even just one), that's all we got so far19:19
aelknershouldn't we just be changing that pt file?19:19
aelknersince demo, and most, add/edit views will use that19:20
replaceafillwe should, as we should have a base class for that19:20
aelkneri think the base classes we have are meant to work with that19:20
aelknerflourish.page.Page19:21
aelkneri don't know19:21
aelknerhaven't grokked the whole skin paradigm yvl put together19:21
aelknerbut the idea should be to NOT be creating custom forms19:21
aelknerthe person case is understanable19:21
aelknerbecause we don't have a general pattern to extrapolate our there19:22
aelknerat least, not for now19:22
aelknerbut in general, we should be using the form macros (and by that i mean pt files)19:22
aelknerand just override the base classes to provide things like label19:23
aelkneryou know, i had in mind to create one for the fieldsets case19:23
aelknerso that the person forms were not a special case19:23
replaceafillaelkner i wouldnt right now19:23
aelkneryeah, i wouldn't either19:23
replaceafilli'm waiting for the tests to come up to the picture19:23
replaceafill*then* do that19:24
aelknergood thinking19:24
replaceafillfor now, copy/paste :(19:24
replaceafill(it sucks but...)19:24
replaceafillhelps us move quickly19:24
aelknerwatch out on letting that go too long19:24
th1aDo we really need to wait?19:24
th1aAre we anticipating unexpected surprises in forms?19:25
aelknerwell, the person special case could be generalized is all i was saying there19:25
aelknerb ut otherwise, we are using the form macro in the case of demos19:25
aelkneri was just saying that we need to keep using the macros19:26
replaceafillcontacts for example need a sligthly modified version of the f_person_form.pt template19:26
replaceafilljust to include the person id19:26
replaceafillthat helps you to get back to the person view19:26
th1aOK, actually, I should shut up, because I don't want to start hearing about how a form can't do a certain thing because of the macro whatever.19:27
replaceafill:D19:27
th1aCopy/paste FTW!19:27
replaceafill:))))19:27
aelknerth1a, you make an interesting point19:27
aelknerit is very difficult, i'd say an art, to come up with the most helpful generalization19:28
aelknerthat is what the macros are for19:28
aelknerso that if i want to make a form, i don't want to have to create a template19:28
aelknerwhen all that is different about it is what fields it has (python)19:29
th1aYes, let's charge ahead as we've been doing.19:29
aelknerwhat labels, and other lists of dicts a python view class can have19:29
aelkneryes, we've been doing that19:29
aelknerbut we have to be flexible in allowing ourselves to add to the generalization where it makes sense19:30
aelknerso in the case replaceafill just mentioned19:30
aelknerwe need out navigation links, and modal links/devs19:30
aelknerto be part of the macro process19:30
aelknercontrolled by view class python code19:30
aelkneri believe that is in fact what yvl has been working on19:30
th1aYes.19:31
th1aOK, so do we know how to add the fieldset title?19:31
aelknerlegend19:31
aelknerwhat about the line that is drawn around it?19:31
aelknerdon't fieldsets have that by default19:32
aelkneror did you guys css that out?19:32
replaceafillyou mean border?19:32
th1aLook at the UWG.19:32
th1aThat is your bible, aelkner.19:32
aelknerno kidding, but that doesn't mean i've looked at that particular page recently19:33
aelkneri was asking if you guys have addressed this with your css19:33
replaceafillaelkner you mean border for the fieldset?19:33
aelkneryes19:33
replaceafillaelkner the guidelines dont use borders19:34
replaceafillso we dont either19:34
* Lumiere drools on his new HP TouchPad19:34
th1aLumiere:  Is that the tablet?19:34
th1aWebOS?19:34
aelknerth1a, so the fieldset just needs a legend19:35
Lumiereyea19:35
th1aYES.19:35
Lumiereso gorgeous19:35
th1aAlmost as pretty as an iPad, I hear.  ;-)19:36
Lumiereprettier19:36
aelknerLumiere, didn't HP buy Palm recently?19:36
Lumiereand with better accessories19:36
Lumiereyea19:36
aelkneri believe Palm had the only multitasking OS at that point19:36
Lumierehence why it is the HP TouchPad instead of the Palm TouchPad19:36
Lumieresi19:36
aelknerreplaceafill, what view class variable should go as fieldset legend19:37
aelknerAdd New Text, for instance?19:37
aelkneri believe that is the title attibute19:38
th1aUh?19:38
replaceafillaelkner we dont have a class for that!19:38
th1aHow about some plain old text?19:38
th1a"Field Details"19:38
aelknerok, i lied earliet when i said i was using the flourish macro19:39
aelkneri create my own template (bad, bad, slap the back the back of the hand)19:40
replaceafill¬¬19:40
aelknerf_demographic_field_edit.pt, containing:19:40
aelkner<div>19:40
aelkner  <div metal:use-macro="macro:form" />19:40
aelkner</div>19:40
aelknerthe macro that gets rendered there is from the old skin as far as i can tell19:41
aelknerreplaceafill, unless you know of a flourish version of that macro19:41
aelknerreplaceafill?19:42
replaceafillz3c_form_edit.pt19:42
aelknerold skin19:42
replaceafillno, skin/flourish/templates19:43
aelkneroh?19:43
aelknerah, that was my mistake for not using <configure package="...flourish'>, right?19:44
aelknerthen i could just name that template and not have to have created my own19:44
replaceafillyou will need your own if you want the fieldsets functionality...19:45
aelknerunless we create one and put it in the flourish skin19:45
replaceafillyep19:45
aelknerbtw, z3c_form_edit.pt just renders the macro, which IS old skin19:46
replaceafillcorrect19:46
aelknerand the macros has the fieldset that doesn't have a legend19:46
aelkneractually, it does have one, just needs the right view class attribute19:47
aelknerreplaceafill, i continue to be confused here19:48
aelknerin the old skin we have z3c-schooltool-form.pt19:48
aelkneris that the form macro?19:48
replaceafillaelkner ... check skin/flourish/instance/z3cform.zcml19:48
replaceafillthose are our  macros ;)19:49
aelkneri was just there19:49
aelkneryeah, so we don't have flourish versions of those, right?19:49
aelknerthat's what we would need19:50
aelkneri do see the templates are in flourish19:50
replaceafillwe have 3 macros in flourish:19:50
replaceafilldisplay, form, subform19:50
replaceafillwith their own tempaltes19:51
replaceafillthe rest comes from the old skin19:51
aelknerregisteded how?19:51
aelknerthe new ones19:51
replaceafilltop of that file19:51
* replaceafill waits for aelkner to notice the inline <configure....>19:52
replaceafill<configure package="schooltool.skin.flourish">19:52
aelknerz3cform.zcml?19:52
replaceafillyes...19:52
replaceafillline 719:52
aelkner<z3c:macro?19:53
replaceafill:|19:53
replaceafill  <configure package="schooltool.skin.flourish">19:53
aelknerthat's not line 719:53
replaceafillthat's line 7 aelkner19:53
aelknerz3crom.zcml begins:19:54
aelkner<configure19:54
aelkner    xmlns="http://namespaces.zope.org/zope"19:54
aelkner    xmlns:browser="http://namespaces.zope.org/browser"19:54
aelkner    xmlns:z3c="http://namespaces.zope.org/z3c">19:54
aelkner  <!-- form macros -->19:54
aelkner  <z3c:macro19:54
replaceafillhttp://bazaar.launchpad.net/~schooltool-owners/schooltool/flourish/view/head:/src/schooltool/skin/flourish/instance/z3cform.zcml19:55
replaceafillat 10:48 i said:19:55
aelknerwell, it would help if you mentioned that you were looking at a different file19:55
replaceafill"aelkner ... check skin/flourish/instance/z3cform.zcml"19:55
replaceafill;)19:55
aelkneralso titled z3cform.zcml19:55
replaceafillit seems like in fact didnt help :(19:56
replaceafillanyway19:57
aelknerwell, it does help to know we have macros and where19:57
replaceafillline 7 register the new macros for the flourish templates19:57
replaceafillso, every time you do:  <div metal:use-macro="macro:form" />19:57
aelknerbtw, since flourish layer is not derived from schooltool layer, we only have those three macros for now, i think19:57
aelkneractually, it's not just three19:58
aelknerthe whole file looks like a copy of the old skin19:58
aelknerwith flourish layer instead of schooltool layer19:58
aelknerof course, that allows us to get to the point of this exercise, to change the form macros to have legend19:59
aelknerreplaceafill, skin/flourish/templates/z3c-schooltool-form.pt20:00
aelknerline 51, a fieldset with no legend20:00
replaceafillyeah20:01
aelknerline 87: a fieldset with legend = view label20:01
replaceafillyep20:02
aelknerwhat do you think of all of that stuff?20:02
replaceafillfor some reason we have never given z3c.form groups a chance20:03
replaceafillthat legend you see is for groups20:03
aelknerso groups are already defined for z3c form base classes?20:03
replaceafillyep20:04
aelknerso we should have been using those for person edit views?20:04
replaceafilldont know20:04
aelkneryou, me, yvl must put our heads together on this20:04
replaceafillbut i think the "visual" result would be the same20:04
aelkneri propose it as part of tuesday meeting agenda20:05
aelkneror post-meeting20:05
aelknerbut it's got to get done20:05
aelknerwe all need to understand this stuff the same20:05
aelknerand start using a predictable codng pattern20:05
th1aWhy WOULDN'T we use them?20:05
aelknerwe should if we understand what the implications/limitations are20:06
th1aMaybe we should just try it.20:06
replaceafillback to the past: http://schooltool.pov.lt/irclogs/%23schooltool.2010-11-05.log.html#t2010-11-05T15:42:4820:06
* replaceafill goes and codes the password for using groups!!! :D20:07
replaceafill*form20:07
th1aaelkner:  If you want you can just get resource attributes caught up to person demographics.20:08
aelknerth1a, definitely i'll do that when we are decoupled20:08
aelknerreplaceafill, consider this20:08
aelknerthe template assumes groups is a list of views20:08
aelknerso if you are coding something, please come up with a descriptive method that abstracts that out20:10
replaceafill"Group forms allow you to split up a form into several logical units without much overhead. " :)20:10
replaceafill"Additionally, you can specify a label, which is a human-readable string that can be used for layout purposes."20:10
aelkneryeah, it is the zope paradigm taken to heart20:10
replaceafillhttp://pypi.python.org/pypi/z3c.form#group-forms20:10
aelkneri just think we need a guide of some sort20:10
aelknerif we are going to need to start writing view classes for view classes20:11
aelknerin a way, we are already doing some of that with the viewlets20:11
aelknerbut i'm just saying, we need to be careful not to make our code too bloated20:11
aelknerwith all these view/viewlet lookups20:11
aelknerit's very costly spending the time to track that stuff down, and until we solve that20:12
aelknerwe're throwing away valuable time that cold be used to actually make forms or the users!20:12
aelknerfor the users20:12
aelkneragain, i hope yvl reads this part and is prepared to discuss tuesday20:13
th1aWhy don't we just try using z3c.form group forms?20:14
aelknerhaven't spent the time yet figuring out how one would do that20:15
aelkneri can do that now if you'd like20:15
replaceafillas aelkner said, it's like the viewlet approach, where you split the functionality20:16
replaceafilli'd say we wait for yvl opinion20:16
replaceafillhe's the one who knows z3c.form best20:16
th1aOK, but can somebody give me a fieldset title?20:16
replaceafillD:20:16
th1awtf?20:16
aelknerth1a, patience20:16
aelknerhere's the status20:17
th1aAll I wanted was a Pepsi.20:17
aelkner:)20:17
replaceafill:)))))20:17
th1aBut she wouldn't give it to me!20:17
aelknerwe have a macro that is meant to work to create forms that have no legend20:17
aelknerwe could change that in flourish if we want to20:17
aelknerthen groups has nothing to do with it20:17
th1aAll I know is that we have other forms with fieldset titles.20:17
aelkneractually, groups is for the perso edit case20:17
th1aAll I need is a fieldset title.20:17
th1aIf you guys don't want to make a decision right now, fine, let's stop talking about it.20:17
th1aI just need a fieldset title.20:18
aelknerth1a, fieldset title: view title?20:18
aelknerremember, you can think about this with us20:18
aelknerviews have titles20:18
th1aI don't care why.20:18
aelknersubtitles20:18
th1aI want a fieldset title.20:18
replaceafillaelkner give the man a fieldset title!20:18
* aelkner pictures a baby carriage with screaming sounds coming out20:19
aelknerok, i'll change the macro to use the view title for the legend20:19
aelknergive me a second, and i'll do it rght now20:19
th1aI'm thinking more like this: http://www.youtube.com/watch?v=LoF_a0-7xVQ20:19
replaceafillaelkner the macro?!?!20:19
th1aThe fieldset title is "Field Details"20:19
replaceafillaelkner you mean your own template right?20:19
aelknerth1a, lol on the vidoe!20:20
aelknerhillarious!20:20
aelkneri'm dying here20:21
th1aBack to the 80's.20:21
replaceafill:D20:21
aelknerthat's one of the best parodies of non-musical music that i've ever seen20:22
th1aIt isn't really a parody.20:22
aelknerpartly, i'm joking20:22
aelknerpartly, i'm speaking of the genre, but in this case, it's brilliant to me20:23
aelkneri mean, he's not singing, he's ranting20:23
aelknerbut what energy!20:23
th1aIt is kind of commercial.20:23
replaceafillok, back to passwords20:24
th1aaelkner:  Are you giving me a fieldset title?20:26
aelknertic, tic20:26
aelknerth1a, http://69.164.203.135:36660/demographics/addText.html20:27
th1aYes, but he fieldset title I want is "Field Details"20:28
th1aI can't haz?20:28
aelknerwell, that's why i asked about what to put there, title, subtitle20:30
aelkneri know it's not yor concern how we code it20:30
aelknerbut i think you could help come up with a pattern20:31
aelknerfor these cases in general20:31
aelknerwe have title to the left, subtitle in grey after that20:31
aelkneri suppose we cold also have a label attribute20:31
aelknerand use that for the fieldset label20:31
aelknerand then you could just specify those three things each time20:32
aelknerspeed up our communication here20:32
aelknerreplaceafill, what do you think about title, subtitle, label (for the fieldset)?20:32
replaceafilli dont like your change20:32
replaceafillhttp://bazaar.launchpad.net/~aelkner/schooltool/flourish/revision/294220:33
th1aOK, how about this:  the fieldset label should NEVER be the same as the page title.20:33
aelknersaying what something is not is a start, but not a proper definition20:34
th1aIt is just some additional text.20:34
aelknerreplaceafill, saying you don't like something without offering alternative also not optimal20:34
th1aIt has to be written.20:34
aelknerwe have the three places20:35
th1aIt always has to be specified.20:35
th1aThere may be multiple fieldsets.20:35
aelknerthat's where groups comes in20:35
th1aYes!20:35
aelknerbut in the non-groups case20:35
th1aThen there is one group!20:35
aelknerit doesn't work that way20:36
aelkneradd/edit views use z3c.formlib20:36
aelknerthere is a class attribute called fields20:36
aelknerthat is for the main fieldset20:36
aelknerwhich until i just changed it, had no legend20:37
aelknerthe z3c formlib classes supposrt gourps as well20:37
aelknerbut that's more for custom cases20:37
aelknercomplex forms20:37
aelknersubforms, if you will20:37
th1aSo can't we just do whatever we did in persons/add.html?20:37
aelkner95% ofr the cases not interested20:37
aelknera custom form, bad example20:38
th1aWell, I'm thinking it might be the best example.20:38
aelknerbest example of what?20:39
aelknerreplaceafill, i haven't heard your counterproposal to your objection20:39
th1aOf how to create forms in SchoolTool.20:39
aelkneroh, you're jsut referring to user perspective, not code pattern, that's different20:40
aelkneri understand that you want a legend20:40
th1aIt isn't clear to me that it is that much worse from a code perspective.20:40
th1aYou guys don't seem too excited about the alternatives.20:41
aelknerdon't understand, what is worse than what?20:41
aelkneror not worse20:41
th1aJust making cursom views.20:41
replaceafillsorry i was away :)20:41
replaceafillaelkner because your using a new attribute20:41
th1aDoesn't seem as painful as... whatever else we're trying to do.20:41
aelknerth1a, the pain has come as a result of not doing what we need to do20:42
replaceafillaelkner to me if you want to make a change like that, you need to get rid of the <h3> in the template20:42
aelknernot solving coding patterns and design by hacking is how the codebase gets ugly20:42
replaceafillwhich lives in another macro20:42
replaceafilland use label instead20:43
replaceafillwhich is part of z3c.form base classes20:43
aelkneri suggested using label, so you are in agreement20:43
aelknertitle, subtitle, label20:43
replaceafilltitle and subtitle are not part of z3c.form20:43
aelknerbut they appear at the top20:43
replaceafilli'm talking forms here20:44
replaceafillthat's flourish20:44
replaceafilli care about forms right now20:44
aelkneri'm just saying, th1a needs a way to communcate to us what he wants where20:44
aelknerso he can say title = ?, subtitle = ?, legend (lebel) - ?20:44
replaceafilli havent had trouble communicating with th1a so far :)20:44
th1aI want to be able to specify fieldset labels explicitly, that's it.20:44
replaceafillwell, a few times i misunderstand things tbh :D20:44
aelkneri think we have it20:45
aelknersay 'label' and i'll know what you are referring to20:45
aelknerbut i was also going to ask you about the titles and subtitles20:45
aelknerwe should work those out at the same time20:45
aelknersince the user will see all three20:45
aelknerthey should work together to make the point20:45
aelknerDemographics, Add Text Field, Field Details?20:46
aelkner(title, subtiel, label)20:47
th1aI'm using the terminology in the UWG, my bible.20:47
th1aFieldset title.20:47
th1aBut yes, that's what I want aelkner.20:47
aelknerok20:47
th1aI've been saying that for hours.20:47
aelknerthat's why i knew what to put there just now :)20:47
aelknerreplaceafill, i'll change the macro to render view/label20:48
replaceafillaelkner that's not enough20:48
replaceafillyou'll get the <h3> above20:48
th1atbh, I figured we'd be spending the first few weeks ONLY torturing ourselves this way.  We've really done very well.20:48
aelknerth1a, sorry you feel tortured while discussing coding patterns20:49
*** ignas has joined #schooltool20:50
aelkneri shouldn't have forced you to think about the pieces of the view as class attributes20:50
aelkneri do think we need to agree on names for the various pieces of the views20:50
aelknerso you can say change the this to this20:50
replaceafilli've always thought we should discuss general design concerns when yvl is available20:51
th1aWell, if in doubt, use the terms used in the UWG.20:51
aelknerreplaceafill, what class attribute can we use in your opinion?20:53
aelknershold i add a new one to flourish.page.Page?20:53
aelknerlegend?20:54
aelknerlegend = None bu default20:54
replaceafillaelkner why dont you workaround the issue and wait for us to come up with a solution on tuesday20:54
replaceafill(if we come up with a solution on tuesday)20:54
th1aWho calls it a legend anyhow?20:54
aelkner<legend>20:54
aelknerthat's the html tag20:54
th1aAh.20:54
aelknerit's a stupid name actually20:55
th1aIt isn't really a legend.20:55
aelknerlegends are supposed to be boxes at the bottom of a page20:55
aelknerwho knows why html people decided on that20:55
aelknerreplaceafill, as far as workaround, there is none20:56
aelkneri'm not going to abandon the macro20:56
* replaceafill sighs...20:56
aelknerand copy a hundred lines of pt each time i need a new view20:57
replaceafillaelkner ok, you come up with a solution and all of us discuss it on tuesday20:57
replaceafilli can't20:57
replaceafilland i won't20:57
aelknerfine20:57
aelkneri will change the base view classes and add a legend attrubute and use it in the macto templte20:58
replaceafilljust dont break the other views ;)20:58
aelkneradding a new attribute can't break anything old :)20:58
replaceafillgo ahead then20:59
* replaceafill goes to get lunch21:18
*** ignas has quit IRC21:39
th1aaelkner:  Incoming.22:15
th1aForm text:22:15
th1aTitle: As it should appear on forms and reports.22:15
th1aID: A unique one word identifier.22:15
th1aRequired: (none)22:15
th1aLimit to: If you select one or more groups below, this field will only be displayed in forms and reports for the selected groups.22:15
th1aChange "Add" to "Submit"22:15
th1aI guess Title: As it will appear on forms and reports.22:15
th1a Limit to: If you select one or more groups below, this field will only be displayed in forms and reports for  members of the selected groups.22:16
aelkneri'll try it out22:20
th1areplaceafill: http://design.canonical.com/brand/Pictograms/PNG_files/HEX/UBUNTU_ORANGE_HEX/22:21
aelknerth1a, one problem22:22
th1aYes?22:22
aelknerthe changes you suggest above are controlled by the interface class in python22:23
aelknerchanges there will change the old skin22:23
th1aGod, please.22:23
th1aChange the old skin.22:23
aelknerno, that's ok22:23
aelkneri just threw up the warning22:23
aelknerbecause i wasn't sure if we were religious about not breaking old skin22:24
aelknerwhile we change the new skin22:24
aelknerthe onlne docs will stop natching22:24
aelkneri'm not sure how much this matters, that's up to you22:25
aelknerhow long will we be supposrting the old skin22:25
th1aNot at all, really.22:25
th1aIt won't change the old packages.22:25
aelknerwell, that makes it easier22:25
aelknerand if functional tests test for interface values, we'll just fix those in the old skin22:26
aelknerwhen we do get around to dealing with tests22:26
aelkneri'm sure we've already broken a number of old skin tests, so it's not like th efirst time22:27
aelkneri'll move on and not worry about it22:27
aelknerth1a, btw, 'one word identifier' may not be clear to non-techies22:29
aelknerattr_name is one identifier, but two words22:30
th1aCompared to what.22:30
aelkneryeah, i'm not offering a counter proposal22:30
aelknerso i'm guilty of the same thing i complain about22:30
th1aOnly a techie would think about underscores.22:30
aelknerit's probabl ok now that i think aout ity22:31
th1aI guess "A unique short identifier."22:31
th1a?22:31
th1aI mean, what do we do with spaces there anyhow?22:31
*** ignas has joined #schooltool22:32
aelknerthat's a good question22:33
aelknerPythonIdentifier is the type of the field22:33
aelknercold you try putting something illegal and see the error22:33
aelkneri'm testing out changes22:33
aelknernever mind22:34
aelkneri'm there now22:34
th1aThere were errors.  "Raised if the Validation process fails."22:34
th1aThat's pretty useful.22:34
aelknerRaised if the Validation process fails22:34
aelkner\that's a bad error message22:34
th1aNo shit.22:34
th1aWhere's it coming from?22:34
aelknerprobably the standard validator class22:35
aelkneri'll have to look22:35
th1akk22:35
aelknerwe would need to come up with our own validator22:37
aelknerwhich means we don't get help from the zope people coming up with a wa to describe the fieldy22:37
th1awtf.22:37
th1aCan we at least override their generic message?22:38
aelknerthat's what the validator wold be for22:38
aelkneri will have to figure out how to add one22:38
aelknerwe have examples22:39
th1aI guess that's probably not much code once you know how to do it.22:39
th1aYes, it is something you need to know.22:39
aelkneryes22:39
aelkneri've done it before, but i don't hold all of my experiences in my head22:39
aelknerexamples help with that22:39
aelkneri just have to find one22:39
th1aAlso we need the properly styled error notification at the top.22:44
th1aAnd for the record, I don't think these should be modals anymore.22:44
aelknerok22:45
aelknerone less thing to have to do22:45
aelknerreplaceafill, ayt?22:50
* replaceafill is back23:10
ignaswb!23:12
ignas:)23:12
replaceafill:D23:12
*** th1a has quit IRC23:39

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!