| 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 |