Saturday, 2012-05-26

*** Quits: dhx1 (~anonymous@60-242-247-232.static.tpgi.com.au) (Remote host closed the connection)02:22
*** Joins: dhx1 (~anonymous@60-242-247-232.static.tpgi.com.au)02:27
*** Joins: Paul_46 (~IceChat09@cpc1-enfi15-2-0-cust580.hari.cable.virginmedia.com)06:10
dhx1Paul_46: ping06:36
Paul_46.06:37
dhx1the vulnerability report sent through today is a waste of time from what I can see06:39
dhx1bogus non-issues06:39
Paul_46where?06:39
dhx1paul@mantisforge.org06:39
Paul_46waste of time :)06:42
dhx1yea06:43
Paul_46I stripped out null bytes from gpc stuff in mantisbt2 with https://github.com/grangeway/mantisbt/commit/f3c032f8e46abce74dd3ebf0a50e0cbbd677653b06:44
Paul_46back in 1006:44
Paul_46oh well06:45
Paul_46the nusoap stuff needs dumping06:45
Paul_46we've already removed prototype i think06:45
Paul_46database api got rewritten06:46
Paul_46adodb is dead06:46
Paul_46so that basically leaves that import [a plugin] can upload files06:47
Paul_46and back07:00
dhx1yeah07:07
Paul_46I replied07:12
Paul_46but dhx07:12
Paul_46this is where i'm hoping I can use objects to tidy things up07:13
Paul_46and exploring that angle07:13
Paul_46as atm07:13
Paul_46we have 200000000 functions that do random things07:13
Paul_46some expect valid input07:13
Paul_46some check07:13
Paul_46and it's not consistent :)07:13
Paul_46dhx1: I looked at implementing/using zeta's mailer component instead of phpmailer - so we can do html mails etc easily and have fewer dependencies- https://github.com/grangeway/mantisbt/commit/9e13b3b0035f6fe481fb32824cb7f449e5af634d07:14
dhx1will check it out07:15
Paul_46whilst doing that I looked at our use of the variable to limit email domains07:15
Paul_46and did two things07:15
Paul_46allow it to take a array of domains not just a single string07:15
Paul_46but also, whilst doing that released that  you can signup, update a user or a manager can update a user07:16
Paul_46IIRC, it appeared that the limit of domain's only applied to updating for both user+admin07:16
Paul_46but you could sign up with any domain :)07:16
Paul_46it was either that or the disposable email stuff [which is enabled by default with no config to disable???] has that functionality07:17
Paul_46anyway, this is why i dont mind ignoring 1.2/1.3 atm07:20
Paul_46there's no one deving big features07:20
Paul_46and bugfixes are easy to port if needed later on07:20
dhx1email notifications are only one aspect of many07:20
Paul_46but we need a simpler core we can build on07:21
Paul_46and to me, that means project/bug/user object07:21
dhx1objects are inflexible though07:22
dhx1they're OK for simple purposes such as editing/viewing a project, user, etc07:23
dhx1but useless otherwise07:23
Paul_46well, yea07:24
Paul_46however in any case, atm, the code base is a mess07:24
Paul_46soap api has different security checks to core07:24
Paul_46it's just bugs waiting to happen07:24
dhx1yes07:24
Paul_46so if making users,projects,bugs an object - and leaving custom fields etc 'as is' a bit more07:25
Paul_46and then making a mobile/api/web interface use those objects for the simple purposes of viewing a bug07:26
Paul_46means we get less code and less bugs07:26
Paul_46the one thing I want to look at coding is an open source mobile interface for mantisbt207:27
dhx1hmmm07:27
Paul_46charging people for mantis touch i disagree with07:27
dhx1sounds like REST (or other object get/set architecture)07:27
Paul_46I did look at rest other week ;p07:28
Paul_46I was actually looking at what redmine do with http://www.redmine.org/projects/redmine/wiki/Rest_api07:28
dhx1I don't like REST07:28
dhx1it's trying to force something complex into something simple07:29
dhx1and causing a major mess in the process07:29
Paul_46well, i'd like a web interface where basically07:29
Paul_46we have a user object07:29
Paul_46we use say zend's webservices stuff07:29
Paul_46that can implemenet soap/xmlrpc/whatever07:29
Paul_46but as we control the 'object', the soap/xmlrpc thing is looser07:30
dhx1hmmm07:30
Paul_46then basically generate an auth key for the soap/xmlrpc layer [seperate to user/pass] that says "this key can update/edit this type of object(s)"07:30
dhx1I don't see how OO or REST are required to achieve this result07:30
dhx1the OO/REST approach sounds like Reflection mess07:31
Paul_46sidenote: i'd like a json api so i can display mantis data in a portal using jscript07:31
Paul_46yea sure07:31
Paul_46what I do know is we need to scrap the current webservice api and think about what we want to do and rewrite it07:32
Paul_46and I don't overly care what we need rest/soap/json/xmlrpc etc07:32
dhx1right07:32
Paul_46but just atm, it's buggy07:33
Paul_46yes, it's getting 'better'07:33
Paul_46as people are implementing features to work around bugs07:33
Paul_46but you still have the fundamental issue when i last checked:07:33
Paul_46most of mantis is designed to support multiple projects and customising per project07:33
Paul_46mantisconnect was designed when mantis was single project and didn't allow such customising07:34
Paul_46then extended07:34
Paul_46for example07:36
Paul_46function mc_enum_priorities( $p_username, $p_password ) {07:36
Paul_46priority I believe can be custom to a project07:36
Paul_46and yet the soap api doesn't allow the project to be specified07:37
Paul_46therefore bug07:37
Paul_46therefore the soap interface is wrong07:37
dhx1yeah07:41
Paul_46so for now, i'm just experimenting with core07:41
dhx1fair enough07:48
Paul_46well, my hope would be to come up with something people like07:51
Paul_46:)07:51
Paul_46have you followed what i've been doing?07:53
dhx1as of 2-3 weeks ago, yeah07:53
Paul_46but you dont overly like so far?07:54
dhx1I don't see it being merged with master any time soon07:55
dhx1that is my main concern07:55
dhx1lots of random disruptive changes07:55
dhx1I think we'd need to look at both next and your mantisbt2 branch07:56
dhx1and merge stuff manually one thing at a time07:56
dhx1picking and choosing07:56
Paul_46well, equally, i'm against some of the commits that have gone into 1.2 and 1.307:57
Paul_46so really that's a mess :)07:58
dhx1any thoughts on next?07:58
Paul_46I dont like the file system layout in it07:58
dhx1neither do I actually07:59
dhx1it's the Zend approach though07:59
dhx1and that is what I thought you were keen on?07:59
Paul_46I like the exceptions stuff though07:59
Paul_46no, daryn/giallu iirc07:59
dhx1me... I don't like frameworks or being forced into using someone else's standards07:59
Paul_46[albeit, we'd both agreed on the exceptions and namespaces - i'd just gone "no point implementing exceptions until we decide what to throw"07:59
dhx1they never work because "one size fits all" doesn't work either08:00
Paul_46the gettext stuff i'm not sure about08:00
Paul_46albeit, I appreciate you added a php implementation08:00
Paul_46siebrand can support all 3 formats of language files we have so it's probably more a case of deciding what people prefer and use in php08:01
dhx1I had a long chat to Siebrand a month or two ago about gettext08:01
dhx1basically, they don't like it much because people that use it tend not to provide translation hints08:01
dhx1and don't have a proper i18n toolchain configured08:02
Paul_46define 'translation hints'08:02
dhx1I think we can overcome that08:02
Paul_46the only reason I like08:02
dhx1in the current state we have translation lookup keys such as 'bug_view_title'08:02
dhx1with gettext, we use the English translation as the lookup key08:02
Paul_46the only reason I like "lookup keys"08:02
dhx1but that doesn't help the translator know what the message is meant to do08:03
dhx1'OK' is a vague message to translate08:03
Paul_46is the english translation becomes a translation too08:03
Paul_46i.e.08:04
dhx1Paul_46: there is nothing preventing the creation of a en_US locale08:04
Paul_46'private_project_msg' => 'This project is private. Only administrators and manually added users have access.',08:04
Paul_46what i mean though is08:04
Paul_46in the example above08:04
Paul_46when someone wants to reword that to08:04
Paul_46Private Project: You have not been granted access to this project."08:04
Paul_46it doesn't become a code change08:05
Paul_46and the lookup for other languages doesn't change whilst people debate the best way to word it :)08:05
dhx1 /* L10N: Notification to users when they view the details page of a project which is private and they don't have access to */08:06
Paul_46as a side note: This project is private. You have not been granted access to this project."08:06
dhx1 _('This project is private. Only administrators and manually added users have access.');08:06
Paul_46is probably a better way to phrase it08:06
dhx1in that example, the string starting L10N: is a translation hint to help translators08:06
Paul_46then 'manually added users' which isn't a grant term :)08:06
Paul_46in your example there, i'd almost rather have those translation hints in the strings file :)08:07
dhx1the thing is though... gettext is a standard toolchain08:07
dhx1translators can use whatever tools they like08:07
dhx1including TranslateWiki08:07
dhx1we don't need to maintain any of our own stuff on top of it... much simpler, more robust and accessible to users and translators08:08
Paul_46apart from not overly like _ as a name of a function08:08
dhx1we can change those if needed08:08
Paul_46and aside from whether i'd overly like /* L10N stuff scattered08:08
dhx1it also adds complex features such as pluralisation support08:09
Paul_46I can see both benefits and downside to having the english strings08:09
* Paul_46 nods08:09
dhx1english strings are easy to grep the source code for08:09
Paul_46I just wondering if having the english strings in source08:09
dhx1which is the predominant language we use08:09
Paul_46mean people are more likely to fiddle with them08:09
Paul_46[which could be both a good or bad thing]08:09
dhx1agreed08:09
dhx1but at least those changes become more visible (they're not hidden away on TranslateWiki)08:10
Paul_46'reauthenticate_message' => 'You are visiting a secure page, and your secure session has expired. Please authenticate yourself to continue.',08:10
Paul_46i'd probably be inclined to add 're' to please authenticate08:10
Paul_46:)08:10
dhx1+ we can quickly see where strings are reused multiple times08:10
* Paul_46 nods08:10
dhx1anyway, more work is needed08:11
Paul_46the main thing we dont have atm is a plan08:12
Paul_46and I dont see that getting fixed any time soon08:12
dhx1meh, who would follow it? :D08:12
Paul_46given I want to code a ipod interface to mantis and commit it to '2.0'08:12
dhx1yeah08:13
Paul_46but then equally, I dislike people commiting changes to mantis to support their private project to make $$$'s and not doing other stuff08:14
* Paul_46 shrugs08:15
dhx1I'd rather focus on code for now and work that out later08:16
Paul_46btw, how do we revert a commit from 1.3?08:16
dhx1which one(s)?08:17
Paul_46you'll love it :P08:17
Paul_46[and i'm actually being serious for a change]08:17
Paul_46https://github.com/mantisbt/mantisbt/commit/839f1d68bc771e579a9f48324624973e0c996ebc08:17
Paul_46that one08:17
dhx1no need to revert08:18
dhx1I want to merge fields and custom fields support together08:19
dhx1they shouldn't be different08:19
Paul_46well only reason I say revert is08:19
Paul_46in the 2.0 branch, I allow the long text in the main field08:19
Paul_46so no need to have seperate08:19
dhx1then revert it in your branch, but not master08:20
Paul_46well it also means we can't do a 1.3 release08:20
dhx1?08:20
dhx1I know what you're saying08:21
Paul_46https://github.com/grangeway/mantisbt/blob/master-2.0.x/admin/schema.php08:21
Paul_46i collapsed the _Text tables into the bug/bugnote tables08:21
Paul_46so if we do do that08:22
dhx1I know... but I think we'll make a lot more database changes soon08:23
dhx1at least, I want to do that...08:23
dhx1CHECK constraints, referential integrity, transaction-based approach08:23
GitHub161[mantisbt] siebrand pushed 1 new commit to master-1.2.x: http://git.io/y6tN7w17:17
GitHub161[mantisbt/master-1.2.x] Localisation updates from http://translatewiki.net. - Siebrand Mazeland17:17
*** Quits: giallu (~giallu@fedora/giallu) (Ping timeout: 240 seconds)19:37
*** 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
*** Quits: Paul_46 (~IceChat09@cpc1-enfi15-2-0-cust580.hari.cable.virginmedia.com) (Quit: Say What?)20:12

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