Thursday, 2011-10-20

*** Quits: kirillka (~Miranda@84-214-36-78.baltnet.ru) (Quit: kirillka)00:14
*** Quits: dregad (~dregad@wwwgate1.merck.de) (Ping timeout: 258 seconds)01:01
*** Joins: dregad (~dregad@wwwgate1.merck.de)01:02
*** Quits: siebrand (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl) (Quit: siebrand)01:48
*** Joins: kirillka (~Miranda@195.242.142.17)02:25
*** Joins: dhx1 (~anonymous@60-242-108-164.static.tpgi.com.au)02:46
*** Joins: giallu (~giallu@fedora/giallu)03:00
*** Joins: siebrand (~siebrand@213.222.6.44)03:21
GitHub120[mantisbt] dregad pushed 1 new commit to master-1.2.x: http://git.io/2fONWg05:21
GitHub120[mantisbt/master-1.2.x] Fix #8504: Use is_blank() not '' to check empty path in file_add() - Damien Regad05:21
GitHub177[mantisbt] dregad pushed 1 new commit to master: http://git.io/r0ocIw05:21
GitHub177[mantisbt/master] Fix #8504: Use is_blank() not '' to check empty path in file_add() - Damien Regad05:21
dhx1dregad: MantisBT lives!05:22
dregad:)05:22
dregadtrying to keep the heart beating05:22
* dregad has a couple (or three) more fixes pending feedback from dhx1...05:24
dhx1dregad: are they the ones on github?05:27
dhx1I think one of them included changing the schema for 1.2.x?05:27
dregadno that was robert05:27
dregadlet me give you the references05:28
dregadhttp://www.mantisbt.org/bugs/view.php?id=1340605:28
dhx1sorry, missed that one05:29
dhx1let me check it over05:29
dregadhttp://www.mantisbt.org/bugs/view.php?id=1327605:29
dhx1ah yes, my favourite issue :)05:30
dregadthat one's about the attachment column/indicator05:30
dhx1the default values were removed from bug_report.php because they are better placed on bug_report_page.php IMO05:30
dhx1but we did revert a lot of that patch later on05:30
dregadwhy is that your favorite ?05:31
dhx1there was a really long bug report about custom field handling :)05:31
dregadso do you think I can add the default value setting back in bug_report.php ?05:35
dhx1dregad: it looks like your patch at https://github.com/dregad/mantisbt/commits/fix-attach-column-13276 is OK05:36
dregad'cause ATM the the custom fields are not being properly initialized05:36
dhx1I don't think we have a different 'attachment' and 'attachment_count' column05:36
dhx1I thought the intention may have been to allow the user to specify whether they wanted an icon or count05:36
dregadthat's what I thought too05:37
dhx1dregad: what if the default value is null, or the user has forgotten to specify a value for the compulsory field?05:37
dhx1it's a problem with the custom field implementation05:38
dhx1the require_ settings on custom fields vs. default values aren't clear05:38
dhx1do we use a default value if that is the only thing available... when the field is required?05:38
dregadI see what you mean05:39
dhx1or do we produce an error to inform the user that they forgot to specify the value themselves?05:39
dhx1default values should only who up in text boxes/etc on the form prior to submission05:39
dhx1so the user can change it05:39
dregadbut does it make sense to have a default value for a mandatory field ?05:39
dhx1_HOWEVER_ the problem was that we also have display_ fields05:39
dhx1and in those cases, people were setting fields to be both required and invisible... and weren't happy with MantisBT returning an error to state that the custom field (invisible) was missing05:40
dhx1dregad: these are the all the problems that my patches were attempting to clean up... although the whole custom field implementation really needs major rework to make things clearer05:41
dregadso basically we need to consider: is custom field required / has default value / is visible in bug report05:42
dhx1yeah, but there are also thresholds for reading/writing too, I think05:42
dregadat custom field level ?05:43
dhx1the problem is more one of the settings being too ambiguous05:43
dhx1yeah05:43
dregadnever paid attention to that.05:44
dregadbut regardless of access, if there is a default provided it should be populated, i think05:44
dregadotherwise we have inconsistent behavior05:45
dregadthe problem is maybe also one of the settings being too _ambitious_ ;-)05:45
dhx1yep, so access checks will decide whether to display the field or not on the report/update/etc pages, as well as require_ and display_ settings for each custom field (!)05:45
dregadsounds overkill.05:46
dhx1the default value should then just be copied in via HTML5's placeholder attribute (for text fields)05:46
dhx1needs to be done...05:46
dregadi'm talking about the requirement, not the implementation05:46
dregadcan't think of a use case for this05:47
dhx1ah05:47
dhx1agreed05:47
dhx1basically, users want to:05:47
dhx1decide who can and can't read/write to a custom field05:47
dhx1decide what stage of the workflow the custom field is modified (perhaps not on report, maybe it only occurs when the status is 'assigned')05:47
dhx1specifying a default value may be useful too05:48
dregadok I get your point05:48
dhx1but the default value would only be an aid to users, not stored in the database in place of 'null' (undefined)05:49
dregadthis is where the pain point is actually05:49
dhx1whereas what MantisBT did prior to my patch (and does right now) is store the default value in the database as soon as the bug is reported05:49
dregadactually right now it does not initialize it at all...05:49
dhx1so you lose the ability to know whether a user has specifically added the custom field value, or whether it's just the default that every bug starts off with05:49
dhx1perhaps not all of my patch was rolled back then ;)05:50
dregadyep :)05:50
dregadso in my opinion, the immediate fix should be to revert the "initialize at bug creation" behavior05:51
dregadand later on (1.3, next ?) to factor in your point about the default being set only after reaching a certain workflow level (i.e. when it starts to makes sense having a default set based on the field's definition)05:52
dregadwhat do you think ?05:52
dhx1I'd still disagree on the basis that we should check for a null value returned from the database, and display the default value _if we really need to_05:54
dregadto cover for the case of a mandatory field ?05:57
dhx111684 is the other fun read05:58
dhx1that issue takes a different approach: that list, enum, etc fields can not hold a null value05:58
dregadAh yes, 11684 - that was a good one05:59
dhx1the basis of that argument is mathematical (set theory)05:59
dregadthe basis of the counter-argument is real-life ;-)06:00
dhx1agreed06:01
dhx1in which the argument is that some users may want fields that never allow a null value (undefined)06:01
dregadI ended up adding an "Undefined/NA" entry in the sets where I was impacted by this06:01
dhx1and some users want fields that allow null values in addition to other specified values06:02
dhx1it's more of a logic/reasoning/philosophical thing06:02
dhx1once a user selects "null" as the value of a custom field, can it ever be unselected? :P06:02
dregadno, but that's the UI preventing it06:03
dhx1it depends on how we treat "null"06:03
dregadthat too06:03
dhx1right, the UI controls don't let us easily unselect a value back to 'null'... but even if they did, it's not "undefined" in the original sense of the term06:04
dhx1it has now been defined to be "undefined" :P06:04
dregadLOL06:04
dregadyou do have a scientific background, don't you06:05
dhx1we can probably accept the loss of the original meaning of "undefined"06:05
dhx1haha yeah06:05
dhx1but in some cases, maybe users want to distinguish between custom field values that have received human consideration, and those that have not ever been addressed06:06
dhx1was it consciously set to undefined, or has the question never been considered?06:06
dregadpossibly, but in that case they should not define a default value06:06
dhx1a default value is still useful though, to aid users when they do make the concious decision to update the custom field ;)06:07
dregadOK, so it's now an argument of "recommended" vs "pre-set" value (default is not precise enough)06:08
dregadin my book and all apps and DB values I've worked with, default == pre-set06:09
dhx1this problem could probably be solved by allowing custom field values to be redefined based on the status of an issue06:09
dhx1so for a 'new' issue, the custom field value must be undefined06:09
dhx1for an 'acknowledged' issue, the custom field value can be undefined, 'a' or 'b'06:10
dhx1for an 'assigned' issue, the custom field value must be 'a', 'b' or 'c'06:10
dhx1etc06:10
dregadthat's another can of worms ;-)06:10
dregadbut it makes sense06:10
dregadalthough at the moment, the restriction is not based on workflow (status), but on the screen (report, update, resolve, close)06:11
dhx1I still don't like 'undefined' for many fields because there is no way in the UI to choose this state06:11
dhx1yeah06:11
dregadWithout changing this restriction, the most correct behavior would be to only initialize the custom field to the default value, at the "earliest" stage where it becomes visible06:12
dregadbefore that, it is "undefined" in the mathematical sense of the word06:13
dhx1it'd have to be done on 'required'06:13
dhx1_or_ 'visible' (I think)06:13
dregadyou're right06:14
dhx1I'm not too fussed what we do with 1.2.x/1.3.x at the moment06:14
dhx1unless it breaks the way it currently works06:14
dregadSo I'd propose the following06:14
dregad1. set default at bug create for now (i.e. quick and easy fix 13406)06:15
dregad2. create a new issue to track a better, more comprehensive fix as just described06:15
dhx1just (1) :)06:16
dhx1_however_ there is a reason 11684 was needed06:18
dhx1how do we detect the difference between a checkbox field that has no items selected (null set) and a failure for the user to consciously consider setting the field to a null set?06:19
dhx1it gets fun :)06:19
dhx1https://secure.wikimedia.org/wikipedia/en/wiki/Empty_set#Questioned_existence06:21
dregadneed 2 values (NULL = undefined and EMPTY)06:21
dregadbut question remains, do we really need it in the real world06:21
dhx1we wouldn't... if these restrictions were enforced directly in the database schema with CHECK constraints06:22
dhx1(probably not, anyway)06:22
dhx1however we'd need to address the prospect of other code/plugins/import features/whatever writing to the same database and not having any knowledge of certain fields existing06:23
dhx1how do you import issues from a bug tracker that doesn't have any custom fields, to a bug tracker that expects certain custom fields to be in place?06:23
* dregad has a headache now06:24
dhx1the answer would be via a "type conversion" (either automatically setting default values where missing, or asking the user to manually make corrections for each imported issue)06:25
dhx1haha yeah06:25
dregadto answer your last questions - records should be rejected and the import set updated by user to provide values06:25
dregadok you typed faster than me06:25
dhx1that's one valid way of looking at it :)06:25
dregadvalid, more easy and guaranteed to be consistent06:26
dregadthat's how I handled external data interfaces here06:26
dhx1it's the kind of thing where we'd ask users to transform (via XSLT) their XML exported issues, adding the custom field values, prior to importing to the new bug tracker06:26
dregadexactly06:26
dhx1(XML example)06:26
dregadas long as the import mechanism as the ability to flag rejected records and provide some details for why they were rekected06:27
dregad*has the hability06:27
dregad*ability06:27
dhx1yeah we can do that easily06:28
* dregad blames fat fingers06:28
dhx1especially with the new exception handling in the 'next' branch06:28
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 240 seconds)06:28
dregadspeaking of which - have not seen many commits there lately... been busy ?06:29
dhx1yeah06:31
dhx1I was actually doing some work locally on MantisBT06:31
dhx1trying out some new approaches to templating/redoing the UI06:31
dregaddid you ever reconcile your work with Paul's ?06:32
dhx1his branch is on a separate tangent ;)06:32
dhx1I've merged a fair bit of his branch into 'next'06:32
dregadso we have next-dhx1, next-paul, 1.3.x........06:33
dhx1but other parts are duplicates/etc06:33
dhx1that's distributed development for you ;)06:33
dhx1may the best branch win haha06:33
dregadi.e. the 1st one to push to master ?06:33
dhx1nah, to get wide acceptance06:34
dhx1for a project as small as MantisBT, that'd probably be a mailing list thread06:34
dhx1(that will occur anyway for any significant merge request)06:34
dregadit really felt like ego crashes few weeks ago06:35
dregad*clashes06:35
dhx1we both tried different ways of doing the same thing06:35
dhx1I think the only _real_ difference at the moment is with exception handling06:36
dhx1Paul's branch allows you to throw exceptions that don't exist06:36
dhx1whereas my 'next' branch has concrete exception classes06:36
dhx1you can't catch exceptions that aren't defined (you'd have to catch the generic exception base class and then manually check what it is)06:36
dhx1but the downside of defining all exception classes is the amount of work that involves (which I've already done btw)06:37
dregadI don't have enough spare time to invest into this (next) unfortunately06:37
dhx1understood... it may go nowhere, we'll see06:37
dregadAnyway Paul sounded a bit miffed, by this parallel work as well as John's kicking his IRC bot and then setting up another archive on mantisbt.org06:38
dhx1it's a lot of work and it's fairly ambitious because much of what we were trying to do hasn't been done by web applications many times before06:38
dhx1if you've cracked open the source code to other web apps, you'll see what I mean... it makes MantisBT source code look like a shining example of brilliance :)06:39
dregadamen06:39
dhx1the IRC bot issue was just because of #mantis-help redirecting to #mantisbt-help06:40
dregadnot only06:40
dhx1and the bot hadn't been updated for that change, so it kept quiting/rejoining06:40
dregadPaul24 "what I dont expect is someone to 'replace' something i've been running for 3 years without saying anything"06:43
dregadin http://www.mantisbt.org/irclogs/mantisbt-help/mantisbt-help_2011-09-27.log.html06:43
dregadanyway.06:43
dregadLunchtime06:43
dregadthanks for your feedback06:44
dhx1yeah I didn't follow that much ;)06:44
dhx1ttyl :)06:44
*** Joins: giallu (~giallu@fedora/giallu)07:06
GitHub29[mantisbt] dregad pushed 1 new commit to master-1.2.x: http://git.io/hcMLsg07:17
GitHub29[mantisbt/master-1.2.x] Init custom fields default value when reporting bug - Damien Regad07:17
GitHub1[mantisbt] dregad pushed 1 new commit to master: http://git.io/HsR7gA07:17
GitHub1[mantisbt/master] Init custom fields default value when reporting bug - Damien Regad07:17
dregad@jreese, it seems my last commits were not picked up by source control plugin - changesets not available in tracker http://www.mantisbt.org/bugs/plugin.php?page=Source/list&id=707:20
*** Quits: siebrand (~siebrand@213.222.6.44) (Quit: siebrand)08:12
dregadjreese - nevermind they just took their time to arrive08:16
*** Joins: extreme001 (~jensen@dyndsl-091-096-044-197.ewe-ip-backbone.de)08:47
extreme001hi08:47
dhx1extreme001: hi08:47
extreme001i need help. Can someone tell me which database-version of mantisbt is the right for mantis 1.28 ?08:48
dhx1#mantisbt-help for these sorts of questions (usually)08:48
dhx1I don't have 1.2.8 installed so I can't check the version at the moment08:49
extreme001ok08:49
extreme001thnx08:49
dhx1but #mantisbt-help is the best place to ask (more users, this channel is just developer talk)08:49
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 244 seconds)09:08
*** Quits: dhx1 (~anonymous@60-242-108-164.static.tpgi.com.au) (Remote host closed the connection)09:33
*** Joins: giallu (~giallu@fedora/giallu)09:39
jreesedregad: I did a manual import, I'm not sure why the remote checkins aren't working atm09:42
jreesejust got too busy to mention it09:42
jreeseI'll have to debug the issue from the server side, most likely has to do with either authenticating the remote checkin or decoding the github payload, esp since they recently added new service hook abilities09:43
dregadjreese: thx for feedback - so you'll fix it before or after moving to SF ? ;-)09:46
*** Quits: dregad (~dregad@wwwgate1.merck.de) (Quit: Ex-Chat)09:47
*** Joins: dregad (~dregad@wwwgate1.merck.de)09:47
*** Quits: dregad (~dregad@wwwgate1.merck.de) (Client Quit)09:47
*** Joins: dregad (~dregad@wwwgate1.merck.de)09:47
jreesedregad: having fun? :P09:48
dregadtrying to09:48
jreeseand it depends on how much time I get09:48
dregadare you packing yet ?09:49
jreeseI really need to add some sort of official logging mechanism to source integration too09:49
jreeseno, EA is paying for professional movers, so we don't have to pack anything ourselves09:49
jreesethey contracted a relocation company for us, and they're taking care of almost everything for us, it's actually quite nice09:51
dregadbest kind of move !09:52
*** Quits: dregad (~dregad@wwwgate1.merck.de) (Client Quit)09:52
*** Joins: dregad (~dregad@wwwgate1.merck.de)09:53
jreeseyeah, it would have been extremely stressful otherwise, but right now the biggest issue is finishing all the renovations we started on our condo so we can sell it09:53
*** Quits: kirillka (~Miranda@195.242.142.17) (Quit: kirillka)10:00
*** Joins: kirillka (~Miranda@221-79-52-95.baltnet.ru)10:19
*** Quits: kirillka (~Miranda@221-79-52-95.baltnet.ru) (Quit: kirillka)10:55
*** Quits: extreme001 (~jensen@dyndsl-091-096-044-197.ewe-ip-backbone.de) (Quit: Nettalk6 - www.ntalk.de)11:22
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 244 seconds)11:40
*** Joins: siebrand (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl)17:26
*** Quits: siebrand (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)19:06
*** Joins: siebrand_ (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl)19:06
*** Joins: siebrand (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl)19:07
*** Quits: siebrand_ (~siebrand@5353A6DC.cm-6-4c.dynamic.ziggo.nl) (Read error: Connection reset by peer)19:07
*** Quits: sdfjkljkdfsljkl (~sdfjkljkd@static.96.23.63.178.clients.your-server.de) (Remote host closed the connection)20:00
*** Joins: sdfjkljkdfsljkl (~sdfjkljkd@static.96.23.63.178.clients.your-server.de)20:00

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