aelkner | th1a, i swapped the student and teacher columns to match the order found in the edit views | 00:17 |
---|---|---|
aelkner | looking at it, i wonder, could there be enough room for Students | Teachers | Administrators as headings? | 00:32 |
*** replaceafill has joined #schooltool | 00:41 | |
replaceafill | hhhmm the way cambodia is starting to set up the new instances seems wrong to me... | 01:35 |
*** replaceafill has quit IRC | 02:33 | |
*** th1a has quit IRC | 04:51 | |
*** aks has joined #schooltool | 08:24 | |
*** menesis has joined #schooltool | 10:02 | |
*** ignas has joined #schooltool | 12:16 | |
*** menesis has quit IRC | 13:41 | |
*** menesis has joined #schooltool | 13:56 | |
*** aks has quit IRC | 14:24 | |
*** th1a has joined #schooltool | 15:46 | |
yvl | good morning th1a | 15:55 |
*** ignas has quit IRC | 15:57 | |
*** ignas has joined #schooltool | 16:01 | |
*** ignas has quit IRC | 16:21 | |
th1a | Good morning, yvl. | 16:23 |
*** replaceafill has joined #schooltool | 16:25 | |
th1a | hi yvl, replaceafill, aelkner, menesis. | 16:30 |
yvl | good morning :) | 16:31 |
replaceafill | good morning/afternoon | 16:31 |
aelkner | morning | 16:32 |
th1a | OK, any comments on yvl's email? | 16:33 |
aelkner | how about WiderPage as opposed to ExandedPage? | 16:34 |
aelkner | Expanded implies that there is more than normal | 16:34 |
aelkner | wider is what happens when you remove the sidebar | 16:34 |
yvl | ok | 16:34 |
yvl | let's call it WidePage | 16:34 |
aelkner | replaceafill? | 16:35 |
th1a | But we don't have any WidePage yet, correct? | 16:35 |
yvl | we had error pages wide I think | 16:36 |
yvl | as in traceback, not found | 16:36 |
th1a | I mean in flourish. | 16:36 |
yvl | yes, those are in flourish | 16:37 |
th1a | ... I'll shut up. | 16:37 |
th1a | replaceafill: Are you ok with this? | 16:38 |
replaceafill | yvl are we going to remove the condition from the sidebar block? | 16:38 |
yvl | umm, why? | 16:39 |
yvl | what I'm trying to say is | 16:39 |
yvl | if sidebar is empty | nothing | 16:40 |
yvl | on that condition we must render whatever needs to be rendered to keep the layout right | 16:40 |
yvl | or not render anything if CSS permits that | 16:40 |
yvl | I remember central content area was jumping left a bit | 16:41 |
yvl | when sidebar div was empty | 16:41 |
replaceafill | hhmm no, <div class="refine"> showed it's padding, iirc | 16:42 |
replaceafill | and it had another condition not:refine | 16:42 |
replaceafill | that rendered a | 16:42 |
yvl | right | 16:42 |
yvl | because when there's no content, width of empty div was ignored | 16:43 |
yvl | I think that was plainly a hack | 16:43 |
yvl | in any case | 16:43 |
yvl | I probably misunderstood you | 16:44 |
yvl | that happens when reading logs sometimes ;) | 16:44 |
aelkner | so what are we concluding here? | 16:45 |
yvl | just wanted to make sure that | 16:45 |
th1a | I think we're wandering in the dark. | 16:45 |
yvl | the class is not called NoSidebarPage | 16:45 |
replaceafill | i'd say make the whole <div class="refine"> conditional | 16:45 |
yvl | and it is not used to display pages without sidebar | 16:45 |
yvl | and it is called whateverpage | 16:46 |
yvl | and is used to display large content | 16:46 |
aelkner | replaceafill, what about WidePAge? | 16:46 |
yvl | and that tracebacks are readable :) | 16:46 |
yvl | replaceafill - I'm ok with that | 16:46 |
replaceafill | aelkner i dont care about the name, i liked ExpandedPage anyway | 16:46 |
replaceafill | i remember in the early days, like 3 weeks ago :) we even had css for it | 16:47 |
yvl | and that should be back | 16:47 |
* yvl wants readable tracebacks :D | 16:47 | |
replaceafill | +1 | 16:47 |
aelkner | yvl, nothing *should* be a hack | 16:47 |
replaceafill | :| | 16:48 |
yvl | "back", not "hack" aelkner ;) | 16:48 |
aelkner | oh, sorry | 16:48 |
aelkner | so we don't change the page name, right? | 16:48 |
yvl | we can change it to WidePage, BigPage, LargePage or similar | 16:49 |
* yvl is +0 on this | 16:49 | |
replaceafill | +1 on bringing ExpandedPage back :) | 16:49 |
aelkner | i live all of those better than ExpandedPage | 16:49 |
aelkner | but that's only my vote | 16:49 |
aelkner | like all of those, i mean | 16:49 |
yvl | replaceafill, would you be ok with WidePage? | 16:50 |
aelkner | expanded just implies the act of expanding something, adding more | 16:50 |
replaceafill | sure, i'm +0 on the name too | 16:50 |
yvl | WidePage it is | 16:50 |
aelkner | next, class names | 16:50 |
aelkner | there are three options here | 16:50 |
aelkner | 1) do nothing different and drive me crazy with confusing mess | 16:50 |
replaceafill | +1 on dashes | 16:51 |
aelkner | 2) change all classs names to match formlib (stupid library) | 16:51 |
aelkner | 3) have all our names use underscores so we can know that dashed names come from formlib | 16:51 |
aelkner | and ours, not | 16:51 |
replaceafill | aelkner not only formlib (the stupid library), jquery ui | 16:51 |
aelkner | what's with the choice of dashes? | 16:51 |
replaceafill | too | 16:51 |
replaceafill | even zc.table | 16:52 |
yvl | aelkner, internet does that | 16:52 |
yvl | as in - people got kind of used to this | 16:52 |
yvl | I think | 16:52 |
aelkner | what's with these people | 16:52 |
yvl | probably jquery made them used to this | 16:52 |
aelkner | perhaps | 16:52 |
yvl | but it is quite common | 16:52 |
aelkner | if jquery is driving a standard, and you say it is common | 16:52 |
aelkner | then, i guess i'll have to get used to it | 16:53 |
th1a | This is for CSS classes, right? | 16:53 |
aelkner | perhaps we should make all our clas names use dashes | 16:53 |
yvl | right, th1a | 16:53 |
aelkner | th1a, yes | 16:53 |
yvl | I guess so, aelkner | 16:53 |
th1a | Yeah, just different convention than programming languages. | 16:53 |
th1a | There is no subtraction in CSS. | 16:53 |
aelkner | interesting point | 16:54 |
replaceafill | and we have only like 2 or 3 classes in css right now using underscores, so it's easy to fix | 16:54 |
replaceafill | ul.secondary_nav | 16:54 |
aelkner | perhaps the convention was developed just because you couldn't subtract | 16:54 |
yvl | I've also seen people use camelCasedClasses | 16:54 |
aelkner | like it was a way to know for sure that it is a class name | 16:54 |
aelkner | because it couldn't be anything else | 16:55 |
replaceafill | -1 on camelCase | 16:55 |
yvl | :D | 16:55 |
* yvl seconds :) | 16:55 | |
aelkner | -1 on camelCase | 16:55 |
aelkner | how much do we have to change to get everything to be dashes? | 16:55 |
yvl | ok, so for better or for worse, we'll go with dashes from now on | 16:55 |
replaceafill | aelkner not much | 16:56 |
aelkner | i say let's do that and start using that convention everyhwere | 16:56 |
yvl | (even something as old as ST calendar css use combination of camelcase and dashes) | 16:56 |
yvl | +1 aelkner | 16:56 |
aelkner | yvl, let's not use calendar css as justification for anything :) | 16:57 |
yvl | :D | 16:57 |
aelkner | ayway, i'm glad we agreed on this | 16:57 |
aelkner | peace of mind for me and all | 16:57 |
replaceafill | :) | 16:57 |
yvl | cool :) | 16:57 |
aelkner | lastly, th1a's email | 16:57 |
aelkner | i use an espn (usa sports for thise who don't know) | 16:58 |
aelkner | site when i watch my baseball team play | 16:58 |
aelkner | and i love that you can click on a ballplayer and a quick info popup comes up | 16:58 |
aelkner | on it there are links for more serious info, like career stats | 16:59 |
aelkner | that link takes you away from the page | 16:59 |
aelkner | so anyway, it's just as th1a suggested, and it works well | 16:59 |
aelkner | only difference | 16:59 |
aelkner | it is modal, but you can close it simply by clicking somewhere else | 16:59 |
aelkner | it doesn't grey out the rest of the age | 17:00 |
aelkner | so i ask: can we think about having modals that work that way as well | 17:00 |
aelkner | the gerying out the rest of the page is good for dialogs were you change something | 17:00 |
th1a | I'm not sure if I'd technically call them modal. | 17:00 |
aelkner | right | 17:00 |
aelkner | so +1 on not greying out for those? | 17:01 |
yvl | aelkner, you're talking about gradebook student extra details? | 17:01 |
aelkner | yes | 17:01 |
yvl | +1 | 17:01 |
yvl | ;) | 17:01 |
replaceafill | it would work for other things like, Manage contact page | 17:01 |
replaceafill | so you can see the contact details before adding/removing it to the relationship | 17:01 |
yvl | yes | 17:02 |
th1a | I think it could just be a basic dialog. | 17:02 |
aelkner | so calling it modal is a mistake on y part | 17:03 |
th1a | Anyhow, I don't really want to do that right now. | 17:03 |
aelkner | can we call it popup? | 17:03 |
th1a | It is a dialog. | 17:03 |
th1a | That's what the widget is called. | 17:03 |
aelkner | so modal is a modifier | 17:03 |
th1a | Yes. | 17:03 |
aelkner | without the modifier, we mean not modal | 17:04 |
aelkner | ok | 17:04 |
yvl | it is kind of nice when dialogs that aelkner described "disable" the rest of the page | 17:04 |
yvl | but close when user clicks anywhere | 17:04 |
yvl | soft accident prevention, so to say | 17:05 |
aelkner | that's the way my popup menu works in the gradebook | 17:05 |
aelkner | yvl, right | 17:05 |
*** menesis has quit IRC | 17:05 | |
aelkner | anyway, that's all i have for the emails | 17:05 |
th1a | Yes, it should be an option in the jquery widget but isn't. | 17:06 |
th1a | OK, moving on... | 17:06 |
aelkner | it isn't, darn | 17:06 |
th1a | yvl: How is the timetable wizard coming? | 17:06 |
* yvl was naughty today and drifted away do modal dialog plumbing | 17:07 | |
yvl | so no progress on the wizard itself actually | 17:07 |
yvl | umm | 17:07 |
aelkner | we were waiting to hear about the modal plumbing | 17:08 |
yvl | I'm not sure it's worth trying to explain what's the problem here | 17:08 |
yvl | it would take too much time now | 17:08 |
th1a | You're stuck? | 17:08 |
yvl | was stuck | 17:09 |
yvl | got unstuck, narrowed down to two ways to go | 17:09 |
aelkner | i hope you picked the one that was easiest for us to follow :) | 17:09 |
yvl | but run out of steam to be honest | 17:09 |
yvl | aelkner - that is one of the main criteria | 17:10 |
yvl | how to put this | 17:10 |
yvl | th1a, | 17:10 |
yvl | I learned my lesson with the timetables | 17:11 |
yvl | and meetings every day help not to get too deep | 17:11 |
yvl | but I couldn't finish today | 17:11 |
th1a | Sure. | 17:11 |
th1a | No problem. | 17:11 |
th1a | We don't need either today. | 17:11 |
th1a | Thanks, yvl. | 17:11 |
th1a | replaceafill? | 17:12 |
*** replaceafill_ has joined #schooltool | 17:14 | |
replaceafill_ | sorry got disconnected | 17:14 |
*** replaceafill has quit IRC | 17:14 | |
yvl | replaceafill_ - your turn ;) | 17:14 |
*** replaceafill_ is now known as replaceafill | 17:14 | |
th1a | Ah. | 17:15 |
replaceafill | ok | 17:15 |
replaceafill | 1st | 17:15 |
replaceafill | i worked on the bound contact or self contact edit view | 17:15 |
replaceafill | i just have a question | 17:15 |
replaceafill | http://69.164.203.135:6660/persons/alvaro | 17:15 |
replaceafill | click on Contacts | 17:16 |
replaceafill | and next on Sally | 17:16 |
replaceafill | Cunningham | 17:16 |
replaceafill | what should be the subtitle for that page? | 17:17 |
th1a | Well... atm Sally is giving me a traceback! | 17:17 |
replaceafill | th1a !!! | 17:17 |
aelkner | i didn't get one | 17:17 |
th1a | Weird. | 17:18 |
replaceafill | you sure you're not using aelkner's instance? | 17:18 |
yvl | http://69.164.203.135:6660/persons/sc/contact/@@edit.html?person_id=alvaro | 17:18 |
th1a | LocationError: (<schooltool.contact.basicperson.BoundContact object at 0xda84c2c>, 'layout.css') | 17:18 |
aelkner | again, no traceback for me | 17:18 |
replaceafill | th1a sounds like aelkner's instance | 17:18 |
yvl | no traceback for me too | 17:19 |
aelkner | th1a, my instance is 36660, close to 6660, so maybe you're confusing them | 17:19 |
th1a | This is from the manage_contacts page. | 17:19 |
th1a | http://69.164.203.135:6660/persons/sc/contact | 17:20 |
th1a | Gives the traceback. | 17:20 |
replaceafill | th1a ah right! that's the index page | 17:20 |
replaceafill | on self contact :) | 17:20 |
th1a | Ah! | 17:20 |
yvl | right :) | 17:20 |
replaceafill | we need to fix that one too ;) | 17:20 |
th1a | I don't know that we need a subtitle here. | 17:21 |
th1a | If so, "Contact Information" | 17:21 |
replaceafill | ok | 17:21 |
aelkner | anyway, that sounds like out of meeting discussion material | 17:21 |
yvl | Edit Contact Information probably | 17:21 |
th1a | Well, we should all at least review the new pages quickly. | 17:22 |
th1a | So... moving on... | 17:22 |
aelkner | unless yvl wants to put his two cents in L) | 17:22 |
aelkner | :) | 17:22 |
replaceafill | i want yvl's 0.02 on something too | 17:22 |
replaceafill | the password view | 17:22 |
replaceafill | http://69.164.203.135:6660/persons/alvaro | 17:22 |
replaceafill | Password | 17:22 |
replaceafill | vs http://69.164.203.135:6660/persons/manager/password_edit.html | 17:23 |
aelkner | replaceafill, i saw your discussion with th1a about changing own password vs others | 17:23 |
aelkner | i think you guys came to the correct conclusions on distinguishing the circumstances | 17:23 |
aelkner | but you weren't asking me :) | 17:24 |
replaceafill | so, if you go to http://69.164.203.135:6660/persons/alvaro/password_edit.html | 17:24 |
replaceafill | as manager | 17:24 |
replaceafill | and insert 2 different passwords | 17:24 |
replaceafill | you get the error message | 17:25 |
replaceafill | but the form uses an invariant validator | 17:25 |
replaceafill | to check that new password match | 17:25 |
replaceafill | unfortunately invariants are not rendered next to the widgets | 17:25 |
replaceafill | they only appear on <div class="status"><ul class="errors"> | 17:25 |
replaceafill | which we currently hide :( | 17:26 |
yvl | right | 17:26 |
yvl | well, there is this problem, yes | 17:27 |
yvl | but we do want to show form status messages, right? | 17:28 |
replaceafill | yes | 17:28 |
replaceafill | we want <div.status><div.summary> | 17:29 |
replaceafill | btw, if you go to http://69.164.203.135:6660/persons/manager/password_edit.html | 17:30 |
replaceafill | as manager | 17: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 | |
replaceafill | yvl ah sorr | 17:30 |
replaceafill | y | 17:30 |
replaceafill | the question: | 17:30 |
replaceafill | do you know of a way to insert error "views" on a widget? :) | 17:30 |
yvl | I think I saw that somewhere | 17:31 |
yvl | let's not block on this now | 17:32 |
yvl | I'll write if I remember | 17:32 |
replaceafill | ok | 17:32 |
th1a | Why is this different than our other error messages? | 17:32 |
replaceafill | th1a we have this same problem in the person add/edit view | 17:33 |
replaceafill | with passwords | 17:33 |
replaceafill | we use invariant validation there too | 17:33 |
th1a | OK. | 17:33 |
replaceafill | so if you add/edit a person and insert different passwords | 17:33 |
replaceafill | you get the error message but no widget highlighted | 17:33 |
replaceafill | so you dont know what went wrong | 17:33 |
replaceafill | i'll dig into it | 17:33 |
replaceafill | finally, i also applied menesis patch about hiding empty fields | 17:34 |
th1a | OK... | 17:34 |
replaceafill | that's it from me | 17:34 |
th1a | Yes, thanks for that. | 17:34 |
th1a | replaceafill: So you're basically ready to move on for now? | 17:34 |
replaceafill | yes | 17:34 |
th1a | OK. We'll get you set up. | 17:35 |
th1a | aelkner? | 17:35 |
aelkner | i had comments/question for you yesterday afternoon, but i guess you didn't see | 17:36 |
aelkner | anyway, i changed the order of student teacher to match edit views | 17:36 |
aelkner | and added the delete pencil, everything works there now | 17:36 |
th1a | It is helpful if you link to what you're talking about. | 17:37 |
aelkner | i don't know how to do that | 17:37 |
aelkner | it's in the log if that's what you mean | 17:37 |
th1a | uh... | 17:37 |
th1a | LIke http://69.164.203.135:6660/persons/sc/contact | 17:38 |
aelkner | oh, that link | 17:38 |
th1a | That's what we're talking about? | 17:38 |
aelkner | no, i was working on demographic fields | 17:38 |
th1a | See... | 17:38 |
aelkner | well, i didn't think i needed to tell you that! | 17:38 |
th1a | What should I be looking at aelkner? | 17:39 |
aelkner | http://69.164.203.135:36660/demographics/@@index.html | 17:39 |
th1a | OK. | 17:39 |
th1a | We need to tidy up the add/edit forms for the demographic fields. | 17:40 |
aelkner | also, i asked if we couldn't use non-abreviated names for Student | Teacher |... | 17:40 |
th1a | Then we're done with this section? | 17:40 |
th1a | Well... we're maybe pushing it in the width of the title and id column. | 17:41 |
aelkner | i'm done when you say i'm done :) | 17:41 |
th1a | SO let's leave it for now. | 17:41 |
aelkner | ok, again, we don't need to go over details during the meeting | 17:42 |
th1a | But the next thing is cleaning up the add/edit forms. | 17:42 |
th1a | Then that's pretty much it. | 17:42 |
th1a | Do the same thing for Resource attributes. | 17:42 |
th1a | OK. This has been a kind of disorganized Friday meeting... | 17:43 |
th1a | So lets wrap it up. | 17:43 |
aelkner | monday? | 17:43 |
th1a | I did get an estimate from Schwa finally, and it looks good and affordable, so we're going to finalize that. | 17:43 |
th1a | Monday? Oh, July 4. | 17:43 |
th1a | No meeting Monday. | 17:43 |
th1a | See you Tuesday. | 17:44 |
th1a | Good week gentlemen. Have great weekend! | 17:44 |
* th1a drops the bag of gravel. | 17:44 | |
replaceafill | thanks everybody | 17:44 |
yvl | thanks guys | 17:44 |
aelkner | great weekend yvl | 17:45 |
yvl | thanks aelkner :) | 17:45 |
yvl | replaceafill, I can't remember where I saw that | 17:45 |
yvl | validation that is | 17:45 |
yvl | all I remember - it looked hacky :) | 17:45 |
replaceafill | yvl can i suggest a "hack" | 17:45 |
replaceafill | :D | 17:45 |
replaceafill | simple validator on the "new password" field, which checks the request for the "verify_password"? | 17:46 |
replaceafill | checking the request on a simple field validator, i know... | 17:46 |
replaceafill | :) | 17:46 |
replaceafill | HACK! | 17:46 |
yvl | gimme a sec ;) | 17:47 |
replaceafill | k | 17:47 |
* yvl does the smart thing | 17:49 | |
yvl | asks mgedmin how Stephan did that :D | 17:49 |
replaceafill | :| | 17:50 |
yvl | allrighty then | 17:51 |
yvl | do the HACK :) | 17:51 |
replaceafill | :)) | 17:51 |
replaceafill | cool, will do | 17:52 |
yvl | you 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 = view | 17:52 |
replaceafill | that! | 17:52 |
replaceafill | i remembered there was something like error views or something | 17:53 |
replaceafill | yvl is that from z3c.form? | 17:53 |
yvl | yep | 17:53 |
yvl | it will override default widget errors | 17:53 |
aelkner | great stuff to leave for others to explode their brain on :) | 17:53 |
yvl | unless you also put if not widget.error | 17:53 |
yvl | :D | 17:53 |
replaceafill | yvl great, i'll look into that | 17:54 |
aelkner | perhaps if something like this was in it's own method with doc string | 17:54 |
replaceafill | hack will be the final solution :) | 17:54 |
aelkner | hack is design! | 17:54 |
yvl | well, invariant validation is not designed to produce errors on widgets | 17:55 |
replaceafill | correct | 17:55 |
aelkner | just saying: | 17:55 |
aelkner | whenever the cleverness overcomes on of us to hack around a zope paradigm | 17:55 |
yvl | I feel your pain, aelkner | 17:56 |
aelkner | we should put the code aside in a method or something | 17:56 |
aelkner | and document the method, more than just this is a hack | 17:56 |
yvl | in this case probably the code itself will be enough | 17:56 |
aelkner | something that saves the first-time reader time figuring out wtf | 17:56 |
yvl | +1 to that | 17:56 |
yvl | documenting what-the-hell | 17:57 |
replaceafill | i also put XXX: wtf? | 17:57 |
yvl | :D | 17:57 |
yvl | or XXX: well ain't that nice. ;) | 17:57 |
replaceafill | yvl put XXX: pretty isnt it? | 17:57 |
replaceafill | :D | 17:57 |
aelkner | and assume the reader is not capable of holding every last adaptation in their heads at the same time | 17:57 |
yvl | again, +1 | 17:57 |
yvl | allright, time to go home | 17:57 |
aelkner | that's why methods help | 17:57 |
replaceafill | thanks yvl | 17:58 |
aelkner | they provide a name to a concept for startes | 17:58 |
aelkner | starters | 17:58 |
yvl | see you guys next week | 17:58 |
yvl | (and aelkner - I agree with your arguments here) | 17:58 |
replaceafill | maybe we could use this trick: http://www.jensbits.com/demos/dialog/overlayclose/ | 18:22 |
th1a | Oh, I'm sure it is a solvable problem. | 18:25 |
th1a | I'm just not immediately worried about it. | 18:25 |
replaceafill | th1a i forgot to mention the new action link: http://69.164.203.135:6660/persons/alvaro/@@manage_contacts.html?SEARCH_TITLE=%C3%81lvarez | 18:28 |
replaceafill | "Álvaro Álvarez as Contact" | 18:28 |
th1a | Yes. | 18:31 |
th1a | I think that worls. | 18:31 |
th1a | k | 18:31 |
th1a | s | 18:31 |
th1a | You're working on the password now replaceafill? | 18:32 |
replaceafill | yes | 18:32 |
replaceafill | and the contact index page | 18:32 |
replaceafill | well, bound contact index page | 18:32 |
th1a | aelkner: are you tidying those forms? | 18:37 |
aelkner | 'We need to tidy up the add/edit forms for the demographic fields.' | 18:45 |
aelkner | what would like done to make them 'tidy'? | 18:45 |
th1a | I'm just checking to see if you're waiting for me. | 18:45 |
th1a | Well... | 18:46 |
aelkner | i kind of was | 18:46 |
th1a | Does the spacing look right? | 18:46 |
th1a | IS the spacing right? | 18:46 |
aelkner | i was fixing bookmarks in my browser in the meantime | 18:46 |
aelkner | i need to pull up the page again | 18:46 |
th1a | We just need to get to the point where you're following the spec automatically. | 18:48 |
aelkner | i didn't code the form macros, but once a solution for those are found | 18:48 |
aelkner | then the solution would apply to all forms rendered, right? | 18:48 |
th1a | I have no idea. | 18:49 |
th1a | Why is the spacing wrong now? | 18:49 |
aelkner | replaceafill, is there something simple i need to do to wrap the form in a div of a certain class? | 18:49 |
replaceafill | aelkner use a custom template? | 18:49 |
replaceafill | why do you want to do that? | 18:49 |
aelkner | who said anything about a custom template? | 18:50 |
aelkner | i use the form macro | 18:50 |
aelkner | so if you already solved the css for that | 18:50 |
aelkner | then why would it not look good here? | 18:50 |
replaceafill | define here? | 18:51 |
replaceafill | url for the form? | 18:51 |
aelkner | add demo field | 18:51 |
aelkner | http://69.164.203.135:36660/demographics/addText.html | 18:51 |
replaceafill | aelkner the form is using the right css | 18:53 |
replaceafill | you should remove the label "Add new Field" btw | 18:54 |
aelkner | replaceafill, if you and th1a say the css is right, i have no argument | 18:54 |
aelkner | label = None? | 18:54 |
aelkner | in the view class? | 18:54 |
replaceafill | to me, all those hints are too much | 18:54 |
replaceafill | aelkner correct | 18:54 |
th1a | Look, I see extra spacing at the top, don't I? | 18:55 |
* th1a fires up firebug. | 18:55 | |
replaceafill | th1a they're designed that way | 18:55 |
replaceafill | that fieldset has no legend | 18:55 |
replaceafill | that's all | 18:55 |
th1a | Ah. | 18:55 |
th1a | OK, it needs a legend. | 18:55 |
th1a | Fair enough. | 18:56 |
aelkner | replaceafill, we have flourish versions of the form macros? | 18:56 |
aelkner | otherwise, why is no legend rendered? | 18:57 |
replaceafill | yes | 18:57 |
aelkner | ah | 18:57 |
replaceafill | aelkner fieldsets legends are not z3c.form | 18:57 |
replaceafill | it's us | 18:57 |
th1a | "Field Details" | 18:57 |
th1a | That's the legend. | 18:57 |
th1a | No "Add new Field" | 18:57 |
aelkner | question: | 18:57 |
aelkner | on field edit, for instance, Change information for Ethnicity | 18:58 |
aelkner | should i be doing label = None for edit views as well | 18:58 |
aelkner | ? | 18:58 |
replaceafill | aelkner we talked about this yesterday | 18:59 |
aelkner | so remind me today! | 18:59 |
replaceafill | you use a label when you want a label | 18:59 |
aelkner | i'm asking because i don;t think what i want is the correct deciding factor | 18:59 |
aelkner | th1a, do you want the aforementioned label for edit views? | 19:00 |
th1a | Change information for Ethnicity? | 19:00 |
th1a | I'll fix the text after the layout. | 19:01 |
th1a | Right now all I can't think about anything other than "Why does this look awful?" | 19:01 |
aelkner | replaceafill, can you fix the macro for th1a? | 19:01 |
replaceafill | th1a i screwed up the <p> tags | 19:01 |
replaceafill | it's related to your comment about the footer | 19:02 |
th1a | aelkner: Can you put the fieldset title in, please. | 19:02 |
replaceafill | remember? | 19:02 |
th1a | aelkner: "Field Details" | 19:02 |
th1a | No "Add new Field" | 19:02 |
aelkner | if replaceafill is making changes to the macors, then let him do it please | 19:02 |
replaceafill | th1a so, hints are using a wrong margin | 19:02 |
aelkner | if i need to change something in my view class to make the form come out right, let me know | 19:02 |
th1a | OK, let's start with the fieldset question. | 19:03 |
th1a | What do we need to do to get a title in there? | 19:03 |
th1a | This should be an easy one. | 19:05 |
aelkner | replaceafill, you're making changes to z3c-schooltool-form.pt, right? | 19:05 |
replaceafill | one sec | 19:05 |
replaceafill | th1a see a slight difference? | 19:06 |
replaceafill | http://69.164.203.135:36660/demographics/addText.html | 19:06 |
replaceafill | http://69.164.203.135:6660/demographics/addText.html | 19:06 |
th1a | That's better. | 19:07 |
replaceafill | aelkner sync with trunk if you want the css fix | 19:07 |
aelkner | ok | 19:07 |
th1a | Now... fieldset title? | 19:08 |
replaceafill | ok, for fieldsets i've been using some methods created by yvl | 19:08 |
replaceafill | that create the fieldset | 19:08 |
replaceafill | s | 19:08 |
replaceafill | def buildFieldsetGroups | 19:10 |
aelkner | the latest is loaded in my instance | 19:13 |
aelkner | replaceafill, i'll sync again when you say to do so | 19:13 |
replaceafill | should the title of the view be something like: Demographics fields New Text Field? | 19:14 |
replaceafill | Demographics fields, the title | 19:14 |
replaceafill | New text field, subtitle | 19:14 |
aelkner | we want to use title/subtitle, no? | 19:14 |
aelkner | we have black and grey for that | 19:14 |
replaceafill | i only see title: New Text Field | 19:15 |
aelkner | i thought it looked good with person views | 19:15 |
replaceafill | it does | 19:15 |
aelkner | replaceafill, yeah, i haven't put a subtitle in yet | 19:15 |
aelkner | i'm waiting for th1a to discuss those things | 19:15 |
replaceafill | i thnk New Text Field should be the subtitle | 19:15 |
replaceafill | ok | 19:15 |
aelkner | but we still have the macro to fix, right? | 19:15 |
aelkner | that's what you're doing with th1a right now, correct? | 19:16 |
replaceafill | aelkner no | 19:16 |
replaceafill | let me try to explain | 19:16 |
th1a | It could be Demographics: New Text Field | 19:16 |
aelkner | replaceafill, go ahead | 19:16 |
replaceafill | ok | 19:16 |
th1a | (without the actual colon) | 19:16 |
aelkner | th1a, understood | 19:16 |
replaceafill | aelkner for forms when we use fieldsets like: | 19:17 |
replaceafill | Add Person | 19:17 |
replaceafill | Edit Person | 19:17 |
replaceafill | etc | 19:17 |
replaceafill | we're using a custom template | 19:17 |
aelkner | otherwise, the macro | 19:18 |
replaceafill | basicperson/browser/templates/f_person_form.pt | 19:18 |
replaceafill | for example ^ | 19:18 |
replaceafill | it's customized to work with: | 19:18 |
replaceafill | basicperson.browser.person.FlourishPersonAddView.buildFieldsetGroups | 19:19 |
aelkner | understood | 19:19 |
aelkner | z3c-schooltool-form.pt is the macro | 19:19 |
replaceafill | so, if you want fieldsets (even just one), that's all we got so far | 19:19 |
aelkner | shouldn't we just be changing that pt file? | 19:19 |
aelkner | since demo, and most, add/edit views will use that | 19:20 |
replaceafill | we should, as we should have a base class for that | 19:20 |
aelkner | i think the base classes we have are meant to work with that | 19:20 |
aelkner | flourish.page.Page | 19:21 |
aelkner | i don't know | 19:21 |
aelkner | haven't grokked the whole skin paradigm yvl put together | 19:21 |
aelkner | but the idea should be to NOT be creating custom forms | 19:21 |
aelkner | the person case is understanable | 19:21 |
aelkner | because we don't have a general pattern to extrapolate our there | 19:22 |
aelkner | at least, not for now | 19:22 |
aelkner | but in general, we should be using the form macros (and by that i mean pt files) | 19:22 |
aelkner | and just override the base classes to provide things like label | 19:23 |
aelkner | you know, i had in mind to create one for the fieldsets case | 19:23 |
aelkner | so that the person forms were not a special case | 19:23 |
replaceafill | aelkner i wouldnt right now | 19:23 |
aelkner | yeah, i wouldn't either | 19:23 |
replaceafill | i'm waiting for the tests to come up to the picture | 19:23 |
replaceafill | *then* do that | 19:24 |
aelkner | good thinking | 19:24 |
replaceafill | for now, copy/paste :( | 19:24 |
replaceafill | (it sucks but...) | 19:24 |
replaceafill | helps us move quickly | 19:24 |
aelkner | watch out on letting that go too long | 19:24 |
th1a | Do we really need to wait? | 19:24 |
th1a | Are we anticipating unexpected surprises in forms? | 19:25 |
aelkner | well, the person special case could be generalized is all i was saying there | 19:25 |
aelkner | b ut otherwise, we are using the form macro in the case of demos | 19:25 |
aelkner | i was just saying that we need to keep using the macros | 19:26 |
replaceafill | contacts for example need a sligthly modified version of the f_person_form.pt template | 19:26 |
replaceafill | just to include the person id | 19:26 |
replaceafill | that helps you to get back to the person view | 19:26 |
th1a | OK, 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 | :D | 19:27 |
th1a | Copy/paste FTW! | 19:27 |
replaceafill | :)))) | 19:27 |
aelkner | th1a, you make an interesting point | 19:27 |
aelkner | it is very difficult, i'd say an art, to come up with the most helpful generalization | 19:28 |
aelkner | that is what the macros are for | 19:28 |
aelkner | so that if i want to make a form, i don't want to have to create a template | 19:28 |
aelkner | when all that is different about it is what fields it has (python) | 19:29 |
th1a | Yes, let's charge ahead as we've been doing. | 19:29 |
aelkner | what labels, and other lists of dicts a python view class can have | 19:29 |
aelkner | yes, we've been doing that | 19:29 |
aelkner | but we have to be flexible in allowing ourselves to add to the generalization where it makes sense | 19:30 |
aelkner | so in the case replaceafill just mentioned | 19:30 |
aelkner | we need out navigation links, and modal links/devs | 19:30 |
aelkner | to be part of the macro process | 19:30 |
aelkner | controlled by view class python code | 19:30 |
aelkner | i believe that is in fact what yvl has been working on | 19:30 |
th1a | Yes. | 19:31 |
th1a | OK, so do we know how to add the fieldset title? | 19:31 |
aelkner | legend | 19:31 |
aelkner | what about the line that is drawn around it? | 19:31 |
aelkner | don't fieldsets have that by default | 19:32 |
aelkner | or did you guys css that out? | 19:32 |
replaceafill | you mean border? | 19:32 |
th1a | Look at the UWG. | 19:32 |
th1a | That is your bible, aelkner. | 19:32 |
aelkner | no kidding, but that doesn't mean i've looked at that particular page recently | 19:33 |
aelkner | i was asking if you guys have addressed this with your css | 19:33 |
replaceafill | aelkner you mean border for the fieldset? | 19:33 |
aelkner | yes | 19:33 |
replaceafill | aelkner the guidelines dont use borders | 19:34 |
replaceafill | so we dont either | 19:34 |
* Lumiere drools on his new HP TouchPad | 19:34 | |
th1a | Lumiere: Is that the tablet? | 19:34 |
th1a | WebOS? | 19:34 |
aelkner | th1a, so the fieldset just needs a legend | 19:35 |
Lumiere | yea | 19:35 |
th1a | YES. | 19:35 |
Lumiere | so gorgeous | 19:35 |
th1a | Almost as pretty as an iPad, I hear. ;-) | 19:36 |
Lumiere | prettier | 19:36 |
aelkner | Lumiere, didn't HP buy Palm recently? | 19:36 |
Lumiere | and with better accessories | 19:36 |
Lumiere | yea | 19:36 |
aelkner | i believe Palm had the only multitasking OS at that point | 19:36 |
Lumiere | hence why it is the HP TouchPad instead of the Palm TouchPad | 19:36 |
Lumiere | si | 19:36 |
aelkner | replaceafill, what view class variable should go as fieldset legend | 19:37 |
aelkner | Add New Text, for instance? | 19:37 |
aelkner | i believe that is the title attibute | 19:38 |
th1a | Uh? | 19:38 |
replaceafill | aelkner we dont have a class for that! | 19:38 |
th1a | How about some plain old text? | 19:38 |
th1a | "Field Details" | 19:38 |
aelkner | ok, i lied earliet when i said i was using the flourish macro | 19:39 |
aelkner | i create my own template (bad, bad, slap the back the back of the hand) | 19:40 |
replaceafill | ¬¬ | 19:40 |
aelkner | f_demographic_field_edit.pt, containing: | 19:40 |
aelkner | <div> | 19:40 |
aelkner | <div metal:use-macro="macro:form" /> | 19:40 |
aelkner | </div> | 19:40 |
aelkner | the macro that gets rendered there is from the old skin as far as i can tell | 19:41 |
aelkner | replaceafill, unless you know of a flourish version of that macro | 19:41 |
aelkner | replaceafill? | 19:42 |
replaceafill | z3c_form_edit.pt | 19:42 |
aelkner | old skin | 19:42 |
replaceafill | no, skin/flourish/templates | 19:43 |
aelkner | oh? | 19:43 |
aelkner | ah, that was my mistake for not using <configure package="...flourish'>, right? | 19:44 |
aelkner | then i could just name that template and not have to have created my own | 19:44 |
replaceafill | you will need your own if you want the fieldsets functionality... | 19:45 |
aelkner | unless we create one and put it in the flourish skin | 19:45 |
replaceafill | yep | 19:45 |
aelkner | btw, z3c_form_edit.pt just renders the macro, which IS old skin | 19:46 |
replaceafill | correct | 19:46 |
aelkner | and the macros has the fieldset that doesn't have a legend | 19:46 |
aelkner | actually, it does have one, just needs the right view class attribute | 19:47 |
aelkner | replaceafill, i continue to be confused here | 19:48 |
aelkner | in the old skin we have z3c-schooltool-form.pt | 19:48 |
aelkner | is that the form macro? | 19:48 |
replaceafill | aelkner ... check skin/flourish/instance/z3cform.zcml | 19:48 |
replaceafill | those are our macros ;) | 19:49 |
aelkner | i was just there | 19:49 |
aelkner | yeah, so we don't have flourish versions of those, right? | 19:49 |
aelkner | that's what we would need | 19:50 |
aelkner | i do see the templates are in flourish | 19:50 |
replaceafill | we have 3 macros in flourish: | 19:50 |
replaceafill | display, form, subform | 19:50 |
replaceafill | with their own tempaltes | 19:51 |
replaceafill | the rest comes from the old skin | 19:51 |
aelkner | registeded how? | 19:51 |
aelkner | the new ones | 19:51 |
replaceafill | top of that file | 19:51 |
* replaceafill waits for aelkner to notice the inline <configure....> | 19:52 | |
replaceafill | <configure package="schooltool.skin.flourish"> | 19:52 |
aelkner | z3cform.zcml? | 19:52 |
replaceafill | yes... | 19:52 |
replaceafill | line 7 | 19:52 |
aelkner | <z3c:macro? | 19:53 |
replaceafill | :| | 19:53 |
replaceafill | <configure package="schooltool.skin.flourish"> | 19:53 |
aelkner | that's not line 7 | 19:53 |
replaceafill | that's line 7 aelkner | 19:53 |
aelkner | z3crom.zcml begins: | 19:54 |
aelkner | <configure | 19: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:macro | 19:54 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool/flourish/view/head:/src/schooltool/skin/flourish/instance/z3cform.zcml | 19:55 |
replaceafill | at 10:48 i said: | 19:55 |
aelkner | well, it would help if you mentioned that you were looking at a different file | 19:55 |
replaceafill | "aelkner ... check skin/flourish/instance/z3cform.zcml" | 19:55 |
replaceafill | ;) | 19:55 |
aelkner | also titled z3cform.zcml | 19:55 |
replaceafill | it seems like in fact didnt help :( | 19:56 |
replaceafill | anyway | 19:57 |
aelkner | well, it does help to know we have macros and where | 19:57 |
replaceafill | line 7 register the new macros for the flourish templates | 19:57 |
replaceafill | so, every time you do: <div metal:use-macro="macro:form" /> | 19:57 |
aelkner | btw, since flourish layer is not derived from schooltool layer, we only have those three macros for now, i think | 19:57 |
aelkner | actually, it's not just three | 19:58 |
aelkner | the whole file looks like a copy of the old skin | 19:58 |
aelkner | with flourish layer instead of schooltool layer | 19:58 |
aelkner | of course, that allows us to get to the point of this exercise, to change the form macros to have legend | 19:59 |
aelkner | replaceafill, skin/flourish/templates/z3c-schooltool-form.pt | 20:00 |
aelkner | line 51, a fieldset with no legend | 20:00 |
replaceafill | yeah | 20:01 |
aelkner | line 87: a fieldset with legend = view label | 20:01 |
replaceafill | yep | 20:02 |
aelkner | what do you think of all of that stuff? | 20:02 |
replaceafill | for some reason we have never given z3c.form groups a chance | 20:03 |
replaceafill | that legend you see is for groups | 20:03 |
aelkner | so groups are already defined for z3c form base classes? | 20:03 |
replaceafill | yep | 20:04 |
aelkner | so we should have been using those for person edit views? | 20:04 |
replaceafill | dont know | 20:04 |
aelkner | you, me, yvl must put our heads together on this | 20:04 |
replaceafill | but i think the "visual" result would be the same | 20:04 |
aelkner | i propose it as part of tuesday meeting agenda | 20:05 |
aelkner | or post-meeting | 20:05 |
aelkner | but it's got to get done | 20:05 |
aelkner | we all need to understand this stuff the same | 20:05 |
aelkner | and start using a predictable codng pattern | 20:05 |
th1a | Why WOULDN'T we use them? | 20:05 |
aelkner | we should if we understand what the implications/limitations are | 20:06 |
th1a | Maybe we should just try it. | 20:06 |
replaceafill | back to the past: http://schooltool.pov.lt/irclogs/%23schooltool.2010-11-05.log.html#t2010-11-05T15:42:48 | 20:06 |
* replaceafill goes and codes the password for using groups!!! :D | 20:07 | |
replaceafill | *form | 20:07 |
th1a | aelkner: If you want you can just get resource attributes caught up to person demographics. | 20:08 |
aelkner | th1a, definitely i'll do that when we are decoupled | 20:08 |
aelkner | replaceafill, consider this | 20:08 |
aelkner | the template assumes groups is a list of views | 20:08 |
aelkner | so if you are coding something, please come up with a descriptive method that abstracts that out | 20: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 |
aelkner | yeah, it is the zope paradigm taken to heart | 20:10 |
replaceafill | http://pypi.python.org/pypi/z3c.form#group-forms | 20:10 |
aelkner | i just think we need a guide of some sort | 20:10 |
aelkner | if we are going to need to start writing view classes for view classes | 20:11 |
aelkner | in a way, we are already doing some of that with the viewlets | 20:11 |
aelkner | but i'm just saying, we need to be careful not to make our code too bloated | 20:11 |
aelkner | with all these view/viewlet lookups | 20:11 |
aelkner | it's very costly spending the time to track that stuff down, and until we solve that | 20:12 |
aelkner | we're throwing away valuable time that cold be used to actually make forms or the users! | 20:12 |
aelkner | for the users | 20:12 |
aelkner | again, i hope yvl reads this part and is prepared to discuss tuesday | 20:13 |
th1a | Why don't we just try using z3c.form group forms? | 20:14 |
aelkner | haven't spent the time yet figuring out how one would do that | 20:15 |
aelkner | i can do that now if you'd like | 20:15 |
replaceafill | as aelkner said, it's like the viewlet approach, where you split the functionality | 20:16 |
replaceafill | i'd say we wait for yvl opinion | 20:16 |
replaceafill | he's the one who knows z3c.form best | 20:16 |
th1a | OK, but can somebody give me a fieldset title? | 20:16 |
replaceafill | D: | 20:16 |
th1a | wtf? | 20:16 |
aelkner | th1a, patience | 20:16 |
aelkner | here's the status | 20:17 |
th1a | All I wanted was a Pepsi. | 20:17 |
aelkner | :) | 20:17 |
replaceafill | :))))) | 20:17 |
th1a | But she wouldn't give it to me! | 20:17 |
aelkner | we have a macro that is meant to work to create forms that have no legend | 20:17 |
aelkner | we could change that in flourish if we want to | 20:17 |
aelkner | then groups has nothing to do with it | 20:17 |
th1a | All I know is that we have other forms with fieldset titles. | 20:17 |
aelkner | actually, groups is for the perso edit case | 20:17 |
th1a | All I need is a fieldset title. | 20:17 |
th1a | If you guys don't want to make a decision right now, fine, let's stop talking about it. | 20:17 |
th1a | I just need a fieldset title. | 20:18 |
aelkner | th1a, fieldset title: view title? | 20:18 |
aelkner | remember, you can think about this with us | 20:18 |
aelkner | views have titles | 20:18 |
th1a | I don't care why. | 20:18 |
aelkner | subtitles | 20:18 |
th1a | I want a fieldset title. | 20:18 |
replaceafill | aelkner give the man a fieldset title! | 20:18 |
* aelkner pictures a baby carriage with screaming sounds coming out | 20:19 | |
aelkner | ok, i'll change the macro to use the view title for the legend | 20:19 |
aelkner | give me a second, and i'll do it rght now | 20:19 |
th1a | I'm thinking more like this: http://www.youtube.com/watch?v=LoF_a0-7xVQ | 20:19 |
replaceafill | aelkner the macro?!?! | 20:19 |
th1a | The fieldset title is "Field Details" | 20:19 |
replaceafill | aelkner you mean your own template right? | 20:19 |
aelkner | th1a, lol on the vidoe! | 20:20 |
aelkner | hillarious! | 20:20 |
aelkner | i'm dying here | 20:21 |
th1a | Back to the 80's. | 20:21 |
replaceafill | :D | 20:21 |
aelkner | that's one of the best parodies of non-musical music that i've ever seen | 20:22 |
th1a | It isn't really a parody. | 20:22 |
aelkner | partly, i'm joking | 20:22 |
aelkner | partly, i'm speaking of the genre, but in this case, it's brilliant to me | 20:23 |
aelkner | i mean, he's not singing, he's ranting | 20:23 |
aelkner | but what energy! | 20:23 |
th1a | It is kind of commercial. | 20:23 |
replaceafill | ok, back to passwords | 20:24 |
th1a | aelkner: Are you giving me a fieldset title? | 20:26 |
aelkner | tic, tic | 20:26 |
aelkner | th1a, http://69.164.203.135:36660/demographics/addText.html | 20:27 |
th1a | Yes, but he fieldset title I want is "Field Details" | 20:28 |
th1a | I can't haz? | 20:28 |
aelkner | well, that's why i asked about what to put there, title, subtitle | 20:30 |
aelkner | i know it's not yor concern how we code it | 20:30 |
aelkner | but i think you could help come up with a pattern | 20:31 |
aelkner | for these cases in general | 20:31 |
aelkner | we have title to the left, subtitle in grey after that | 20:31 |
aelkner | i suppose we cold also have a label attribute | 20:31 |
aelkner | and use that for the fieldset label | 20:31 |
aelkner | and then you could just specify those three things each time | 20:32 |
aelkner | speed up our communication here | 20:32 |
aelkner | replaceafill, what do you think about title, subtitle, label (for the fieldset)? | 20:32 |
replaceafill | i dont like your change | 20:32 |
replaceafill | http://bazaar.launchpad.net/~aelkner/schooltool/flourish/revision/2942 | 20:33 |
th1a | OK, how about this: the fieldset label should NEVER be the same as the page title. | 20:33 |
aelkner | saying what something is not is a start, but not a proper definition | 20:34 |
th1a | It is just some additional text. | 20:34 |
aelkner | replaceafill, saying you don't like something without offering alternative also not optimal | 20:34 |
th1a | It has to be written. | 20:34 |
aelkner | we have the three places | 20:35 |
th1a | It always has to be specified. | 20:35 |
th1a | There may be multiple fieldsets. | 20:35 |
aelkner | that's where groups comes in | 20:35 |
th1a | Yes! | 20:35 |
aelkner | but in the non-groups case | 20:35 |
th1a | Then there is one group! | 20:35 |
aelkner | it doesn't work that way | 20:36 |
aelkner | add/edit views use z3c.formlib | 20:36 |
aelkner | there is a class attribute called fields | 20:36 |
aelkner | that is for the main fieldset | 20:36 |
aelkner | which until i just changed it, had no legend | 20:37 |
aelkner | the z3c formlib classes supposrt gourps as well | 20:37 |
aelkner | but that's more for custom cases | 20:37 |
aelkner | complex forms | 20:37 |
aelkner | subforms, if you will | 20:37 |
th1a | So can't we just do whatever we did in persons/add.html? | 20:37 |
aelkner | 95% ofr the cases not interested | 20:37 |
aelkner | a custom form, bad example | 20:38 |
th1a | Well, I'm thinking it might be the best example. | 20:38 |
aelkner | best example of what? | 20:39 |
aelkner | replaceafill, i haven't heard your counterproposal to your objection | 20:39 |
th1a | Of how to create forms in SchoolTool. | 20:39 |
aelkner | oh, you're jsut referring to user perspective, not code pattern, that's different | 20:40 |
aelkner | i understand that you want a legend | 20:40 |
th1a | It isn't clear to me that it is that much worse from a code perspective. | 20:40 |
th1a | You guys don't seem too excited about the alternatives. | 20:41 |
aelkner | don't understand, what is worse than what? | 20:41 |
aelkner | or not worse | 20:41 |
th1a | Just making cursom views. | 20:41 |
replaceafill | sorry i was away :) | 20:41 |
replaceafill | aelkner because your using a new attribute | 20:41 |
th1a | Doesn't seem as painful as... whatever else we're trying to do. | 20:41 |
aelkner | th1a, the pain has come as a result of not doing what we need to do | 20:42 |
replaceafill | aelkner to me if you want to make a change like that, you need to get rid of the <h3> in the template | 20:42 |
aelkner | not solving coding patterns and design by hacking is how the codebase gets ugly | 20:42 |
replaceafill | which lives in another macro | 20:42 |
replaceafill | and use label instead | 20:43 |
replaceafill | which is part of z3c.form base classes | 20:43 |
aelkner | i suggested using label, so you are in agreement | 20:43 |
aelkner | title, subtitle, label | 20:43 |
replaceafill | title and subtitle are not part of z3c.form | 20:43 |
aelkner | but they appear at the top | 20:43 |
replaceafill | i'm talking forms here | 20:44 |
replaceafill | that's flourish | 20:44 |
replaceafill | i care about forms right now | 20:44 |
aelkner | i'm just saying, th1a needs a way to communcate to us what he wants where | 20:44 |
aelkner | so he can say title = ?, subtitle = ?, legend (lebel) - ? | 20:44 |
replaceafill | i havent had trouble communicating with th1a so far :) | 20:44 |
th1a | I want to be able to specify fieldset labels explicitly, that's it. | 20:44 |
replaceafill | well, a few times i misunderstand things tbh :D | 20:44 |
aelkner | i think we have it | 20:45 |
aelkner | say 'label' and i'll know what you are referring to | 20:45 |
aelkner | but i was also going to ask you about the titles and subtitles | 20:45 |
aelkner | we should work those out at the same time | 20:45 |
aelkner | since the user will see all three | 20:45 |
aelkner | they should work together to make the point | 20:45 |
aelkner | Demographics, Add Text Field, Field Details? | 20:46 |
aelkner | (title, subtiel, label) | 20:47 |
th1a | I'm using the terminology in the UWG, my bible. | 20:47 |
th1a | Fieldset title. | 20:47 |
th1a | But yes, that's what I want aelkner. | 20:47 |
aelkner | ok | 20:47 |
th1a | I've been saying that for hours. | 20:47 |
aelkner | that's why i knew what to put there just now :) | 20:47 |
aelkner | replaceafill, i'll change the macro to render view/label | 20:48 |
replaceafill | aelkner that's not enough | 20:48 |
replaceafill | you'll get the <h3> above | 20:48 |
th1a | tbh, I figured we'd be spending the first few weeks ONLY torturing ourselves this way. We've really done very well. | 20:48 |
aelkner | th1a, sorry you feel tortured while discussing coding patterns | 20:49 |
*** ignas has joined #schooltool | 20:50 | |
aelkner | i shouldn't have forced you to think about the pieces of the view as class attributes | 20:50 |
aelkner | i do think we need to agree on names for the various pieces of the views | 20:50 |
aelkner | so you can say change the this to this | 20:50 |
replaceafill | i've always thought we should discuss general design concerns when yvl is available | 20:51 |
th1a | Well, if in doubt, use the terms used in the UWG. | 20:51 |
aelkner | replaceafill, what class attribute can we use in your opinion? | 20:53 |
aelkner | shold i add a new one to flourish.page.Page? | 20:53 |
aelkner | legend? | 20:54 |
aelkner | legend = None bu default | 20:54 |
replaceafill | aelkner why dont you workaround the issue and wait for us to come up with a solution on tuesday | 20:54 |
replaceafill | (if we come up with a solution on tuesday) | 20:54 |
th1a | Who calls it a legend anyhow? | 20:54 |
aelkner | <legend> | 20:54 |
aelkner | that's the html tag | 20:54 |
th1a | Ah. | 20:54 |
aelkner | it's a stupid name actually | 20:55 |
th1a | It isn't really a legend. | 20:55 |
aelkner | legends are supposed to be boxes at the bottom of a page | 20:55 |
aelkner | who knows why html people decided on that | 20:55 |
aelkner | replaceafill, as far as workaround, there is none | 20:56 |
aelkner | i'm not going to abandon the macro | 20:56 |
* replaceafill sighs... | 20:56 | |
aelkner | and copy a hundred lines of pt each time i need a new view | 20:57 |
replaceafill | aelkner ok, you come up with a solution and all of us discuss it on tuesday | 20:57 |
replaceafill | i can't | 20:57 |
replaceafill | and i won't | 20:57 |
aelkner | fine | 20:57 |
aelkner | i will change the base view classes and add a legend attrubute and use it in the macto templte | 20:58 |
replaceafill | just dont break the other views ;) | 20:58 |
aelkner | adding a new attribute can't break anything old :) | 20:58 |
replaceafill | go ahead then | 20:59 |
* replaceafill goes to get lunch | 21:18 | |
*** ignas has quit IRC | 21:39 | |
th1a | aelkner: Incoming. | 22:15 |
th1a | Form text: | 22:15 |
th1a | Title: As it should appear on forms and reports. | 22:15 |
th1a | ID: A unique one word identifier. | 22:15 |
th1a | Required: (none) | 22:15 |
th1a | Limit 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 |
th1a | Change "Add" to "Submit" | 22:15 |
th1a | I 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 |
aelkner | i'll try it out | 22:20 |
th1a | replaceafill: http://design.canonical.com/brand/Pictograms/PNG_files/HEX/UBUNTU_ORANGE_HEX/ | 22:21 |
aelkner | th1a, one problem | 22:22 |
th1a | Yes? | 22:22 |
aelkner | the changes you suggest above are controlled by the interface class in python | 22:23 |
aelkner | changes there will change the old skin | 22:23 |
th1a | God, please. | 22:23 |
th1a | Change the old skin. | 22:23 |
aelkner | no, that's ok | 22:23 |
aelkner | i just threw up the warning | 22:23 |
aelkner | because i wasn't sure if we were religious about not breaking old skin | 22:24 |
aelkner | while we change the new skin | 22:24 |
aelkner | the onlne docs will stop natching | 22:24 |
aelkner | i'm not sure how much this matters, that's up to you | 22:25 |
aelkner | how long will we be supposrting the old skin | 22:25 |
th1a | Not at all, really. | 22:25 |
th1a | It won't change the old packages. | 22:25 |
aelkner | well, that makes it easier | 22:25 |
aelkner | and if functional tests test for interface values, we'll just fix those in the old skin | 22:26 |
aelkner | when we do get around to dealing with tests | 22:26 |
aelkner | i'm sure we've already broken a number of old skin tests, so it's not like th efirst time | 22:27 |
aelkner | i'll move on and not worry about it | 22:27 |
aelkner | th1a, btw, 'one word identifier' may not be clear to non-techies | 22:29 |
aelkner | attr_name is one identifier, but two words | 22:30 |
th1a | Compared to what. | 22:30 |
aelkner | yeah, i'm not offering a counter proposal | 22:30 |
aelkner | so i'm guilty of the same thing i complain about | 22:30 |
th1a | Only a techie would think about underscores. | 22:30 |
aelkner | it's probabl ok now that i think aout ity | 22:31 |
th1a | I guess "A unique short identifier." | 22:31 |
th1a | ? | 22:31 |
th1a | I mean, what do we do with spaces there anyhow? | 22:31 |
*** ignas has joined #schooltool | 22:32 | |
aelkner | that's a good question | 22:33 |
aelkner | PythonIdentifier is the type of the field | 22:33 |
aelkner | cold you try putting something illegal and see the error | 22:33 |
aelkner | i'm testing out changes | 22:33 |
aelkner | never mind | 22:34 |
aelkner | i'm there now | 22:34 |
th1a | There were errors. "Raised if the Validation process fails." | 22:34 |
th1a | That's pretty useful. | 22:34 |
aelkner | Raised if the Validation process fails | 22:34 |
aelkner | \that's a bad error message | 22:34 |
th1a | No shit. | 22:34 |
th1a | Where's it coming from? | 22:34 |
aelkner | probably the standard validator class | 22:35 |
aelkner | i'll have to look | 22:35 |
th1a | kk | 22:35 |
aelkner | we would need to come up with our own validator | 22:37 |
aelkner | which means we don't get help from the zope people coming up with a wa to describe the fieldy | 22:37 |
th1a | wtf. | 22:37 |
th1a | Can we at least override their generic message? | 22:38 |
aelkner | that's what the validator wold be for | 22:38 |
aelkner | i will have to figure out how to add one | 22:38 |
aelkner | we have examples | 22:39 |
th1a | I guess that's probably not much code once you know how to do it. | 22:39 |
th1a | Yes, it is something you need to know. | 22:39 |
aelkner | yes | 22:39 |
aelkner | i've done it before, but i don't hold all of my experiences in my head | 22:39 |
aelkner | examples help with that | 22:39 |
aelkner | i just have to find one | 22:39 |
th1a | Also we need the properly styled error notification at the top. | 22:44 |
th1a | And for the record, I don't think these should be modals anymore. | 22:44 |
aelkner | ok | 22:45 |
aelkner | one less thing to have to do | 22:45 |
aelkner | replaceafill, ayt? | 22:50 |
* replaceafill is back | 23:10 | |
ignas | wb! | 23:12 |
ignas | :) | 23:12 |
replaceafill | :D | 23:12 |
*** th1a has quit IRC | 23:39 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!