#MAPBENDER IRC Log - 2008-07-02

For logs after Feb 3, 2007, all times are GMT-8. Prior logs are GMT-9.
Back to Logs
00:05:11 ticheler: sevenof9: I just committed the new logos :- )
00:08:39 sevenof9: Hooray!
00:08:48 sevenof9: I am at the AGIT conference in Salzburg.
00:08:58 sevenof9: It is getting busy right now.
00:35:22 ticheler: sevenof9: cool, hope you have a good conference! Was Friday any good?
00:41:56 sevenof9: ping astroidex
00:43:19 sevenof9: ping Testbaudson_ - please check your Skype, I sent you a message.
01:14:47 astroidex___: hi sevebof9
05:03:20 LenKne: Testbaudson: Hello
05:04:33 Testbaudson: Hi LenKne
05:04:51 Testbaudson: tech problems resolved?
05:05:10 LenKne: Yes, access to the server was restored overnight...
05:05:23 LenKne: I moved what code I have to SVN
05:05:43 LenKne: but did not get a chance to clean it up as much as I had hoped...
05:05:55 Testbaudson: no problem
05:05:59 LenKne: Yesterday was slow and then losing access for the afternoon
05:07:03 LenKne: As of right now, I do not have any specific questions...
05:07:25 LenKne: other than to have you look at the code and offer advise and direction
05:07:31 : * Testbaudson looks at Len's code
05:09:30 Testbaudson: first of all, you need to use prepared statements
05:09:43 : * Testbaudson is looking at editFilteredUser.php
05:09:48 Testbaudson: line 16
05:10:16 Testbaudson: LenKne?
05:11:39 LenKne: Yes
05:12:42 Testbaudson: let's look at the code together
05:12:57 Testbaudson: you have $mb_user_id hardwired in the SQL
05:13:10 Testbaudson: you need to replace it by $1
05:13:22 Testbaudson: and add $mb_user_id to $v
05:13:54 Testbaudson: see: http://www.mapbender.org/Prepared_statements
05:13:55 sigq: Title: Prepared statements - MapbenderWiki ( at www.mapbender.org )
05:14:07 Testbaudson: ( sorry, this tutorial is bad, but it gives you the idea )
05:14:22 LenKne: that helps
05:14:28 Testbaudson: otherwise, just look at a random php file in Mapbender to have a template
05:16:03 LenKne: ok
05:16:22 Testbaudson: maybe put the whole SQL segment within class_user.php
05:16:26 Testbaudson: as a function
05:16:34 Testbaudson: so we can re-use it
05:16:56 Testbaudson: you can return the serialization of the user object
05:17:02 LenKne: Yes, I see a lot of the pieces of this file going into classes for re-use...
05:17:09 Testbaudson: ok
05:17:27 LenKne: once I get a feel for how it works and how to make it easily reusable
05:17:27 Testbaudson: Mapbender is really weak on re-usable code, sorry for that
05:18:39 LenKne: The update section is relly rough and not quite working - that is where I was at when the power went out yesterday
05:18:51 Testbaudson: hehe
05:19:28 LenKne: I think I have a way to get the SQL statement built without hardcoding the columns
05:20:28 LenKne: Just figuring out how to determine if a column isnumeric or text to put quotes around it
05:22:05 Testbaudson: what is this? <?=
05:22:12 Testbaudson: some kind of short cut?
05:22:22 : * Testbaudson has never seen this before
05:23:19 Testbaudson: maybe switch to full php tag like <?php
05:23:29 Testbaudson: I think it's less error prone
05:23:37 LenKne: I'm not seeing it, which line?
05:24:05 Testbaudson: 27
05:24:16 Testbaudson: value="<?=
05:25:52 Testbaudson: sorry, in editGuiElement.php
05:27:06 LenKne: ah
05:27:59 LenKne: That is the file as Lars had it
05:28:18 Testbaudson: ok, I'll ask him
05:28:20 LenKne: I'm not sure what it does either
05:28:40 Testbaudson: in short:
05:28:57 Testbaudson: - wrap all SQLs in functions in their specific class
05:29:24 Testbaudson: - use the serialization of the Mapbender objects as return values from AJAX calls
05:29:54 Testbaudson: - follow the commit guidelines: http://www.mapbender.org/Commit_guidelines
05:29:55 sigq: Title: Commit guidelines - MapbenderWiki ( at www.mapbender.org )
05:30:11 Testbaudson: - follow the code conventions: http://www.mapbender.org/Code_conventions
05:30:12 sigq: Title: Code conventions - MapbenderWiki ( at www.mapbender.org )
05:30:24 Testbaudson: - and maybe use the new file system layout I proposed
05:31:08 LenKne: ok...can you give a little more information on...
05:31:12 LenKne: use the serialization of the Mapbender objects as return values from AJAX calls
05:31:19 Testbaudson: ok
05:31:34 Testbaudson: for example, if you start an ajax call to retrieve all users...
05:31:44 Testbaudson: you do sth like
05:32:08 Testbaudson: $userArray = User::getAllUsersFromDatabase( )
05:32:17 Testbaudson: ( this function does not exist... )
05:32:29 Testbaudson: it would return an array of User objects
05:32:44 Testbaudson: you would then serialize $userArray...
05:32:49 Testbaudson: using Mapbender_JSON
05:32:55 Testbaudson: and send it back to the client
05:33:03 Testbaudson: by this, we have a well-defined interface
05:33:15 Testbaudson: do you think this is ok?
05:33:32 LenKne: Yes, makes good sense
05:35:27 Testbaudson: I have a question
05:35:32 LenKne: ok
05:35:49 Testbaudson: how do you add the editFilteredUser element in Mapbender...
05:35:52 Testbaudson: is it a div?
05:35:57 Testbaudson: with an onclick?
05:36:25 Testbaudson: what does the onclick do ( if there is one )?
05:38:22 LenKne: yes, calls a function loadAction in mb_admin/inc/mb_admin_functions.js...
05:38:46 LenKne: If you would like to see how it goes together in Mpabender...
05:38:49 LenKne: http://maps.umn.edu/dev_lenkne/http/
05:38:50 sigq: Title: Welcome to the Mapbender Portal ( at maps.umn.edu )
05:39:24 LenKne: root, password Mapbender
05:39:59 LenKne: I need to do a lot of work on mb_admin_fuctions...
05:40:26 Testbaudson: LenKne: login does not work for me...
05:41:55 LenKne: sorry, password = mapbender
05:42:33 Testbaudson: yes!
05:42:48 Testbaudson: admin_test, I guess
05:42:54 LenKne: yes
05:44:58 : * Testbaudson looks at the code, and learns
05:46:46 Testbaudson: LenKne, what is the "wrapper" element for?
05:48:27 LenKne: It defines the main part of the screen - gives an even white background when the content div is empty...
05:48:41 LenKne: not sure if will ultimately be needed...
05:48:47 Testbaudson: ok
05:49:08 LenKne: as I would like to come up with a way for the height of the divs to be dynamic,
05:49:23 LenKne: depending on the module loaded
05:49:56 LenKne: Thinking the map auto-resize module might work?
05:50:13 LenKne: and I will look into it.
05:50:30 Testbaudson: I guess you don't need absolute positioning...
05:50:42 Testbaudson: at least that's what Lars told me...
05:51:51 Testbaudson: ( unfortunately he's not here today )
05:52:16 Testbaudson: but I assume you do not need the position for the elements like "Edit GUI elements"
05:52:56 Testbaudson: ( and width and height )
05:53:06 Testbaudson: just hit ctrl -
05:53:20 Testbaudson: the width of the left elements is constant
05:53:45 Testbaudson: I think it should not be like this...
05:53:50 Testbaudson: but anyway, these are details...
05:53:57 Testbaudson: overall, you're doing VERY FINE
05:54:02 Testbaudson: true eye-candy
05:54:07 LenKne: Right now that div does have absolute position, it would be better if it scaled
05:54:23 LenKne: The eye-candy is Lars work
05:54:47 Testbaudson: yes, it's a shame...you never see the work of us dev's
05:54:49 Testbaudson: ;- )
05:55:11 LenKne: how true
05:55:35 Testbaudson: but your job is to translate into db entries...
05:55:38 Testbaudson: and it looks primising
05:55:42 Testbaudson: and it looks promising
05:55:45 Testbaudson: great!
05:55:57 LenKne: Thanks
05:55:58 Testbaudson: We should stay in close contact
05:56:04 Testbaudson: and do code review again
05:56:07 LenKne: I have lots of work to do : )
05:56:13 Testbaudson: and then maybe set a date with Lars
05:56:25 Testbaudson: so we get maybe one module 100%
05:56:31 Testbaudson: and then do the rest in no-time
05:56:41 LenKne: Definately, I will load daily to SVN
05:56:52 Testbaudson: the main thing I want to get out of this is the concept...
05:57:03 Testbaudson: if we have one 100% fine module...
05:57:11 Testbaudson: and a tutorial how to fix the others...
05:57:13 Testbaudson: we are fine
05:57:42 LenKne: Sounds good
05:57:43 Testbaudson: I have no further questions...
05:57:49 Testbaudson: maybe we set a date for next week?
05:58:00 Testbaudson: then we can IRC together with Lars...
05:58:04 Testbaudson: same time next week?
05:58:19 LenKne: Yes, next week I would like to spend some time talking about localization...
05:58:26 Testbaudson: sure
05:59:25 Testbaudson: if you have any questions, don't hesitate to contact us at the dev list
05:59:30 Testbaudson: thanks for now, bye!
05:59:31 LenKne: would like to make it part of the core of the admin modules before we get to far
05:59:43 LenKne: Lost my connection for a minute there
06:00:02 Testbaudson: yes i18n is important
06:00:06 LenKne: Yes, same time next week is good
06:00:13 Testbaudson: Brilliant!
06:00:29 LenKne: Thanks again, bye
06:00:40 Testbaudson: Bye