| ../irclogs/#mantishelp.2010-01-19.log | ||
| --- scribe started --- | 00:00 | |
| CIA-22 | Mantisbt: hickseydr master-1.2.x * r077921d056b9 /core/history_api.php: Fix #11413: Product version field string not localised in history | 02:06 |
|---|---|---|
| CIA-22 | Mantisbt: hickseydr * r0bf664474ba9 /core/history_api.php: Fix #11413: Product version field string not localised in history | 02:06 |
| jojo | lol, is the name of the 1.1.8 release "just ask"? | 06:04 |
| jojo | anyone here familiar with some of the internals of the 1.1.8 branch? got a question about the filter api | 06:04 |
| dhx_m | jojo: hi | 06:05 |
| dhx_m | jojo: please note the 1.1.x branch is not actively developed anymore, you probably want to look at the 1.2.x and/or 1.3.x branches instead | 06:05 |
| dhx_m | ie. architectural changes only happen in the 1.3.x branch at the moment | 06:06 |
| jojames | yea. I figured. Unfortunately we're just finishing up a project involved with using the 1.1.8 branch, and people need reports out of it. | 06:06 |
| dhx_m | and 1.1.x and 1.2.x are vastly different (years of development) so questions relating to 1.1.x don't necessarily apply to 1.2.x | 06:06 |
| jojames | oh years huh? | 06:06 |
| dhx_m | and most developers here don't work with 1.1.x anymore :) | 06:06 |
| jojames | dang..... | 06:06 |
| dhx_m | however | 06:06 |
| dhx_m | filter_api hasn't been updated in ages AFAIK | 06:06 |
| dhx_m | so it might be more consistent than say, bug_api (switched -partially- to an object model) | 06:07 |
| jojames | thats good. I'm pretty sure my question is simple enough for someone familiar in building filters to answer. | 06:07 |
| dhx_m | if you're generating reports... what type? | 06:07 |
| dhx_m | yeah fire away :) | 06:08 |
| jojames | all I need is csv reports, as I currently have the most control on what they output | 06:08 |
| jojames | the only things I need to add to the csv report are the description and additional_information fields from the bug_text table | 06:08 |
| jojames | I know why the currently implemented functions don't look there when you make the custom column title and value fetching functions | 06:09 |
| jojames | when the csv exporter script fetches the rows in order to begin building the file, the rows it gets (using a call to the filter api) don't include the table with those two fields | 06:09 |
| jojames | and i'm wondering if I can take advantage of the custom filter param as passed to the filter_get_bug_rows function in order to have those two fields added | 06:10 |
| jojames | in that case, all of the default functionality for building the list of column titles and values for the csv can be taken advantage of. as it stands, I've already made up functions that the print column title function calls to print the appropriate title text for description and additional info. | 06:12 |
| jojames | if i'm not being clear, please let me know how I can clarify | 06:12 |
| dhx_m | it'd be better to add new functions like you've already started doing | 06:13 |
| dhx_m | AFAIK we've had to add them in 1.2.x because they were missing in 1.1.x | 06:13 |
| dhx_m | just be careful that you're properly escaping full text fields before plonking them in CSV files ;) | 06:13 |
| dhx_m | especially with respect to line breaks | 06:13 |
| jojames | i'm going to take a cue from how the system handles outputting the summary text and see what happens ;-). frankly my company has been burned by using software not marked release, we didn't know the 1.1.8 branch was so old though. | 06:16 |
| jojames | and reading through the get bug rows function kinda made my eye twitch | 06:18 |
| jojames | thanks for the support | 06:18 |
| dhx_m | well you could always make reports via drawing information directly from the database with SQL | 06:19 |
| dhx_m | it'd be quite easy to do :) | 06:20 |
| dhx_m | jojames: well 1.2.x has been in "RC" state for months now.... we've just got a few minor things to fix before release | 06:20 |
| dhx_m | this RC is a *lot* more stable (and tested) than most RC software you see | 06:21 |
| dhx_m | actually... 1.2.0RC2 is quite old too... lots of bugs :) | 06:21 |
| dhx_m | we really needed an RC3 sometime before christmas IMO | 06:21 |
| jojames | i see | 06:22 |
| jojames | you're right, it probably would have been more straightforward to just write it all out myself | 06:23 |
| dhx_m | I'm not much of an advocate for software versioning though (I'd much sooner see all versioning disappear)... so I'm a little biased :) | 06:23 |
| jojames | i'll call it a brain exercise | 06:23 |
| jojames | oh yea? | 06:23 |
| dhx_m | I guess it depends what format you need the reports in | 06:23 |
| jojames | just csv so our windows laden customer can sort the stuff with excel. | 06:24 |
| jojames | what do you have against versioning? | 06:24 |
| dhx_m | jojames: every project and developer treats version numbers differently, and it says little about the quality of software... the only way IMO to measure quality is to try it yourself, or wait for a project to build up a reputation for releasing stable/bug-free software | 06:24 |
| jojames | well when you put it like that | 06:25 |
| dhx_m | in the news recently you may have heard about Firefox's plan to introduce new features in 3.6.x minor releases | 06:25 |
| jojames | no actually | 06:25 |
| jojames | that.... obviously, doesn't sound right | 06:26 |
| dhx_m | where you'd normally only expect new features in 3.x releases | 06:26 |
| jojames | or at least, consistent | 06:26 |
| jojames | point | 06:26 |
| dhx_m | more to the point: if I find a bug in software, I prefer to fix it myself, submit a patch upstream, get it committed... and then I want to start using it straight away | 06:27 |
| dhx_m | distributed version control tools like git can be used to keep new features out of the mainstream branch until they're proven stable | 06:27 |
| jojames | so the leaf developer can use the feature they just added, but everyone pulling from the guy holding the canon release | 06:27 |
| dhx_m | much in the way the Linux kernel repository maintained by Linus works (patches/features are developed in other branches first and tested in those branches) | 06:28 |
| dhx_m | the most stable version of software is often the latest one, depending of course on how strict upstream is about testing patches before committing them | 06:29 |
| jojames | you know, i never thought about it that way | 06:30 |
| dhx_m | it's a little bit radical ;) | 06:30 |
| dhx_m | I also tend to be from the school of thought that teaches enhancements being a subset of defects | 06:31 |
| dhx_m | whereas a lot of people like to separate the two | 06:32 |
| jojames | i guess its kinda like the speech that perl guy gave about how community support is different and stronger than contractual support | 06:32 |
| jojames | some people do the reverse, consider new bugs to be "features" | 06:32 |
| dhx_m | haha, I think the Gnome project cops that criticism a fair bit | 06:33 |
| jojames | lol | 06:33 |
| dhx_m | I guess the problem with contractual support is that it tends to be implemented extremely poorly by developers and customers | 06:34 |
| jojames | the argument the guy made in favor was that the key was love. | 06:35 |
| dhx_m | ie. developers hire clueless drones to man helpdesks while customers don't RTFM and ask stupid questions | 06:35 |
| jojames | like, theres a shinto shrine in japan that is rebuilt every thousand years | 06:35 |
| dhx_m | got a link? sounds interesting :) | 06:35 |
| jojames | yea hang on. | 06:35 |
| jojames | http://www.youtube.com/watch?v=Xe1TZaElTAs | 06:36 |
| dhx_m | thanks | 06:36 |
| jojames | its a little long, but I think the speaker is engaging, and does a good job of explaining his point | 06:36 |
| jojames | so what do you hack on when you're not in the mantis room | 06:36 |
| dhx_m | I used to spend a little bit of time getting bleeding edge packages to compile under Gentoo (a lot of software is released in a state that doesn't build, depending on what features you enable/disable at build time) | 06:37 |
| dhx_m | saying that, 99% of my hacking is done towards Mantis at the moment | 06:38 |
| jojames | holy crap. gentoo broke me. | 06:38 |
| dhx_m | so you're a Linux user then? | 06:39 |
| jojames | I like to pretend | 06:39 |
| jojames | i admin linux servers, lightly | 06:39 |
| jojames | i have an apple, work gives me a windows laptop | 06:40 |
| jojames | and I install linux on any server i'm given | 06:40 |
| dhx_m | Gentoo gets a lot of bad press - from people that don't understand why to use it | 06:40 |
| dhx_m | and by "why to use it", I'm not referring to how to install it | 06:40 |
| dhx_m | I refer to the benefits of selecting Gentoo over another distribution | 06:40 |
| jojames | right, for example I met a guy who builds data centers using gentoo, and the control the package manage gives over dropping in distros configured exactly the way you want is a really powerful thing | 06:41 |
| dhx_m | performance isn't really one of them either (a lot of people think it is?) | 06:41 |
| jojames | oh its not? | 06:42 |
| dhx_m | Gentoo cops a lot of jokes about users setting their CFLAGS (compiler settings, effectively) to -O99 -funroll-loops -fmake-it-go-as-fast-as-possible | 06:43 |
| jojames | i thought people went to the nines to get gentoo to perform well, hence the reason they wanted fine grained, wide sweeping controls to manipulate what features got compiled into what packages | 06:43 |
| jojames | lol | 06:43 |
| dhx_m | when in reality, bottlenecks aren't typically caused by the difference between a function being inlined or not | 06:43 |
| dhx_m | well it's true... Gentoo is for power users that want to adjust and have control over *everything* | 06:44 |
| dhx_m | but it tends to be more a case of being able to select which features you want to compile into PHP | 06:44 |
| jojames | well, how knowledgeable would you say you were when you met up with gentoo | 06:44 |
| dhx_m | or whether you want to use pulseaudio, jackd or some other audio software | 06:45 |
| dhx_m | clueless ;) | 06:45 |
| dhx_m | well not clueless... | 06:45 |
| dhx_m | before that I had used Ubuntu a little bit and also CentOS on servers | 06:46 |
| dhx_m | one of the main reasons I think I gravitated towards Gentoo is the pain of having to recompile a package like PHP to build in support for an extension not enabled by default in the CentOS RPMs | 06:46 |
| dhx_m | however I didn't know how to use sed, awk, grep, compile a kernel, etc before using Gentoo :) | 06:48 |
| jojames | I was about to ask, what were the difficulties you had encountered | 06:48 |
| dhx_m | you tend to just pick up the details as you go along (Gentoo has great manuals/tutorials) | 06:48 |
| jojames | I personally recently ran into an issue where the centos repos didn't have a more updated version of php to support my companies webmail app, so we had to migrate it off the server onto ubuntu or something else | 06:49 |
| dhx_m | one of the problems I find with Gentoo (and this isn't really Gentoo's problem - it tends to be the upstream projects) is incompatibility between different software | 06:49 |
| jojames | what do you mean? | 06:49 |
| dhx_m | for instance, a library is updated that changes the API... and developers for software depending on that library are too slow in generating a new release | 06:50 |
| dhx_m | hypothetical: | 06:50 |
| dhx_m | SoftwareA depends on LibraryA version 1 | 06:51 |
| dhx_m | SoftwareB depends on LibraryA version 1 | 06:51 |
| dhx_m | LibraryA version 2 is developed with new features | 06:51 |
| dhx_m | SoftwareA is updated to use the new features of LibraryA version 2 | 06:52 |
| dhx_m | you really want to use SoftwareA version 2 because it has useful features | 06:52 |
| dhx_m | however, SoftwareB hasn't been updated yet to work with LibraryA version 2 | 06:52 |
| jojames | oh | 06:53 |
| dhx_m | Gentoo can solve this problem (sometimes) with "slots" (having multiple versions of a library installed at once) | 06:53 |
| jojames | theres a | 06:53 |
| jojames | package manager that purports to solve that problem | 06:53 |
| jojames | lemme find a link. their theory seemed to be sound, but I haven't found the need to install it anywhere yet | 06:54 |
| jojames | http://nixos.org/ | 06:55 |
| jojames | i wish i could say more, like i've used it and it works great, but I read up on how the system works, and it seems like an elegant solution | 06:56 |
| dhx_m | it sounds like it shares a bit in common with Gentoo | 06:58 |
| dhx_m | but it takes the idea of slots far further | 06:58 |
| dhx_m | I'm not sure how it entirely works from my brief read of their website | 07:00 |
| jojames | yea like i said, from the way the manual explains how it works, it seems to make sense. | 07:01 |
| dhx_m | but I'm curious to hear how a theoretical update of gcc that introduces new security features (example: stack canaries) would work with their distro | 07:02 |
| dhx_m | it may make sense to recompile *everything* to make use of the new feature | 07:02 |
| dhx_m | but in the process, things may break | 07:02 |
| jojames | you know, I don't have an answer to that | 07:04 |
| dhx_m | hopefully it's not as stupid as the situation with software packaging and Windows | 07:06 |
| jojames | lol | 07:06 |
| dhx_m | if you have 5 different pieces of software on Windows depending on LibraryA version 1.1 | 07:07 |
| jojames | zomg joo need to downgrade your version of the mvc runtime | 07:07 |
| dhx_m | and a major security flaw is found in LibraryA, resulting in the need for a version 1.2 | 07:07 |
| dhx_m | you obviously want to ensure all 5 pieces of software immediately depend upon 1.2 | 07:07 |
| dhx_m | with Windows (and possibly some Linux binary distributions too) you'd have to download 5 new versions of the software | 07:08 |
| dhx_m | it's up to the developers to go to the trouble and overheads of making a release | 07:08 |
| dhx_m | with something like Gentoo, developers don't have to make a new release | 07:09 |
| dhx_m | (the reason you'd have to download all 5 pieces of software rather than just 1... which updates a shared library) | 07:09 |
| dhx_m | ... is that different versions of libraries are stored individually for each application (slotting) | 07:10 |
| jojames | are we assuming that the user can not recompile the programs himself? | 07:11 |
| dhx_m | predominately yes | 07:12 |
| jojames | oh | 07:12 |
| dhx_m | however users shouldn't have to find the 5 pieces of software depending upon the library, recompile them manually, etc | 07:12 |
| dhx_m | the package manager should make it easy for them :) | 07:13 |
| jojames | well sure | 07:13 |
| jojames | but, according to what you've told me, how is gentoo different from say, running some other distro's update utility on the files that have have updated dependencies? | 07:13 |
| jojames | imagining that new releases of the packages have not been pushed out, updating one dependency... er.... | 07:14 |
| jojames | in my mind, somewhere there is a link to telling local packages that they should be recompiled because an update has been applied to a dependency... | 07:14 |
| dhx_m | well in a decent distro, there wouldn't be any difference :) | 07:14 |
| dhx_m | I was mostly referring to the Windows approach | 07:15 |
| jojames | oh | 07:15 |
| jojames | gotcha | 07:15 |
| dhx_m | and with respect to distros, possibly like NixOS, where you have multiple concurrent version of a library in use | 07:16 |
| dhx_m | so you'd have to manually backport a patch to older versions of each library for users who want to use old software | 07:16 |
| dhx_m | = a huge amount of overhead and development work from the distro maintainers | 07:17 |
| jojames | fair enough | 07:18 |
| jojames | heres something interesting | 07:19 |
| jojames | im still working on this csv export thing, and I've found that by adding appropriate functions, that mirror functions that print out other column header titles as stored in the database, I can print out the proper titles for the description field and the additional info field, which suggests to me that some data from the bug_text table has been incorporated into the result of the call to get rows of data to print, but mirroring the functions | 07:21 |
| jojames | that get the values of those columns results in no output | 07:21 |
| jojames | so far from the time I print the column titles to the time I print the column values, I've still done only one query, but | 07:22 |
| jojames | eventually, this talk is going to lead up to me either writing my own completely separate routine that builds the query I want, or i 'm going to ask you how you usually debug php code live | 07:23 |
| dhx_m | yeah AFAIK the data is all pulled from the database, but without a function to print the data, nothing is done with it | 07:23 |
| dhx_m | SELECT * for instance | 07:23 |
| dhx_m | then Mantis checks what fields are returned, and tries to call a function for each field (if the function exists) | 07:24 |
| jojames | right. right there, I made such a function, that mirrors the function that prints out the summary | 07:24 |
| jojames | in effect, a cvs_format_description function. | 07:24 |
| jojames | and it gets called. control enters the function just like it does for the summary field, and does the same thing. but no data is getting passed to it, suggesting that I need to change the way the query gets built just slightly. which is built using that filter api function | 07:25 |
| jojames | or, to make it easier on you, how do you watch a php system live? akin to watching a binary file with a debugger | 07:32 |
| dhx_m | sorry was just watching Clay's talk you gave me a link to before, quite interesting :) | 07:33 |
| dhx_m | and yes, he's a good speaker | 07:33 |
| dhx_m | back to debugging PHP... I'm not too sure about that | 07:33 |
| jojames | so you're saying that the majority of php developers just write the code, read the standards, and when they need to debug something they walk through the code? | 07:35 |
| dhx_m | the majority would use die() and var_dump() I imagine... as per this article: http://devzone.zend.com/article/2930 | 07:35 |
| dhx_m | but that article also mentions how to use xdebug to trace/profile PHP code | 07:35 |
| dhx_m | the problem I see is you need a client that can step through PHP code while it's executing | 07:36 |
| dhx_m | and because you probably want to test under web server conditions, you can't just load a PHP thread within the debugger of your choice (the thread/process is spawned by the web server instead) | 07:37 |
| dhx_m | I imagine xdebug might be able to fix that problem somehow | 07:37 |
| jojames | well.. what do YOU do | 07:37 |
| dhx_m | mostly just check for PHP errors and fix them as they arise | 07:38 |
| dhx_m | or isolate a function, write some test harnesses for it, compare inputs/outputs | 07:38 |
| dhx_m | or for white box testing... add echo statements within a function to see what's happening throughout | 07:38 |
| jojames | ok | 07:39 |
| dhx_m | it's not that much of a big deal when you have two monitors/windows and can have code on one screen, a browser on the other (which you refresh with a single key press) | 07:39 |
| dhx_m | I'm certain there are much better ways of debugging PHP code though | 07:39 |
| jojames | hmm | 07:39 |
| jojames | welwl | 07:39 |
| dhx_m | but afaik nothing like gdb | 07:40 |
| dhx_m | oops | 07:40 |
| dhx_m | you can heh | 07:40 |
| jojames | well. millions of php developers seem to do pretty well getting by with no easy way to step through live php, so they must be doing something right | 07:40 |
| dhx_m | this is the way then: http://xdebug.org/docs/remote | 07:40 |
| dhx_m | I've never really done enough development to have a need to look into this area properly | 07:40 |
| jojames | lol well then | 07:40 |
| dhx_m | but yeah, PHP programmers don't have a great reputation amongst the wider programming community :) | 07:41 |
| jojames | why do you think that is? | 07:42 |
| dhx_m | PHP isn't a strong language | 07:47 |
| dhx_m | and it has traditionally been easy to program with, attracting newer and less experienced developers | 07:48 |
| dhx_m | I'd say the same problem affects other web scripting languages too | 07:48 |
| jojames | ahh | 07:49 |
| dhx_m | it's not like your average PHP developer is going to have to go out of their way to learn about algorithms for looking up values in b* trees | 07:50 |
| jojames | certainly not | 07:50 |
| jojames | aaaaaaah i found what was throwing me offffff | 08:48 |
| jojames | when printing the column titles, the print function uses the lang_get function for the words description and additional information | 08:49 |
| jojames | i though it had somehow included the rutting bug text table and was pulling the wool over my eyes as to how it was doing that | 08:49 |
| bolshi | hello | 08:54 |
| bolshi | i've got problems running emailreporting | 08:55 |
| bolshi | i installed the rc2 version | 08:55 |
| bolshi | of mantis | 08:55 |
| bolshi | and the latest release of MantisBT-1.2.0rc2_plugin_EmailReporting-0.7.4.rar | 08:56 |
| bolshi | i put every plugin into the plugin folder | 08:57 |
| bolshi | pluginmanager works fine | 08:57 |
| bolshi | emailreporting says nothing | 08:57 |
| bolshi | do i have to do additional things except unpacking files in the right folder? | 08:58 |
| dhx_m | pluginmanager is for Mantis 1.1.x | 09:03 |
| dhx_m | not 1.2.x | 09:03 |
| dhx_m | Mantis 1.2.x introduces a new plugin system incompatible with the old one created by deboutv | 09:03 |
| bolshi | pluginmanager was just a test | 09:04 |
| bolshi | i only wanted to find out if different plugins work | 09:05 |
| dhx_m | check the plugins at git.mantisforge.org | 09:05 |
| bolshi | do i need a special version using emailreporting | 09:05 |
| dhx_m | it's not officially supported in any way, so you'd have to ask questions about it in the bug ID or website where it is developed | 09:06 |
| bolshi | pitty | 09:07 |
| bolshi | thanks for your hint | 09:07 |
| dhx_m | do you know where you got it from? | 09:12 |
| dhx_m | the people who made that plugin should be able to help you out | 09:12 |
| jojames | fyi dhx_m, I got it all working. | 12:08 |
| dhx_m | jojames: great :) | 12:08 |
| jojames | thanks for kicking ideas around with me, and if you hear of anyone else who still needs to do this let me know. otherwise, we'll be porting to the latest for our next project, and i'll contribute against that tree | 12:08 |
| dhx_m | we love receiving patches, especially from git format-patch :) | 12:09 |
| jojames | fair enough. its about time i tried out git | 12:09 |
| dhx_m | afaik a lot of the CSV/column issues should be fixed in 1.2.x now | 12:10 |
| jojames | thats neat. can't wait to try all that new stuff out! ok, i'm out. see you around! | 12:10 |
| dhx_m | ok cya, nice talking to you before :) | 12:11 |
| jojames | likewise :-), night | 12:11 |
| bolshi | Which file do I have to call if I want to install Mantis ver. 1.2.0rc2? | 13:41 |
| bolshi | got it: http://www.mantisbt.org/manual/manual.installation.php | 14:13 |
| felipepereira | hi all | 18:15 |
| felipepereira | i'm need help | 18:15 |
| felipepereira | with mantis | 18:15 |
| felipepereira | .. | 18:17 |
| paul__ | moo | 21:42 |
| nuclear_eclipse | hi paul__ | 21:45 |
| nuclear_eclipse | any news on your columns fixes? | 21:45 |
| paul__ | ldap changes first | 21:45 |
| * paul__ sighs | 22:09 | |
| paul__ | dhx_m broke something else :( | 22:17 |
| paul__ | nuclear_eclipse: what version of mysql do you run? | 22:22 |
| nuclear_eclipse | 5.0 I think | 22:31 |
| paul__ | next question | 22:31 |
| paul__ | who originally added mysqli type? | 22:31 |
| paul__ | me or victor | 22:31 |
| nuclear_eclipse | Version: 5.1.37-1ubuntu5 | 22:32 |
| nuclear_eclipse | no clue | 22:32 |
| nuclear_eclipse | that's been there for longer than I have | 22:32 |
| paul__ | I think db_fetch_array needs fixing | 22:33 |
| paul__ | i.e. should cover mysql,odbc_mssql AND mysqli | 22:33 |
| nuclear_eclipse | paul__: afaik, there really isn't anything different in how mantis treats mysql vs mysqli | 22:34 |
| paul__ | erm, there is in terms of c code | 22:34 |
| nuclear_eclipse | I meant more in "does mantis actually make calls to different php functions" | 22:35 |
| paul__ | yes | 22:35 |
| paul__ | we do | 22:35 |
| nuclear_eclipse | last I looked, both mysql and mysqli almost alsways hit the same case block | 22:35 |
| paul__ | yes | 22:35 |
| paul__ | but | 22:35 |
| nuclear_eclipse | oh, but adodb handles it different, eh? | 22:35 |
| paul__ | adodb will call either mysql_ or mysqli_ | 22:35 |
Generated by irclog2html.py