Friday, 2009-04-17

../irclogs/#mantishelp.2009-04-17.log
--- scribe started ---00:00
* daryn_away is away: Gone away for now04:48
dhx_mthis resolution field is broken :(04:58
dhx_mall the resolutions are hardcoded into Mantis04:58
dhx_mI've been thinking that there should be a few thresholds introduced04:59
dhx_mbug_resolved_resolution04:59
dhx_mbug_closed_resolution04:59
dhx_mor something like that04:59
dhx_mwhere resolution < bug_resolved_resolution denotes an open ticket resolution05:00
dhx_mbug_resolved_resolution <= resolution < bug_closed_resolution denotes a fixed ticket (successfully completed)05:00
dhx_mresolution >= bug_closed_resolution denotes a ticket that was not fixed (not completed)05:01
dhx_mI don't know what good names would be05:04
daryn_awaydhx_m what do you mean resolutions are hard coded?  you can configure all of them and the resolved resolution is configurable as well...not sure about closed05:05
dhx_mcore/summary_api.php:05:06
dhx_m# These resolutions are considered fixed05:06
dhx_mif( FIXED == $c_res_s[$j] ) {05:06
dhx_mand there is a similar line below that to denote which resolutions are deemed "not fixed"05:06
daryn_awayhm05:06
dhx_mafaik, there isn't any resolution threshold at the moment05:06
dhx_mexcept for reopening bugs05:07
dhx_mFIXED is widely used throughout the code05:07
daryn_awayyou can configure all of the enum strings...so you at least could fake it05:07
dhx_meffectively making custom enum of the resolution field useless/dangerous05:08
dhx_mI've always been confused about the difference between RESOLVED and CLOSED in Mantis05:08
dhx_min my setup, RESOLVED is used for tickets that have been completed05:09
dhx_mCLOSED is used for tickets that weren't completed05:09
dhx_mis that the intention?05:09
daryn_awaywell i haven't been around forever but my understanding is that resolved is...devs have resolved the problem05:10
daryn_awayclosed means...customer has accepted the solution/fix05:10
dhx_mok, that makes sense05:10
daryn_awayor...resolution if it wasn't fixed05:10
daryn_awaythere is a bit of crossover between status and resolution though...i bit confusing05:11
dhx_myep, agreed... I think the resolution field is fairly useless in my setup05:11
dhx_mI'd much rather use statuses to indicate the state of a bug05:12
dhx_mrather than a mix of status and resolution05:12
dhx_m$g_bug_resolution_fixed_threshold = RESOLUTION_FIXED;05:15
dhx_m$g_bug_resolution_not_fixed_threshold = RESOLUTION_UNABLE_TO_DUPLICATE;05:15
dhx_mI was thinking of those two thresholds05:15
dhx_mthis allows people to set custom resolutions for open, fixed and not fixed bugs05:15
dhx_mand you can have multiple resolutions in those ranges05:16
dhx_malthough I would suggest changing the custom order of resolutions so "REOPENED" comes after "OPEN"05:16
dhx_mthat would completely break upgrading though :(05:17
daryn_awaydhx_m could probably write a conversion script05:32
dhx_myep, I'll leave it for now to make it easier05:33
dhx_mmy current patch will be backwards compatible as such05:33
dhx_mI doubt enough people use the resolution field to care05:35
daryn_away:)05:35
daryn_awaythey'll care if you break it05:35
dhx_myep, which is something I'm trying to avoid at the moment :)05:36
daryn_awayway past bedtime in CST...night all05:39
dhx_mcya :)05:41
dhx_mOK my branch should be complete and ready to pull from http://git.mantisforge.org/w/mantisbt/dhx.git?a=shortlog;h=refs/heads/1033009:58
dhx_minitial testing says it is OK... but I haven't tested all the new configuration options yet09:58
kenguestmoin10:07
dhx_mhey10:07
kenguestjusst checking in ;-)10:07
kenguestwhich of the latest releases should I use? the 1.1 or 1.2 tree?10:08
kenguestand is there a plug-in for Evolution yet? ;-)10:08
dhx_mdepends on what you want to do... I'd recommend 1.2 because it has loads of bugs fixed, new features galore and you can use all the plugins that are now available10:09
dhx_mhowever it is generally considered less tested...10:09
dhx_mand I haven't heard anything about an Evolution plugin?10:09
dhx_mwhat exactly would that entail?10:09
kenguestit'd probably entail me writing it ;-)10:10
kenguestthere's a "Task" manager section in Evolution that's got a kinda dumbed down interface.10:10
kenguestallows bare-bones entry of tasks10:10
kenguestthought it might be an interesting addition10:11
dhx_mhow would you interface between Mantis and Evolution?10:11
dhx_mit sounds to me like the only easy way that'd work is if you write an Evolution plugin that polls your Mantis installation10:11
kenguesthttp component, config screen for url & login details10:12
dhx_munless.. can you add tasks automatically via email?10:12
kenguestooh. well I've just written an email parser for our new document management system.10:12
kenguestis something like that in mantis? email parsing?10:12
dhx_musually with Mantis, you'd write a plugin which is called via a plugin hook whenever something interesting happens10:13
dhx_mie. new bug, updated bug, etc10:13
dhx_mthen your plugin can do whatever it likes10:13
dhx_mor maybe you could just write an Evolution plugin to take emails sent from Mantis... check if you've been assigned to them10:14
dhx_mand it'll add them to your Evolution tasks list automatically10:14
dhx_monce you get an email stating that the ticket is resolved, your Evolution plugin marks it as resolved within Evolution as well10:14
kenguestwith evo you can right=click on an email and select "Convert to task"10:15
kenguestthen you can classify it and set end & start dates etc10:16
kenguestI'd need to think about it more ;-)10:16
kenguesthmm. think I'll go with 1.2.0a310:18
kenguestafterall, it'll only get tested if people try it, right? ;-)10:18
gialludhx_m, ETA_TWO_TO_THRESS_DAYS typo?10:22
dhx_mgiallu: I fixed that in one of the later commits10:23
gialluah sorry, I'm looking at the first patch actually10:23
gialludid you applyed a consistent nameing then? for instance10:23
dhx_mno problem :) there aren't really that many fixups... except the BugData class10:23
gialluah no, it's ok10:24
dhx_mkenguest: probably a good idea to do that, yes :)10:24
gialludhx_m, right now, I'm not a fan of defines though10:24
dhx_mgiallu: what is the alternative?10:24
gialluit's harder to customize10:24
gialluof course it's not your fault ;)10:25
dhx_mdoesn't that mean we have to get rid of PHP based configuration10:25
dhx_min favour of configuration stored in the database?10:25
gialluyes, I'd really like that, but probably is longer term...10:25
dhx_myeah, now I've learnt a little bit more about Mantis internals, I know which parts really are antique10:26
gialluI mean, I'd expect to set few key parameters on config file, all the rest, including customizations, at the web admin interface10:26
gialluof course I'm dreaming...10:26
dhx_mI'd expect the config file to simply define configuration for connecting to the database10:27
gialluyeah10:27
dhx_mand probably path information as well10:27
dhx_mjust the basics to get things up and running10:27
gialluanyway, I appreciate your work there10:27
dhx_mthe email notification needs a big overhaul... especially in terms of configuration of when you're notified10:28
dhx_mit basically doesn't play nicely with custom statuses10:28
gialluI have that on my todo list for ages10:28
dhx_mthe graphing/summary feature is also severely out of date, and doesn't factor in custom configuration10:28
dhx_myep10:28
dhx_mthen you have nice things like the plugin system :)10:29
dhx_mI actually think it might be easiest to rip out outdated features like the summary/graphing10:29
dhx_mand put them into plugins10:30
dhx_mso it makes it easier to fix the core Mantis code10:30
dhx_mreally all it needs is some more subsystems (done with OO PHP in classes)10:30
dhx_ma lot of things can be put into plugins for better modularity... notifications being a major one that comes to mind10:31
justabakahello there :)10:48
dhx_mhey10:48
gialludhx_m, I'm not really sure I want notifications as plugins, but I'd surely like it the OOP way...10:49
dhx_mI just think it is best to rip out as much code as possible from the core which relates to "do I send a notification or not"10:50
dhx_mand handle it all generically in a module/plugin/whatever10:50
dhx_meven if it is similar in nature to plugin hooks... but they're notification hooks instead10:51
justabakaerr, a little question: is signup bugged since like... 1.1.6? I'm testing 1.2.0a3, but it still registers a user even if you didn't type anything into the sugnup form10:51
dhx_mso once your notification handler has been called by a hook, it looks up the corresponding notification setting(s) from the database to determine who needs to be notified10:52
dhx_mwhere notification could be done via: email, IRC, twitter, SMS, whatever10:52
giallujustabaka, oh, never noticed. is there a bug open fog this?10:54
justabakagiallu, i'm trying to search for it, but I do believe like there isn't. Also I'm not fairly sure, it might be some kind of a misconfiguration on my server... But there are no errors being logged. I'm confised10:56
justabakaThere's a message 'confirmation hash does not match' on other installations, but not in my case -_-10:58
kenguesthmm. 'APPLICATION WARNING #300: String "manage_import_issues_link" not found.'11:08
mantisbotNew bug: Bug 10346 - kavanu - open - new11:12
mantisbotNew bug: Configuration of release status behaviour - http://www.mantisbt.org/bugs/view.php?id=1034611:12
dhx_mwhat a weird feature11:16
dhx_mactually I guess it has its uses11:17
dhx_min some setups it could be handy11:17
dhx_mkenguest: what language do you use?11:18
kenguestdhx_m: mostly php, though I code in others too11:26
dhx_mnah, I meant the locale language for Mantis... English, Russian, etc :)11:27
dhx_mI'm not sure if your error is occurring because of a missing string in your language of choice?11:27
dhx_mI don't know if it defaults back to English for missing strings... I simply haven't tried ;)11:27
kenguestah. English - whatever the default it11:28
kenguestis11:28
kenguesthmm. is it possible to turn off the display of certain fields in bug_report_page.php and view.php pages?11:48
kenguestmaybe have view.php only display certain fields if there's data in them ;-)11:48
dhx_mcurrently no12:09
dhx_mbug fields need to have some value stored in them (they can't be NULL)12:09
kenguesteven if it's just the default value?12:10
dhx_myou could implement that if you want12:13
dhx_mbut most people wouldn't consider it a good idea to do so?12:13
dhx_mthe fact that it has a default status may be deliberate12:14
dhx_mie. default priority of "NORMAL"12:14
kenguestwell, it obviously would be configurable.12:14
kenguestthing is one of the guys in work here wrote his own bugtracker because sales & such were afraid of the huge form in [a previous version of] mantis12:15
kenguestthat bugtracker is well...buggy and under utilised...12:16
dhx_mhmm12:20
dhx_mwell you can disable a lot of fields completely in the latest git trunk of 1.2.x12:20
dhx_mI'd be very happy to see the other fields have on/off settings as well :)12:21
dhx_malthough I think we're actually quite close to having the ability to turn off all non-essential stuff12:21
kenguestcool12:21
dhx_min my installation, most of the default fields are turned off12:22
nuclear_eclipsemorning all12:43
dhx_mhi :)12:44
nuclear_eclipsehttp://www.mantisbt.org/wiki/doku.php/mantisbt:notification_requirements12:44
dhx_mnice :)12:45
dhx_mis that approach using the plugin hook system?12:45
nuclear_eclipseit's an eventual target of mine12:45
nuclear_eclipseyeah, although I'm not really planning to rip out the existing system, just give a big overhaul and "eventify" it12:46
dhx_mI guess you could say that is ripping it out though :p12:47
dhx_mwhat would be neat is being able to write:12:47
dhx_msend_notification('name_of_notification', ...something);12:47
dhx_mand the notification system does the rest for you12:47
nuclear_eclipsewell, that's the goal :)12:48
dhx_malthough I'm not sure how possible that would be12:48
nuclear_eclipseI'm planning to keep the selection of who to notify as close to the existing system as possible, with only a bit of extension to support new notification systems, and make events that plugins can hook to send notifications via other mediums, like IRC, Twitter, IM, etc12:49
dhx_mone of the problems I noticed with the current system today is with user configuration of what notifications they want to receive12:50
nuclear_eclipsebut I'm more or less not planning to start on that until after a 1.2 release12:50
dhx_mwhat I think we really need is a new table that maps user_id, notification_name and some other columns like min_threshold, max_threshold, whatever else12:51
nuclear_eclipseactually, I really like the way configuration of notifications works in the config files via g_notify_flags, that's clever and useful12:51
dhx_malthough I'm not a big fan of thresholds12:51
dhx_mI'd love to see a more OO approach to bugs12:51
nuclear_eclipsewell, paul_ might be taking care of that for you ;)12:51
dhx_m:)12:51
dhx_mie. you create a status_closed.php "plugin"12:52
dhx_mwhich is an extension to a default class12:52
dhx_mand you can override functions like change_status_to(new_status)12:52
dhx_mit'd be so much work though, I doubt it'll ever happen12:53
dhx_mso much work... you'd essentially be writing a new bug tracker12:53
nuclear_eclipsere #23 on my tracker...12:53
dhx_myep12:54
nuclear_eclipseI assume in your case a global configuration for that would suffice, eg, not per-repo?12:54
dhx_mcorrect, that should be OK12:54
dhx_mI don't know of any SCM software which doesn't have compatibility between new versions of the client and old servers12:55
nuclear_eclipseand btw, the Git plugins don't use any client binaries except curl as a fallback if you don't have the ability to file_get_content() from a URL12:55
nuclear_eclipsethey just parse the output from viewers, rather than needing to clone a repository locally12:55
dhx_mah ok12:56
dhx_mso maybe it'd just be a specific option to WebSVN/the other SVN thingo12:56
nuclear_eclipsesince Git doesn't allow you to query a remote repo like SVN does ;)12:56
dhx_m:)12:56
nuclear_eclipseI had considered adding this a while ago myself. and just never got around to it =\12:57
dhx_myep no hurry12:57
dhx_mI hardcoded it into mine12:57
dhx_m#24 is more important :)12:57
nuclear_eclipse"This should be a fairly easy task of ...."  haha12:58
nuclear_eclipsefunny12:58
dhx_malso with #23 I was a bit uneasy with security12:58
dhx_mlol12:58
nuclear_eclipsewhat would the security worry be?12:59
dhx_mwhether it is OK to let the administrators execute any file on the server12:59
dhx_mbecause Mantis administrators probably shouldn't have that level of access13:00
nuclear_eclipseI would assume so, and not see any problem with that; if they can set up Mantis, PHP is letting them do anything they want....13:00
dhx_mI was more concerned about a bug in Mantis letting someone use an administrator account to execute their own binary on the server13:01
nuclear_eclipsealthough I think I'd rather implement #23 as a "enter the directory that contains the svn binary"13:01
dhx_mI'd be much happier if when updating the scm_path, the executable was called to check the --version output or something like that13:01
dhx_myep13:02
dhx_mthat sounds OK as well13:02
nuclear_eclipseI think if you're worrying about Mantis administrators doing hokey things, they shouldn't be administrators :P13:02
dhx_mI was more worried about Mantis having a bug that lets a hacker execute files via a hacked administrator account13:03
dhx_mor something along those lines13:03
nuclear_eclipseoh13:03
nuclear_eclipseI think the risk is probably sufficiently low to just not consider that a problem13:03
dhx_msimilar to how lots of other PHP software take file uploads very seriously13:03
dhx_mso that executable files aren't updated in directories where Apache will execute those files13:03
dhx_myeah13:03
dhx_mif you force the executable to be called 'svn' it should be pretty much a non-issue13:04
nuclear_eclipseyeah, I would assume so13:04
dhx_mexcept if the path string can be manipulated in a way so that the executable called isn't actually 'svn' anymore13:04
dhx_mie. the path is changed to:13:04
kenguesthmm. http://www.mantisbt.org/bugs/view.php?id=8814 - this not fixed?13:04
nuclear_eclipsekenguest: it should be13:05
dhx_m/bin/badapp --something --blah /13:05
nuclear_eclipsedhx_m: I was planning to do a is_dir( $path ) first to make sure it's a valid directory13:05
dhx_mah, problem solved then :)13:05
kenguestnuclear_eclipse: looks like there's a patch in there already13:06
kenguest:(13:06
nuclear_eclipsewell, I would do that at the time of updating the config13:06
nuclear_eclipsekenguest: it was fixed as part of my recent update for bug 7790 and bug 1022813:07
mantisbotBug 7790 - exk72 - fixed - resolved13:07
mantisbotLinks protected by brackets are not processed properly - http://www.mantisbt.org/bugs/view.php?id=779013:07
mantisbotBug 10228 - SteffenPoulsen - fixed - resolved13:07
mantisbotNo way to avoid or escape the rendering plugin for part of a text - http://www.mantisbt.org/bugs/view.php?id=1022813:07
* nuclear_eclipse updates tracker to latest code13:09
dhx_m:)13:09
dhx_mif you get time, you may be interested in http://git.mantisforge.org/w/mantisbt/dhx.git?a=shortlog;h=refs/heads/1033013:09
kenguestnuclear_eclipse: thanks13:09
nuclear_eclipsekenguest: refresh bug 8814, it looks perfect now :)13:10
mantisbotBug 8814 - hardfi - fixed - resolved13:10
mantisbotproblem posting FTP access string - http://www.mantisbt.org/bugs/view.php?id=881413:10
dhx_m10336 "Added ability to view other users My View page" is interesting13:12
dhx_mminus the obvious errors ;)13:12
dhx_m$t_view_as = $_POST["view_as_id"];13:12
dhx_m:o :o13:12
nuclear_eclipseyeah...13:13
* daryn_away is away: Gone away for now13:21
* daryn is back.13:23
dhx_m:)13:25
nuclear_eclipsedhx_m: just pushed an implementation for #23 - would appreciate some testing to make sure it works on more than just my test machine :)14:12
dhx_msure, thanks :)14:12
dhx_mwill get it done tomorrow when I have a bit more time to try it out properly14:13
nuclear_eclipseok, no problem14:13
nuclear_eclipseI also pushed a fix for #2514:16
nuclear_eclipsethat was a problem of me being an idiot :P14:16
dhx_mthanks :)14:22
dhx_myou made quick work of those two bugs :)14:23
nuclear_eclipsewell, the second one was cake, I didn't even really try, and I found the bug in the code :P14:47
smthello15:21
smtdoes mantis works with mysql 5?15:21
kenguestyes15:22
smtok thanks15:22
kenguestI'm using mantis 1.2.0a3 against mysql 5.0.6715:22
kenguestno problems15:22
smtok :)15:22
mantisbotNew bug: Bug 10347 - fedchyk - open - new16:14
mantisbotNew bug: Incorrect breadcrumbs in extra dropdown for subprojects - http://www.mantisbt.org/bugs/view.php?id=1034716:14
paul_moo17:24
* paul_ pokes nuclear_eclipse 17:24
paul_dhx_m: lo?17:24
nuclear_eclipselme is back17:27
paul_nuclear_eclipse: you know what i'm going to ask ;p17:27
nuclear_eclipsenot yet ;)17:28
paul_:(17:28
* nuclear_eclipse will do that now...17:28
nuclear_eclipselinky17:28
paul_http://git.mantisforge.org/w/mantisbt/paul.git?a=shortlog;h=refs/heads/dates17:29
paul_http://git.mantisforge.org/w/mantisbt/paul.git?a=shortlog;h=refs/heads/bugobjects17:29
nuclear_eclipseyou should upload a master branch so I have a diff point of reference :P17:33
* paul_ STARES17:34
paul_just diff within the branch17:34
paul_http://git.mantisforge.org/w/mantisbt/paul.git?a=commitdiff;h=7d26292daa2ea0c3ee087722694b3ea130bac38417:34
paul_think that's one17:34
nuclear_eclipsek17:35
paul_http://git.mantisforge.org/w/mantisbt/paul.git?a=commitdiff;h=caeea25caef8e2ece7a0ce4adeb771a00955d26c;hp=2e32e0f16c8680ed8085253278b8061278cf244917:35
paul_that I believe is the 2nd17:35
nuclear_eclipsety17:35
paul_(albeit with a TODO (of where to set default_timezone17:35
nuclear_eclipsewhich is more "important" to review first?17:35
paul_both :)17:35
nuclear_eclipseie, if I don't get enough time to review both...17:36
paul_do bugobjects17:36
paul_as i'm included to do similar to what i've done there to userprefs this weekend17:36
nuclear_eclipseok17:36
paul_daryn_: did you get a chance to rerun schema conversation ? :)17:37
paul_(and good afternoon :P17:37
nuclear_eclipsepaul_: why do you use ReflectionClass as opposed to the standard object inspection functions?18:26
windsurf_I'm not receiving emails when a note is left on a bug. I've got the checkmark in my account checked, and in config_defaults_inc.php bugnotes is set to ON.18:26
windsurf_am I missing something?18:26
nuclear_eclipsewindsurf_: what server are you using?18:26
windsurf_it's a LAMP stack...18:26
windsurf_not sure exactly what you're asking18:27
nuclear_eclipsemake sure you configure your local MTA to allow outbound email sending - by default, Debian-based distros are configured for local relay only18:27
windsurf_i see...18:27
windsurf_so i might need to tweak something in cpanel18:27
windsurf_(that's what i have access to with my host)18:28
nuclear_eclipseoh18:28
paul_nuclear_eclipse: i've got a suspicion that the standard ones dont return the right output18:28
paul_what you thinking of? get_object_Vars or whatever iti s?18:28
nuclear_eclipseyou may need to specify SMTP server settings in your config_inc.php if you can't get mail working through the norma methods18:29
nuclear_eclipsepaul_: something like that18:29
nuclear_eclipsewindsurf_: you probably need to talk to your host to figure out what settings you need to use to get mailing working18:29
nuclear_eclipsepaul_: also, what is the point of switching everything to protected and then using __get()/__set()?  why not just keep them all as public properties?18:30
paul_right the standard ones18:31
nuclear_eclipsemeaning?18:31
paul_e.g. get_object_Vars dont show protected properties18:31
paul_the reason for using protected properties18:31
paul_is so I can cast ints to ints18:32
paul_i.e. if we have a function18:32
nuclear_eclipsethat seems a dubious reason...18:32
paul_that returns a bugid18:32
paul_we should return (int)bugid18:32
paul_by using ->var and __set to ensure we are putting in an int18:33
paul_we dont need to do (int)bugdata->var whenever we use ->var18:33
nuclear_eclipseit seems to me that the majority of your work is just adding more function calls to our already-gigantic function trace....18:33
paul_as we know that __get will return a var18:33
paul_well, not really18:33
windsurf_nuclear_eclipse: thanks, i'll try smtp, should work. What about port, apparently i need 2618:34
nuclear_eclipsealthough I like the use of $bug->id, having that now translate to a function call....18:34
paul_take the current bug_create18:35
paul_$c_project_id = db_prepare_int( $p_bug_data->project_id );18:35
paul_$c_reporter_id = db_prepare_int( $p_bug_data->reporter_id );18:35
paul_$c_handler_id = db_prepare_int( $p_bug_data->handler_id );18:35
paul_$c_reproducibility = db_prepare_int( $p_bug_data->reproducibility );18:35
paul_we *simplify* that18:35
paul_by doing it within a __get switch statement18:35
nuclear_eclipsewell, right, but we don't need __get()/__set() to simplify that...18:35
paul_we could implement18:35
paul_function set_project_id18:35
windsurf_found it18:36
paul_we can't do anything else can we?18:36
windsurf_class.smtp.php18:36
nuclear_eclipsepaul_: db_prepare_int( $x ) --> (int) $x18:36
paul_db_prepare_int only does (int) atm18:36
paul_but the point remains18:37
paul_we need to remember to cast everything everywhere18:37
nuclear_eclipsebut my point is that with __get(), $var->prop now makes a function call, instead of just a structure lookup18:37
nuclear_eclipseI'm just expressing a tiny concern; I'm not trying to say it's a failure or anything :P18:38
* paul_ nods18:38
paul_your spot on correct though18:38
nuclear_eclipseI've never really been fond of private properties anyways, because you only ever seem to be hiding things from yourself when you do that :/18:38
paul_what i'm basicallythinking is18:39
paul_atm18:39
paul_we're opening up plugins to access bugs18:39
paul_or more18:39
paul_opening up ourselves to user plugins18:39
paul_if we've got some code that expects ->reporter_id to be an int18:39
paul_(and lets say for sake of argument there's a security risk if it's a string18:39
paul_either in a plugin or internally or whatever18:40
paul_we can use __set/__get to ensure reporter_id is always an int18:40
nuclear_eclipseagreed; I like the principle of using __set(), but I think __get() is a little more dubious18:40
paul_Did __get in 0.0219860076904 seconds18:42
paul_Did -> in 0.0219769477844 seconds18:42
paul_--18:43
paul_Did __get in 0.15332698822 seconds18:43
paul_Did -> in 0.121922016144 seconds18:43
paul_100,000 interations of:18:43
paul_$test2 = new foo2;18:43
paul_$test2->b;18:43
nuclear_eclipseperhaps try profiling a run of `$b = new BugData; $x = $b->id + $b->user_id; ...` with and without the __get() function...18:44
paul_and oops18:45
paul_that first __Get18:45
paul_was a __get on something that is public18:45
paul_it drops to 0.34 if what you are getting is protected18:45
paul_Did __get(200000) in 0.543648958206 seconds18:46
paul_Did ->(200000) in 0.162312984467 seconds18:46
paul_for x=x+b+bb18:47
paul_seems to go from 0.162->0.167 if you do x=x+(int)b+(int)bb18:48
nuclear_eclipseright, so like I assumed, the overhead of __get() calls is noticeable, although perhaps not enougt to matter compared to the latency of database requests and so farth18:49
paul_incidently18:49
paul_if we remove the switch() statement from __get18:50
paul_it drops from 0.54->0.50/118:50
paul_i'm just running this on a test class atm of:18:50
paul_class foo { private $a; protected $b = 1; protected $bb = 1; protected $c; private $d; static $e18:50
nuclear_eclipseok18:50
paul_i.e. if we put functions inside the class, I dont know if that will affect the speed of __get (i'm guessing *not*18:50
nuclear_eclipseI would assume not18:51
paul_ofc, the other point you raise is valid18:51
paul_if we are using __set18:51
paul_to cast18:51
nuclear_eclipse__get() should only ever be called for properties18:51
paul_if a properties is public, it will still go via __Get right ?18:51
nuclear_eclipseright18:51
nuclear_eclipsewith __get(), you have to handle your own data-hiding, as the public/protected/private loses all of its context18:52
paul_i'm just wondering if i've done 'protected' for the sake of it more18:53
paul_i.e. we could use public on most things18:53
paul_although in a sense, this is mainly semantics we can fiddle with - it's internal to bug api18:53
windsurf_nuclear_eclipse: new info: the 'lost your password' email works, but i'm not getting emails when i create an issue or add a note to one. So, i guess my smtp stuff is all working. any other thoughts?18:53
nuclear_eclipseI think a "better" solution would be to a) keep everything public, and then b) drop __get() and only use __set() for casting/validating18:53
paul_as we can use __Set to define protected18:54
nuclear_eclipsewindsurf_: $g_email_receive_own = ON in your config_inc18:54
paul_the thing i kinda need thoughts on is:18:54
paul_for strings e.g. summary18:54
paul_ahh now I recall18:55
paul_for strings e.g. summary18:55
paul_I think I was half thinking18:55
paul_we'd deny ->summary18:55
nuclear_eclipsewhy?18:55
paul_and say you have to call either raw(), edit(), display()18:55
nuclear_eclipse:(18:55
paul_which would prepare a string for display or return thee raw string18:55
nuclear_eclipseI think that's starting to get too complicated...18:56
paul_atm, bug api is slow for reports18:56
paul_as if you look at some of the summary stuff we do18:56
paul_get bug18:56
paul_prepare_bug_display() which calls string_display about 20 times18:56
paul_get next bug18:56
nuclear_eclipseI'm not even sure why we do the bug_prepare_* stuff anyways...18:56
paul_I think it's just an 'easy' way to make sure we never do ->summary without putting it via string_display18:56
nuclear_eclipsewhy don't we just defer string_display() until we actually display it, like everything else in Mantis?18:57
* paul_ shrugs :)18:57
paul_part of me thinks however18:57
paul_if bug api makes the author using it think18:57
paul_'what am i doing with this data'18:58
paul_i.e. the  you have to call either raw(), edit(), display() comment18:58
paul_when we get plugins displaying summary information18:58
paul_we're not going to have security issues from people forgetting to call string_display18:58
paul_similarly, there's performance differences between string_display, string_display_line etc18:58
nuclear_eclipsepaul_: I don't like that sort of contcept18:59
nuclear_eclipseit should be up to the plugin to use the data appopriately, because what's to stop a plugin from doing ->raw() and displaying that anyways?18:59
paul_nothing, but you'd hope it would encourage people to think :)19:00
nuclear_eclipseI think it makes more sense for everything to always be "call string_display*() when you output something", and be as consistent as possible about that throughout all of mantis19:00
nuclear_eclipsepaul_: nothing will encourage idiots to think ;)19:00
paul_that was one reason19:00
nuclear_eclipseidiots will leap the tallest hurdles in their way just to keep from having to think about what they're doing..19:01
paul_the other reason was,19:01
paul_by using ->edit() and ->display(), I need to worry less about introducing security bugs by removing prepare_bug_* :)19:01
paul_(as it'd make changes, block->__get summary and test ;p19:02
nuclear_eclipseI'm not sure how it changes anything; you'll already need to find and replace all existing uses of bug_prepare_* anyways...19:02
paul_bug_prepare prepares 20 strings of a bugdata object19:02
paul_that then get used :)19:02
windsurf_nuclear_eclipse: thanks19:02
paul_so I drop one function call19:03
paul_but the 'secure' output that function call used to give us19:03
paul_might be used in 30 places19:03
nuclear_eclipsewell, right, but I'm not quite sure how that's any different than needing to call ->display() for anything you need to output...19:03
paul_anyway, bored of discussion now ;)19:03
nuclear_eclipseat least using string_display() is more consistent with the rest of the codebase19:03
nuclear_eclipsewindsurf_: you're welcome19:04
paul_i'll remove the __Get19:04
paul_make protected->public19:04
paul_and drop display() etc19:04
paul_as an aside19:04
paul_one thnig the __get would give us19:04
paul_we could define ->reporter_name19:04
paul_or what i was thinking ->attachmentcount19:05
paul_i.e. make life a bit easier for someone using bugdata19:05
paul_anyway, if i make those changes and test a bit19:06
windsurf_nuclear_eclipse: ok, so that's working, the only thing that doesn't seem to work is email notification when a note is added to a bug19:06
paul_that should be fine to commit right?19:06
nuclear_eclipse I think that's starting to introduce complexities and behavior hiding that's not as necessary, because then ->reporter_name='Jack' becomes undefined, and once again breaks consistency, ie, you'd then need to implement that sort of thing on *every* data object we use,  rather than just using the already existent function call for user_get_name( $bug->reporter_id )19:06
nuclear_eclipsebut yes, with the changes you mentioned, I would agree with you pushing that to 1.2.x19:07
paul_got time for dates?19:07
paul_;p19:07
paul_also19:07
paul_i've started looking at /admin and utf819:07
nuclear_eclipsemaybe in a short bit I'll look at that19:07
nuclear_eclipsewindsurf_: by default, bug notes only send notifications to users that have "touched" that bug, eg, the reporter, the handler, anyone who updated it, and anyone monitoring it19:08
nuclear_eclipsewindsurf_: see $g_notify_flags in config_defaults_inc, and if you want to change anything, make the changes in your config_inc19:09
windsurf_nuclear_eclipse: so i can put the same vars in config and that overrides config_defaults because it gets included later or something?19:16
nuclear_eclipseyep19:16
windsurf_still having trouble. I have users that are reporters and users that are developers. I want all activity on an issue to have email notifications to both types of users...19:35
windsurf_i think i've only managed to get developers receiving notifications of stuff that reporters are doing19:36
nuclear_eclipsewindsurf_: if you change $g_notify_flags[xxx]['threshold_min'] = REPORTER, then it will make sure everybody receives a message for the given action, but note that it will likely result in a lot of email, and may not be what your users want19:37
windsurf_nuclear_eclipse: so that works for creating issues, and changing status, but not adding notes to a bug19:44
windsurf_i don't think i've ever gotten a notification for that19:44
nuclear_eclipsehmmm19:44
windsurf_i think i might have seen that is a bug out there...19:44
nuclear_eclipsewindsurf_: what version are you using?19:44
windsurf_1.1.2 i think19:44
nuclear_eclipseoooh....19:45
windsurf_confirmed19:45
windsurf_should i upgrade?19:45
nuclear_eclipseyes, not only to fix that, but for a large amount of security fixes19:45
windsurf_ohhh19:45
windsurf_ok :)19:45
windsurf_does it affect my strings and html templates? i fiddled with that a fair bit19:45
windsurf_guess we'll see.19:46
nuclear_eclipseif you've modified any of the core code, it most likely will19:46
nuclear_eclipseyou could always save a diff of your changes and then try to apply those changes back to 1.1.6....19:46
nuclear_eclipsehi giallu19:46
nuclear_eclipsegiallu: make a decision about phpmailer in 1.1.x; I want to release :P19:47
gialluhi19:47
giallunuclear_eclipse, if you want to release, _you_ decided ;)19:47
windsurf_nuclear_eclipse: true19:48
giallunuclear_eclipse, I guess it's ok to go ahead19:48
giallulet's break stable later...19:48
nuclear_eclipseI'm not sure I have a correct idea of a) the severity of the bug, or b) the effort required to update phpmailer...19:48
giallunuclear_eclipse, updating phpmailer is easy, backporting related stuff is harder19:49
nuclear_eclipsethat's mostly what I meant :P19:49
giallu:P19:49
gialluso I don't think we can rush this now19:49
nuclear_eclipseeffort required = time to update phpmailer + time to backport all phpmailer fixes/changes19:49
gialluI think we could:19:49
giallu1. release 1.1.7 now19:49
windsurf_nuclear_eclipse: how do i do an update, am i supposed to ftp up a new version then click the upgrade 'cause nothing really eventful happened, is it just modifying the db?19:50
giallu2. update phpmailer19:50
giallu3. backport most important fixes19:50
nuclear_eclipsewindsurf_: between minor versions, there are no db schema changes, so it should just be a matter of uploading the new code19:50
giallu4. release a 1.1.8rc so it gets tested in the wild...19:50
windsurf_nuclear_eclipse:  ok thanks19:50
nuclear_eclipsegiallu: sounds like a plan19:51
nuclear_eclipseI try to pop a release sometime tonight or over the weekend19:51
gialluok19:51
gialluthank you19:51
nuclear_eclipsestill gotta prepare my presentation for barcamp tomorrow :P19:51
paul_nuclear_eclipse: your moving to ohio?19:52
nuclear_eclipseyes, at the end of July19:52
paul_how comes?19:52
paul_or more what's in ohio19:52
nuclear_eclipsefamily for both my wife and me19:53
* paul_ wonders how old nuclear_eclipse is19:53
nuclear_eclipsewe both grew up in Ohio, and we only live here in Rochester because of university19:53
nuclear_eclipse<- 2319:53
paul_young marriage ;)19:53
nuclear_eclipse24 in ten days :P19:53
paul_and both daryn+giallu have kids?19:53
nuclear_eclipsewe've actually been married for almost four years now ;)19:54
nuclear_eclipsewe were dating since early high school19:54
paul_on a different subject briefly19:54
* giallu has 219:54
paul_can i collapse a branch into 1 commit?19:54
paul_2?19:54
nuclear_eclipseyes19:54
paul_how?19:54
paul_I thought you had 1 baby?19:54
giallugit rebase --interactive19:54
nuclear_eclipseor git merge --squash19:54
giallupaul_, see http://www.gnome.org/~federico/news-2008-08.html#git-rebase-interactive19:55
nuclear_eclipsepaul_: see `man git-rebase` or `man git-merge` :P19:55
paul_giallu: i'm gonna break stuff ;)19:55
* daryn has...10 today19:55
giallupaul_, I'm at 2 since Nov 200819:55
paul_daryn: 10 kids?????19:55
daryn4 bio, 3 full time foster, 3 weekend foster19:55
gialluoops 2007 ;)19:55
darynthat they are trying to place with us long term19:56
darynmy wife is insane19:56
darynsoon i will be too19:56
paul_you get paid for fosters?19:56
nuclear_eclipsehow do you have weekend foster kids?19:56
darynyeah.19:56
darynthis was emergency19:56
paul_was yea at me or john?19:56
darynyou can do respite care too19:56
darynyeah was at you, but believe me, it really isn't the money19:57
paul_and how come you have 3 weekend only?19:57
darynthey don't pay enough to deal with most of these kids19:57
darynthey were removed from the home last night and needed a quick place.  we're on call permanently19:58
paul_'the home' being parental home or childrens home?19:58
darynparental19:58
darynpolice removal19:58
nuclear_eclipsefun!19:59
darynoh, yeah!20:00
paul_hmm, how old are these 7 kids?20:00
daryn17,11,11,10,8,7,520:00
paul_do they tend to settle down 'ok' (Well)20:02
darynmmm....depends on the day20:02
darynthe 17 year old and our four are typically fine.  the two boys, 11 and 8, are a handful20:03
paul_how old are your 4?20:03
daryn11,10,7,520:03
paul_nuclear_eclipse: let me know if your gonna look at dates too btw20:17
paul_daryn: did you say you ran the new upgrade?20:17
* paul_ forgets20:17
nuclear_eclipseI'm doing a cursory glance atm20:17
darynno...sorry20:20
paul_daryn: can you try before you go for w/e20:24
darynk. what am i looking for this time?20:24
paul_you said it was slow20:24
paul_to upgrade20:24
paul_so i've tried to group upgrades together20:24
darynah, yes. ok20:24
paul_i.e. all of bug table into 1 run not 3 runs20:24
nuclear_eclipsepaul_: /me thinks we need a date_api.php ;)20:45
nuclear_eclipsepaul_: just to make sure I understand, dates branch currently does nothing but add a constant and start adding data points for selecting user timezones, but no actual data manipulation yet for timezones?20:50
* nuclear_eclipse heads out21:04
nuclear_eclipsecheers21:04
paul_nuclear_eclipse: no we dont21:06
paul_and no21:06
paul_there's a manage page21:06
paul_and it converts data21:06
* paul_ wonders if daryn went for w/e too21:09
darynnot yet...21:09
daryni'm an hour behind john21:09
paul_reckon you'll have time to run script before your off?21:12
darynpaul_ here goes...21:33
darynhm...still running21:37
daryndone...took 5:2121:39
darynlast updated seems wrong21:41
darynall are 12-31-1969 18:0021:41
darynpaul_?21:44
darynwell...i gotta run.  i don't think it's working right.21:48
darynchat later21:48
paul_12-31-1969 18:00 is probably = 1 unixtimestamp22:33
paul_hmm22:33

Generated by irclog2html.py