#MAPBENDER IRC Log - 2008-05-23

For logs after Feb 3, 2007, all times are GMT-8. Prior logs are GMT-9.
Back to Logs
05:41:30 Testbaudson: hi spsneo
05:41:40 Testbaudson: sorry i couldn't make it yesterday
10:40:19 Testbaudson: hi spsneo
10:45:06 spsneo: Testbaudson, hello
10:45:23 Testbaudson: sorry I didn't show up yesterday
10:45:48 spsneo: Testbaudson, its ok
10:46:09 spsneo: Testbaudson, today it was convocation for graduating students here
10:46:10 Testbaudson: if you have any questions now, we can discuss them
10:46:16 Testbaudson: ok i see
10:46:16 spsneo: so i was bit busy
10:46:41 spsneo: well, I went through wiki media;s update routine
10:47:08 spsneo: their update routine will not cater our needs
10:47:31 Testbaudson: ok
10:47:37 spsneo: as they have just a sequential database update process
10:47:49 spsneo: first they take a bacakup of all the database
10:48:03 spsneo: and then few configuration files backup
10:48:32 spsneo: and then their update routine makes required changes in the database.
10:48:54 spsneo: I mean, its just a sequential update process.
10:49:13 spsneo: ya they do check some compatibility stuffs like php version on the server etc...
10:49:40 spsneo: I discussed the project with seven yesterday
10:49:48 spsneo: he suggested to ..
10:49:56 spsneo: model mapbender as...
10:50:16 spsneo: having a separate data space and separate software space
10:50:18 spsneo: ..
10:50:25 spsneo: your opinions now ?
10:50:55 Testbaudson: so how does mediawiki determine the differences in the database?
10:51:03 Testbaudson: I didn't get that
10:51:38 spsneo: differences in database, as in?
10:52:15 Testbaudson: you need to check the status of the existing installation...
10:52:23 spsneo: yup...
10:52:24 Testbaudson: and compare it to the new version
10:52:31 Testbaudson: how do they do this?
10:52:52 spsneo: ya for that only they have the mysql username and password
10:53:15 spsneo: using mysql queries they check the database structure and accordingly
10:53:20 spsneo: update it
10:53:38 spsneo: all done through mysql queries from php
10:54:14 Testbaudson: how do they know which version is the existing installation?
10:54:40 spsneo: I dont think so they require to check this..
10:54:47 spsneo: they just do one thing
10:54:58 spsneo: they check the php version installed on the server
10:55:23 spsneo: if the php version installed on the server is not supported by the current mediawiki
10:55:30 spsneo: then they abort the update process
10:56:14 Testbaudson: ok
10:56:27 Testbaudson: so how do they determine if the new version is different?
10:57:08 spsneo: actually they develop on the basis of their older version
10:57:18 spsneo: i mean
10:58:02 spsneo: if there's a change in the db structure then it can be detected through sql queries right
10:58:12 Testbaudson: can you give me an exaple?
10:58:15 Testbaudson: can you give me an example?
10:58:28 Testbaudson: what sql queries?
10:59:11 spsneo: like ... there can be a querry which will create a table if a table "wb_xyz" doesnt exist
10:59:41 spsneo: so if in the new version if they add a new table they can check and create the table
11:00:11 Testbaudson: so what if an attribute of a column changes?
11:00:19 spsneo: hope I am clear to me
11:00:22 Testbaudson: like we have varchar( 100 ) instead of varchar( 50 )
11:00:44 spsneo: wait lemme take a look at this
11:07:42 spsneo: they first check the table attributes and then use ALTER to change the table attributes
11:09:06 Testbaudson: ok
11:09:11 Testbaudson: how do they check the attributes?
11:09:23 : * Testbaudson is very inquisitive today :- )
11:12:28 spsneo: the same way we get table attributes in phpmyadmin
11:12:43 spsneo: phpmyadmin is also totally a php app
11:12:48 spsneo: isn't it?
11:13:35 Testbaudson: yes, but do you know it's done?
11:13:42 Testbaudson: I don't :-(
11:17:18 spsneo: yup this is simple
11:17:28 spsneo: it can be done like
11:18:06 spsneo: $foo = mysql_querry( "DESC TABLE table" );
11:18:23 spsneo: $foodata = mysql_fetch_assoc( $foo );
11:18:41 spsneo: and then a loop on the recordset to get the required info
11:19:05 Testbaudson: does it return sql?
11:19:14 Testbaudson: what is the format?
11:20:30 spsneo: it returns an associative array
11:20:36 Testbaudson: we have to make sure our algorithm works for both mysql and postgresql
11:20:56 spsneo: ya i checked the media wiki's update routine
11:21:28 spsneo: well I'll have to check php functions for postgresql
11:22:58 Testbaudson: ok so we can use this for checking and updating the database structure
11:23:00 spsneo: well i checked PHP manual just now
11:23:15 spsneo: they have a similar function for postgresql as well
11:23:28 spsneo: so database can be easily updated mediawiki's way
11:23:41 spsneo: problems will be with files
11:24:07 spsneo: I'll devote this whole week in coming up with this solution
11:24:56 Testbaudson: i think files will not be a huge problem...
11:25:06 Testbaudson: another big problem is data in the database
11:25:38 spsneo: yup data in database will be a problem for us
11:25:52 Testbaudson: but maybe we solve the "easy" problems first
11:26:02 spsneo: for taht have u thought of any solution
11:26:20 spsneo: well database structure can be solved easy way
11:26:32 Testbaudson: we have to analyze in which situations we need to check data...
11:26:40 Testbaudson: I also want to do some simplifications...
11:26:57 Testbaudson: the whole "element" and "application element" thing
11:27:15 Testbaudson: this would enable read only elements
11:27:27 Testbaudson: which would be less error prone
11:28:23 spsneo: yup\
11:28:30 spsneo: that will ease teh issue
11:28:44 Testbaudson: ok, so how do we proceed:
11:28:53 Testbaudson: here's a list of previous database changes
11:28:55 Testbaudson: http://www.mapbender.org/Dbchanges
11:28:57 sigq: Title: Dbchanges - MapbenderWiki ( at www.mapbender.org )
11:29:12 Testbaudson: maybe you can analyze the list and check if we can solve these kind of changes...
11:29:21 spsneo: ok
11:29:22 Testbaudson: with the approach just discussed...
11:29:30 spsneo: fine
11:29:33 Testbaudson: ( database structure update )
11:29:44 spsneo: I'll send u a php script and a demo db
11:29:48 spsneo: and u can check it
11:29:56 spsneo: will taht be fine?
11:29:56 Testbaudson: another question
11:30:17 Testbaudson: how does mediawiki know which database elements are new
11:30:19 Testbaudson: ?
11:30:27 Testbaudson: for example, if there is a new column?
11:30:44 Testbaudson: is there just an ALTER TABLE SQL?
11:30:57 Testbaudson: or is this information stored somewhere else?
11:31:34 spsneo: no teh information is stored in the update php script
11:32:49 spsneo: look
11:33:08 spsneo: the media wiki update routine is not that automated..
11:33:12 spsneo: its like
11:33:26 spsneo: update routine for a specific version
11:33:32 Testbaudson: so it's hard wired in a script?
11:33:41 spsneo: yup
11:33:43 spsneo: but here
11:33:46 Testbaudson: hmm...I thought they were more sophisticated :-P
11:33:51 spsneo: the case is different
11:34:03 spsneo: here we have to dynamically write a script
11:34:12 spsneo: no they are simple
11:34:45 spsneo: as in here we haev to store the db changes somewhere and then accordingly generate the script
11:34:49 spsneo: right?
11:35:47 spsneo: u thr?
11:35:50 Testbaudson: yes
11:35:51 spsneo: Testbaudson, thr?
11:35:59 spsneo: Testbaudson, r u getting me?
11:36:08 Testbaudson: it should be as dynamic as possible
11:36:14 spsneo: or am I not able to make myself clear?
11:36:18 spsneo: yup i know
11:36:25 Testbaudson: I understood what you mean
11:36:58 spsneo: don't worry I am getting the update routine for our mapbender
11:37:01 Testbaudson: maybe we can have some kind of XML with the changes? is that clever?
11:37:18 spsneo: ya thats very much possible
11:37:34 spsneo: from xml we can generate teh db change
11:37:39 spsneo: script
11:37:48 Testbaudson: the best thing would be a web service...
11:37:53 spsneo: or there are few more solutions
11:38:02 Testbaudson: you pass your version number...
11:38:15 Testbaudson: and the service returns the XML with the changes from that version to the current
11:38:22 Testbaudson: ( just an idea )
11:39:00 spsneo: cant it be that we detect the version no. automatically
11:39:02 spsneo: ?
11:39:51 Testbaudson: yes, but we would have to send it to the web service
11:40:17 Testbaudson: but anyway, that's just an idea
11:40:20 Testbaudson: let's keep it simple
11:40:25 Testbaudson: and local
11:41:01 spsneo: yup
11:41:18 spsneo: so what will be my this week's task
11:41:23 spsneo: lets speed up now
11:41:28 spsneo: as we need to code more speedily
11:41:40 spsneo: and we are also coming close to 26th
11:41:48 spsneo: the official date of gsoc
11:42:03 spsneo: so..assign me more week now onwards
11:42:04 Testbaudson: spsneo: no hurry with the coding
11:42:11 Testbaudson: we should do proper planning
11:42:18 spsneo: ok
11:42:21 Testbaudson: if we have a good plan, coding will be fast
11:42:24 spsneo: Testbaudson, as u say
11:42:31 spsneo: you are correct
11:49:10 spsneo: sorry got disconnected
11:49:16 spsneo: let me check the logs
11:50:02 spsneo: Testbaudson: so what for this week?
11:50:07 Testbaudson: hi
11:50:19 Testbaudson: this week: analyze existing db changes....
11:50:28 Testbaudson: with respect to the difference between structure and data updates
11:50:35 Testbaudson: see what can be done with our approach.
11:50:42 Testbaudson: check how this can be done with a wrapper
11:50:49 Testbaudson: for both postgresql and mysql
11:50:56 Testbaudson: ( we use wrapper functions in Mapbender, like db_prep_query )
11:51:26 spsneo: ok
11:51:28 Testbaudson: focus on database structure first
11:51:29 spsneo: fine
11:51:42 Testbaudson: after this, we will go to the file system....
11:51:47 spsneo: so this whole week on database structure
11:51:48 Testbaudson: and then database data
11:51:52 Testbaudson: yes
11:51:53 spsneo: ok
11:52:10 spsneo: anything else u wish to say or suggest?
11:52:11 Testbaudson: we have to make sure we don't miss a case
11:52:16 spsneo: yup
11:52:25 Testbaudson: yes, please document your research properly
11:52:27 spsneo: we have to be as close to perfect as possible
11:52:31 spsneo: yup
11:52:49 Testbaudson: this will make it easy for interested parties to comment
11:52:55 Testbaudson: and to help
11:52:57 spsneo: as till now I havent done research on mapbender, so no much documentation
11:53:07 spsneo: and now on I'll take care of it
11:53:12 Testbaudson: cool
11:53:21 spsneo: and also I will maintain my wiki page about my updates
11:53:28 Testbaudson: wonderful
11:53:44 Testbaudson: I think this project will be a huge success...
11:53:50 Testbaudson: Mapbender users will love you
11:54:06 spsneo: I will try my best
11:54:07 Testbaudson: thanks
11:54:10 spsneo: it will be my privilege
11:54:14 spsneo: thanks
11:54:18 spsneo: so should I leave now
11:54:23 spsneo: as its late here in india
11:54:30 Testbaudson: yeees, that's tru
11:54:32 Testbaudson: yeees, that's true
11:54:36 Testbaudson: have a good night
11:54:39 Testbaudson: bye
11:54:40 spsneo: thanks
11:54:45 spsneo: same to you
11:54:46 spsneo: bye
11:54:49 Testbaudson: thanks and bye
11:54:52 spsneo: and well ya one more questions
11:54:57 Testbaudson: ok
11:55:03 spsneo: what all's happening in mentor list of gsoc
11:55:05 spsneo: ?
11:55:09 spsneo: just for knowledge
11:55:21 Testbaudson: ummm....I didn't check :- )
11:55:31 spsneo: hehe
11:55:33 spsneo: ohk
11:55:44 spsneo: and who is the gsoc administrator for OSGeo
11:55:45 spsneo: ?
11:56:06 Testbaudson: it's Wolf, you find him in the #osgeo channel
11:56:09 Testbaudson: __wolf__
11:56:13 Testbaudson: is his username
11:56:24 spsneo: ya i have talked to him a few times
11:56:32 spsneo: well ok
11:56:37 Testbaudson: so you know him, good
11:56:38 spsneo: now I'll leave
11:56:41 Testbaudson: ok, bye
11:56:46 spsneo: bye
11:56:51 spsneo: and have a nice weekend
12:34:05 Testbaudson: hi seven
12:34:17 seven: Ho Testbaudson
12:34:19 Testbaudson: have you heard of wikinear?
12:34:36 seven: Nope. Sounds interesting.
12:34:43 Testbaudson: http://simonwillison.net/2008/Mar/22/wikinear/
12:34:44 sigq: Title: wikinear.com, OAuth and Fire Eagle ( at simonwillison.net )
12:34:50 Testbaudson: Sehr cool
12:35:01 Testbaudson: um...very cool
12:35:53 seven: Cool.
12:36:02 : * Testbaudson has sent a mail to all at wheregroup
12:36:16 seven: Excellent.
12:37:26 seven: Do you know about the OSGeo Membership Mashup idea?
12:37:58 seven: http://wiki.osgeo.org/wiki/Category_talk:OSGeo_Member
12:37:59 sigq: Title: Category talk:OSGeo Member - OSGEO ( at wiki.osgeo.org )
12:38:11 Testbaudson: yes, Christian is working on it
12:38:24 seven: OK, so you do know.
12:38:26 seven: :- )
12:38:53 : * Testbaudson has taken a look at several IP locators today
12:39:10 Testbaudson: in the OSGeo wiki there are coordinates for each user
12:39:31 Testbaudson: but mash ups like wikipediavision use the IP address I gues ( ? )
12:39:39 seven: There are several options.
12:39:53 seven: One would be to make everybody geo-tag their user pages
12:40:09 seven: the other is to extract th ecurrent editor's IP and try to geolocate that one.
12:40:15 seven: We could do both.
12:40:33 Testbaudson: yes...most geolocators are NOT free
12:40:41 Testbaudson: and the free ones are error prone
12:40:45 seven: So that one has a permamnet home location and is tracked for example while traveling
12:40:59 Testbaudson: this one is the best I found: http://www.hostip.info/
12:40:59 seven: Hm. Then we must build our own... :- )
12:41:01 sigq: Title: My IP Address Lookup and GeoTargeting - Community Geotarget IP Project - domain to IP lookup, what country, city IP addresses map to - IP Trace ( at www.hostip.info )
12:41:11 seven: Yes, I stumbled across that one too.
12:41:14 Testbaudson: ok
12:41:42 Testbaudson: a cool mash up would be a traceroute application
12:41:54 Testbaudson: you would have a permanent map, and as you surg the net...
12:42:13 Testbaudson: it shows where your packages come from
12:42:25 Testbaudson: you would have a permanent map, and as you surf the net...
12:42:28 seven: Yes, that would give interesting vectors and networks.
12:43:05 Testbaudson: Another idea I had was a spam locator
12:43:17 Testbaudson: you have the senders IP in the header
12:43:30 Testbaudson: and you could process your spam folder and display it on a map
12:44:06 : * Testbaudson has a lot of ideas but none is being realized :-P
12:44:39 seven: Oh, that never happens to me... :- )
12:44:43 Testbaudson: lol
12:47:11 Testbaudson: good night...
12:52:16 seven: Good night.