<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3945298072131436743</id><updated>2011-12-25T22:34:57.979-08:00</updated><category term='gsoc'/><category term='SahanaOCR'/><category term='what is DIGSBY'/><category term='Final-year-Project'/><category term='Music'/><category term='mistakes'/><category term='phpmyadmin'/><category term='My mini project on search engine'/><category term='XML'/><category term='Ubuntu'/><category term='How to add a Statcounter to your blog'/><category term='OCR'/><category term='Ajax'/><category term='Sahana'/><title type='text'>Coder's view</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-2328799146749556482</id><published>2011-12-23T08:13:00.000-08:00</published><updated>2011-12-23T09:38:19.758-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Music'/><category scheme='http://www.blogger.com/atom/ns#' term='Final-year-Project'/><title type='text'>Miyaesi - an automated music transcriber</title><content type='html'>For last few months I was unable to write a blog post due to various reasons. May be because of my laziness on writing blog post. But I felt to write a post as my last post in this year, about our final year project which was completed couple of months back.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;What is music transcription? &lt;/i&gt;&lt;/div&gt;&lt;div&gt;    Music transcription is generating the music notation sheet out of a given input music recording. Following diagram shows the process of music transcription.&lt;/div&gt;&lt;div&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 146px;" src="http://3.bp.blogspot.com/-uQKHSF_9da8/TvSu9iYK2LI/AAAAAAAAAVQ/p-d2YfxBvU0/s400/Screenshot-1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689364601499211954" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are two basic types of music transcriptions. &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;i&gt;Monophonic music transcription&lt;/i&gt;&lt;/b&gt; - In polyphonic music there can be only one instrument played at any given instance within the music recording. Monophonic music transcription is transcribing a monophonic music recording. &lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;i&gt;Polyphonic music transcription&lt;/i&gt;&lt;/b&gt; - In polyphonic music there can be several instruments played at any given instance in music recording. Polyphonic music transcription is transcribing a polyphonic music recording.  &lt;/li&gt;&lt;/ul&gt;This automatic music transcription became and important topic in research field for many decades, due to the complexity of the methodologies and the technologies related to this domain. As final year students we were asked to handle this problem and try out a solution which address these complex issues. So we defined our objective for our final year project as &lt;b&gt;research and develop a system which &lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Identifies notes&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Identifies Instruments&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt; and ultimately generating the notation sheet corresponding to a given &lt;i&gt;monophonic music&lt;/i&gt; &lt;i&gt;recording&lt;/i&gt;&lt;/b&gt;. "&lt;i&gt;&lt;a href="https://sourceforge.net/projects/miyaesi/"&gt;Miyaesi - an automatic music transcriber&lt;/a&gt;&lt;/i&gt;" became alive as a solution for above mentions issues, as a result of the immense effort taken by our team members for about a year.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/-JdhnSumKRVI/TvS0MWyh7xI/AAAAAAAAAVc/m0LLV9Q9Fbg/s1600/Screenshot-2.png"&gt;&lt;img src="http://1.bp.blogspot.com/-JdhnSumKRVI/TvS0MWyh7xI/AAAAAAAAAVc/m0LLV9Q9Fbg/s400/Screenshot-2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689370353644728082" style="cursor: pointer; width: 400px; height: 258px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Main features of Miyaesi are&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Generating music notes out of music recording.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://4.bp.blogspot.com/-cOTve3gCGG8/TvS6bvhvn5I/AAAAAAAAAVo/Wq4Ek-Taz8k/s1600/Screenshot-3.png"&gt;&lt;img src="http://4.bp.blogspot.com/-cOTve3gCGG8/TvS6bvhvn5I/AAAAAAAAAVo/Wq4Ek-Taz8k/s400/Screenshot-3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689377215053012882" style="cursor: pointer; width: 351px; height: 342px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Detecting dominant instruments in each notes. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://4.bp.blogspot.com/-DQdUP1MOapY/TvS6br7XVMI/AAAAAAAAAV0/jKXRpwjIXtU/s1600/Screenshot-4.png"&gt;&lt;img src="http://4.bp.blogspot.com/-DQdUP1MOapY/TvS6br7XVMI/AAAAAAAAAV0/jKXRpwjIXtU/s400/Screenshot-4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689377214086730946" style="cursor: pointer; width: 400px; height: 200px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Creating a playable MIDI file.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://1.bp.blogspot.com/-KdaVYFgt_vA/TvS6cKMC_gI/AAAAAAAAAWA/PzGIstpFWo8/s1600/Screenshot-5.png"&gt;&lt;img src="http://1.bp.blogspot.com/-KdaVYFgt_vA/TvS6cKMC_gI/AAAAAAAAAWA/PzGIstpFWo8/s400/Screenshot-5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689377222209764866" style="cursor: pointer; width: 400px; height: 118px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Voice removal from music recordings. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://1.bp.blogspot.com/-TgnfRKYpZRI/TvS6cqFMAGI/AAAAAAAAAWU/OeWC-dGRHpU/s1600/Screenshot-6.png"&gt;&lt;img src="http://1.bp.blogspot.com/-TgnfRKYpZRI/TvS6cqFMAGI/AAAAAAAAAWU/OeWC-dGRHpU/s400/Screenshot-6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689377230770929762" style="cursor: pointer; width: 400px; height: 190px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Generating a printable notation sheet.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://3.bp.blogspot.com/-6IuAs9AYS9Y/TvS74QgzWWI/AAAAAAAAAXA/e6HSxwOHc5U/s1600/Screenshot-8.png"&gt;&lt;img src="http://3.bp.blogspot.com/-6IuAs9AYS9Y/TvS74QgzWWI/AAAAAAAAAXA/e6HSxwOHc5U/s400/Screenshot-8.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689378804455397730" style="cursor: pointer; width: 400px; height: 115px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Estimation of a key signature. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://3.bp.blogspot.com/-mxij5wf90m4/TvS74f33Q4I/AAAAAAAAAWs/r_iRXKUe2Os/s1600/Screenshot-9.png"&gt;&lt;img src="http://3.bp.blogspot.com/-mxij5wf90m4/TvS74f33Q4I/AAAAAAAAAWs/r_iRXKUe2Os/s400/Screenshot-9.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689378808578655106" style="cursor: pointer; width: 400px; height: 198px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Notes and MIDI file editing facilities. &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://2.bp.blogspot.com/-NPKI5Y7WrtM/TvS74FVTdoI/AAAAAAAAAWk/bbrrk5NnOgk/s1600/Screenshot-10.png"&gt;&lt;img src="http://2.bp.blogspot.com/-NPKI5Y7WrtM/TvS74FVTdoI/AAAAAAAAAWk/bbrrk5NnOgk/s400/Screenshot-10.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689378801454380674" style="cursor: pointer; width: 400px; height: 261px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Playing original and Midi files with notes displaying notes simultaneously.   &lt;/li&gt;&lt;/ul&gt;&lt;a href="http://4.bp.blogspot.com/-E-JWNqSUEL0/TvS6cRp0LMI/AAAAAAAAAWM/-p3bqIx2gSI/s1600/Screenshot-7.png"&gt;&lt;img src="http://4.bp.blogspot.com/-E-JWNqSUEL0/TvS6cRp0LMI/AAAAAAAAAWM/-p3bqIx2gSI/s400/Screenshot-7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689377224213671106" style="cursor: pointer; width: 400px; height: 166px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Out of these features the most important feature is the instrument identification. Even though there are some research publications available on instrument classification area there are no good implementations for that. Miyaesi gain the advantage with this unique feature among other music transcribers. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sourceforge.net/projects/miyaesi/"&gt;Miyaesi&lt;/a&gt; is an opensource project where any one who is interested can contribute to the project. You can download Miyeasi and try its unique features. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sourceforge.net/projects/miyaesi/"&gt;https://sourceforge.net/projects/miyaesi/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-2328799146749556482?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/2328799146749556482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/12/miyaesi-automated-music-transcriber.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/2328799146749556482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/2328799146749556482'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/12/miyaesi-automated-music-transcriber.html' title='Miyaesi - an automated music transcriber'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-uQKHSF_9da8/TvSu9iYK2LI/AAAAAAAAAVQ/p-d2YfxBvU0/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-7240095524601549835</id><published>2011-08-21T10:34:00.000-07:00</published><updated>2011-08-21T11:14:34.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - 13th week</title><content type='html'>This is the final week of gsoc 2011. As I mentioned in last weeks report I had to continue with rewriting the querywindow.js functions using jquey this week. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had to rewrite the following functions this week. &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 18px; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span"  &gt;PMA_queryAutoCommit()&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="line-height: 18px; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span"  &gt;PMA_querywindowResize()&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;Initially I rewrote the logic in "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'times new roman'; line-height: 18px; background-color: rgb(255, 255, 255); font-size: medium; "&gt;PMA_queryAutoCommit()&lt;/span&gt;" function using jquery, but I could not find a scenario where this function is triggered within the query window. Then I asked from Marc to get an ideal of a scenario where this function triggers. Then he suggested me that "clicking on the queries in sql history tab" should trigger this function. Further he mentioned that this scenario didn't work with his testings and if I also couldn't get it check correctly it is better to skip ajaxify this function. I tried the scenario and compiled the querywondow.js file with firebug, but it didn't trigger the "&lt;span class="Apple-style-span" style="font-family: 'times new roman'; line-height: 18px; background-color: rgb(255, 255, 255); font-size: medium; "&gt;PMA_queryAutoCommit()&lt;/span&gt;" function. So I skipped ajaxifying the "&lt;span class="Apple-style-span" style="font-family: 'times new roman'; line-height: 18px; background-color: rgb(255, 255, 255); font-size: medium; "&gt;PMA_queryAutoCommit()&lt;/span&gt;" fucntion. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I started working with ajaxify "&lt;span class="Apple-style-span" style="font-family: 'times new roman'; line-height: 18px; background-color: rgb(255, 255, 255); font-size: medium; "&gt;PMA_querywindowResize()&lt;/span&gt;" function and with Marcs help I was able to test it correctly. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With that I finished ajaxifying the functions in querywindow.js file. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then Marc directed me to a bug which is reported at bug tracker regarding the table-&amp;gt;structure-&amp;gt;change. When the user clicks on change a column which is having var_cahr type, the change dialog does not load the type correctly. So I went through the code and found this that this issue is not with my ajaxified part, but on original non table structure change section. Then I went though the tbl_properties.inc.php file and found what is the issue for this and reported it to Marc. Then Aris showed what was the bad commit which caused this issue and the remaining changes should do after discussing more with Marc.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With all these, I finished my tasks which were proposed my proposal at the beginning. Lots of people helped me a lot to achieve this success in the project, specially Marc, Ninad, Michal, Madura, Rouslan and Aris. Even after this gsoc project I'm willing to continue contributing to PMA which is a great pleasure to me. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-7240095524601549835?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/7240095524601549835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011_21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7240095524601549835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7240095524601549835'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011_21.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - 13th week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-6801375605307959791</id><published>2011-08-15T00:34:00.000-07:00</published><updated>2011-08-15T01:34:39.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - 12th week</title><content type='html'>According to the schedule I had to continue with ajaxify the table maintenance options in this week. Last week I did some modifications with this task and there were some bugs with that. Marc showed me that some important information are missing with the results of ajaxified table maintenance actions. In CHECK TABLE action there was a table which contains Msg_type and Msg_text information in non ajax configuration but in ajax configuration it was not there. In order to make this information available I had to do the following changes. &lt;div&gt;&lt;ol&gt;&lt;li&gt;Added "&lt;b&gt;if(isset($_REQUEST['ajax_request']) &amp;amp;&amp;amp; isset($_REQUEST['table_mainrenance'])) {}&lt;/b&gt;" condition to sql.php file in order to handle the table maintenance action and return the results with those useful information. &lt;/li&gt;&lt;li&gt;Change the logic in "&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;$("#tbl_maintenance.ajax li").live('click')&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;" action to get the results sent by sql.php file and then show it in the table operations page using ajax. &lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Then after Marc showed me a new bug where the documentation links are not functioned properly, I changed the "&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;$("#tbl_maintenance.ajax li").live('click')&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;" action to "&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  &gt;$("#tbl_maintenance.ajax li a.maintain_action").live('click')&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;" and changed the tbl_operations.js file according to that. &lt;/div&gt;&lt;div&gt;After all these changes this option seems working properly and I'm waiting for the response by Marc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since I skip ajaxify the "Table options" in table operations after discussing with Marc due to inefficiency of doing that, Marc asked me to find a new task instead of that. I went trough various options in PMA and could not find a suitable action which is really need ajax behavior at this moment. Then I went through the "&lt;a href="http://wiki.phpmyadmin.net/pma/AJAXify_Interface"&gt;Ajaxify Interface&lt;/a&gt;" section in PMA wiki and found that the ajaxification of table insert is remaining as a to do task. After discussing with Marc he mentioned that this is not necessary at this stage and he asked me to involve with more useful task which is rewrite the querywindow.js file using jquery. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The querywindow.js file contains four function which are &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;PMA_queryAutoCommit()&lt;/li&gt;&lt;li&gt;PMA_querywindowCommit(tab)&lt;/li&gt;&lt;li&gt;PMA_querywindowSetFocus()&lt;/li&gt;&lt;li&gt;PMA_querywindowResize(). &lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I rewrote the 2nd and 3rd functions using jquery and works fine for testing. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next week I'll continue with rewriting the querywindow.js functions. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-6801375605307959791?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/6801375605307959791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/6801375605307959791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/6801375605307959791'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011_15.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - 12th week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-3090129009761224194</id><published>2011-08-07T22:04:00.001-07:00</published><updated>2011-08-07T22:38:53.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - 11th week</title><content type='html'>According to the schedule I had to continue with ajaxifying table operations task this week. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since there was a bug with "Table copy" option which was done last week, Marc asked me to fixed the issue which is currently not reloading the navigation panel after copping the table to a new database. Initially I could not understand why we need a reload on navigation panel, but after the Madhura clarify me why we need it I fixed the issue. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then  I start working with ajaxifyig the other four options in "Table operations". Those are &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Move table to database &lt;/li&gt;&lt;li&gt;Table options &lt;/li&gt;&lt;li&gt;Table maintenance&lt;/li&gt;&lt;li&gt;Delete data or table.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;After discuss with Marc we decided "Move table to database" option do not need ajax behavior, because anyhow we have to redirect to the moved table after moving the table to new database. Also we decided that only "Empty the table(Truncate)" option in the "Delete data or table" section need ajaxification because after delete action there is no need to be in the Table operations of the deleted table. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I started ajaxifing the four actions in Table maintenance section. &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;I added "&lt;b&gt;$("#tbl_maintenance.ajax li").live('click')&lt;/b&gt;" ajax action to the fucntions.js file which handles all four ajax click actions in "Table maintenance" section, and get the results of those actions. &lt;/li&gt;&lt;li&gt;Then I changed the tbl_operations.php and sql.php files in order to handle the ajax request and response according to that. &lt;/li&gt;&lt;/ul&gt;Then Marc showed a me a bug of not showing the Msg_type and Msg_txt feature after "Check table option" and I'll fix it next week. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I worked with Ajaxify the "Empty the table (Truncate)" option. &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Since there is some related code for this feature with &lt;b&gt;$("#truncate_tbl_anchor.ajax").live('click')&lt;/b&gt;" action in functions.js file I reused that action and changed the logic to show the results using ajax. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Next week I 'll continue with ajaxify the "Table options" and fixing the bug in "Table maintenance". &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-3090129009761224194?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/3090129009761224194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3090129009761224194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3090129009761224194'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/08/ajaxify-phpmyadmin-interface-gsoc-2011.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - 11th week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4564929008407009520</id><published>2011-07-31T17:55:00.000-07:00</published><updated>2011-07-31T18:25:54.869-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - 10th week</title><content type='html'>&lt;span class="Apple-style-span"  &gt;    According to my timeline, this week I had to work with ajaxify the options in table operations. Mainly this week I focused on ajaxify two option in the table options. Those options are  &lt;/span&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  &gt;Alter order by&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  &gt;Copy table. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    For the "Alter order by" option I did following changes to handle the ajax request and the response. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;I added the "&lt;b&gt;$("#alterTableOrderby.ajax").&lt;wbr&gt;live('submit')&lt;/b&gt;" action to the functions.js file which posts the &lt;b&gt;alterTableOrderby &lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;form with ajax post and then return the results without reloading the page. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"&gt;I modified the tbl_operations.php and tbl_alter.php files in order to handle the ajax request which was sent by the above action.&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;   Now when the user click on the go button "Alter order by" form, it get submit as a ajax request and then show the results of the action to the user without reloading the page. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;    Then  I started working with ajaxify the "Copy table" option in the table operations. I did following changes in order to handle this ajax response. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;I added "&lt;b&gt;$("#copyTable.ajax").live('&lt;wbr&gt;submit',)&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"&gt;" action to the functions.js file which handles the ajax submission of the copy table form. When the "Switch to copied table" options is selected I continued with the non ajax submit. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "  &gt;Then I modified the tbl_operations.js file and the tbl_move_copy.php file which handles that ajax request. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;    After doing these modifications now when user copy a table to another database he can do it by reloading the page and if only the user select "Switch to copied table" option only he redirects to the copied table.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;    Next week I'll continue with ajaxify the remaining options in table operations. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4564929008407009520?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4564929008407009520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_31.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4564929008407009520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4564929008407009520'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_31.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - 10th week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-387329019049507717</id><published>2011-07-24T10:09:00.000-07:00</published><updated>2011-07-24T10:37:32.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - ninth week</title><content type='html'>&lt;span class="Apple-style-span"  &gt;    This week I continued my works on "Ajaxify the Add column(s) in table structure". I added two ajax actions in to tbl_strucure.js and functions.js files. &lt;/span&gt;&lt;div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;ol style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"  &gt;&lt;li style="margin-left: 15px; "&gt;I added the "&lt;b&gt;$("#addColumns.ajax input[value=Go]").live('click'&lt;wbr&gt;)&lt;/b&gt;" action to the tbl_structure.js file which gives the add columns dialog for the user. &lt;/li&gt;&lt;li style="margin-left: 15px; "&gt;Then I reused the code in "&lt;b&gt;$("#append_fields_form input[name=do_save_data]").&lt;wbr&gt;live('click')&lt;/b&gt;" action in functions.js file which was initially written for handling the table-&amp;gt;change option. I did small changes for the same action and used with this feature. &lt;/li&gt;&lt;/span&gt;&lt;/ol&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;    Then after Marc pointed out two issues with the enum editor which are&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Cannot edit the enum editor values &lt;/li&gt;&lt;li&gt;Not appearing the name of the column in enum editor header&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;    Since I have fixed a similar issue in Table-&amp;gt;Structure-&amp;gt;change feature I used the same logic of overlaying the enum editor by changing its z index using jquery. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;Finally when the feature is finished, user gets an "&lt;b&gt;Add column&lt;/b&gt;" dialog box which allows the user to add a column to the table as follows. &lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://1.bp.blogspot.com/-GPRzTpDXj_M/TixVCm104ZI/AAAAAAAAAUM/cJNaD5lvhbg/s400/Screenshot-8.png" style="cursor:pointer; cursor:hand;width: 400px; height: 254px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5632970737208058258" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;I started working with modifying&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 24px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-weight: normal; font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt; the &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-weight: bold; font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt;Table operations &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-weight: normal; font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt;tasks by applying the ajax behavior for those features. I started ajaxifying the &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold; line-height: 24px; white-space: pre-wrap; "&gt;Alter table order&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 24px; white-space: pre-wrap; "&gt; option and still in progress. &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 24px; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 24px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-weight: normal; font-style: normal; text-decoration: none; white-space: pre-wrap; "  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"  &gt;Next week I'll continue with that feature. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-387329019049507717?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/387329019049507717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/387329019049507717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/387329019049507717'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_24.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - ninth week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-GPRzTpDXj_M/TixVCm104ZI/AAAAAAAAAUM/cJNaD5lvhbg/s72-c/Screenshot-8.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4429408057997660053</id><published>2011-07-17T23:10:00.000-07:00</published><updated>2011-07-17T23:34:52.260-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - eighth week</title><content type='html'>    The mind term evaluation for the GOSC 2011 with phpMyadmin was on this week and I was able to successfully get through the evaluation this time with the help of Marc and the other community members.&lt;br /&gt;    In this week I worked with modifying the initTooltips() function which converts the footnotes to tool tips. I changed the logic by defining the relevant domain of its operation at each time by adding and extra parameter to it. But Marc informed me on some issues with that logic and I'll work on that in next week.&lt;br /&gt;&lt;br /&gt;    Then I worked with my 9th week task "&lt;b&gt;Ajaxify the Add column(s) in Table structure". &lt;/b&gt;I added the "&lt;b&gt;Add column&lt;/b&gt;" dialog which carries the "&lt;b&gt;append_fields_form&lt;/b&gt;" for submitting action in the add column form in the table structure. &lt;div&gt;    There are some modifications with this option and I'll push my code as soon as I finish them. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Next week I'll continue with above work and start working with "&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span" style="line-height: 24px; font-family: 'Times New Roman'; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt;Implement the &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt;Table operations &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; text-decoration: none; white-space: pre-wrap; "&gt;tasks&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13pt; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-style: initial; border-color: initial; font-family: Arial; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; white-space: pre-wrap; background-position: initial initial; background-repeat: initial initial; "&gt;"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4429408057997660053?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4429408057997660053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4429408057997660053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4429408057997660053'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_17.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - eighth week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-3607806694553420025</id><published>2011-07-10T17:49:00.000-07:00</published><updated>2011-07-10T18:35:00.711-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Seventh week</title><content type='html'>    This week my target was to work with "&lt;b&gt;ajaxify the Column-&amp;gt;Change in Table-&amp;gt;Structure&lt;/b&gt;" task. But at the beginning of the week Rouslan and Marc arose two issues regarding my previous modifications. Those are&lt;div&gt;&lt;ol&gt;&lt;li&gt;Set of issues with the "&lt;b&gt;Ajaxified Index-&amp;gt;Edit&lt;/b&gt;" option&lt;/li&gt;&lt;li&gt;An issue of not appearing the date time pickers in "&lt;b&gt;DB-&amp;gt;Structure-&amp;gt;Insert&lt;/b&gt;"&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;    With the issues in "&lt;b&gt;Ajaxified Index-&amp;gt;Edit&lt;/b&gt;" I had to rewrite the "&lt;b&gt;checkIndexName()&lt;/b&gt;" function which was written in the indexes.js file. The existed method was written in pure javascript and I had to write it using jquery. And there were some issues with the manner I have used the jquery dialog and by Rouslans explanation I was able to gain some important facts on using the dialog correctly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Then I worked with &lt;b&gt;DB-&amp;gt;Structure-&amp;gt;Insert&lt;/b&gt;" issue with the help of Rouslans help and was able to bind the datetime&lt;b&gt; &lt;/b&gt;picker with the insert form. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Then I start working with my this weeks task which is to "&lt;b&gt;ajaxify the Column-&amp;gt;Change in Table-&amp;gt;Structure&lt;/b&gt;". Initially I tried to reuse the code which I have used in my previous task "&lt;b&gt;Ajaxify Table-&amp;gt;Structure-&amp;gt;Muli_column-&amp;gt;Change&lt;/b&gt;". So I moved the common code to "&lt;b&gt;changeColumns(action,url)&lt;/b&gt;" function and used with both &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;$("#fieldsForm.ajax .mult_submit[value=change]").live('click')&lt;/li&gt;&lt;li&gt;$("#fieldsForm.ajax #tablestructure tbody tr td.edit a").live('click')&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;tasks. &lt;/div&gt;&lt;/div&gt;&lt;div&gt;    Since I used "&lt;b&gt;modal:true&lt;/b&gt;" parameter within the dialog there was an issue of "&lt;b&gt;enum-editor&lt;/b&gt;" getting disable. This happens because of applying the "&lt;b&gt;ui-widget-overlay&lt;/b&gt;" for the rest while we editing in the dialog. I found that the basic z-index of the overlay id 1000 and dynamically changed the z-index of the "&lt;b&gt;enum-editor&lt;/b&gt;" to 1100 so it appears above the overlay. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now it works properly and the modifications were merged to the master branch by Marc. &lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-w8a_eR3utnk/ThpRowEjDVI/AAAAAAAAAT8/qj3FJ_DUyxg/s400/Screenshot-4.png" style="cursor:pointer; cursor:hand;width: 400px; height: 264px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5627900444893449554" /&gt;&lt;/div&gt;&lt;div&gt;    Change dialog box&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-TgA8fcYVvMs/ThpRo52rgWI/AAAAAAAAAUE/djCaN6ESasw/s400/Screenshot-5.png" style="cursor:pointer; cursor:hand;width: 400px; height: 272px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5627900447519637858" /&gt;&lt;/div&gt;&lt;div&gt;Enum editor&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next week I will work with the mid-term evaluation and implementing "&lt;b&gt;Add-&amp;gt;Columns&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;". &lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-3607806694553420025?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/3607806694553420025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_10.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3607806694553420025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3607806694553420025'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011_10.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Seventh week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-w8a_eR3utnk/ThpRowEjDVI/AAAAAAAAAT8/qj3FJ_DUyxg/s72-c/Screenshot-4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4964462183652280588</id><published>2011-07-03T22:09:00.000-07:00</published><updated>2011-07-03T23:14:03.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Sixth week</title><content type='html'>&lt;br /&gt;&lt;br /&gt;This week I mainly worked with three options in my project. Those are ajaxifying the following features.&lt;br /&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Continued with "&lt;b&gt;Multi_row -&amp;gt;Export&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Browse&lt;/b&gt;"&lt;/li&gt;&lt;li&gt;"&lt;b&gt;Indexes-&amp;gt;Edit&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;"&lt;/li&gt;&lt;li&gt;"&lt;b&gt;Hide/Show Indexes&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;"&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;    The first task is a continuation of the my forth week task. In this I tried to export the results to an external file and tried to do it with ajax. But after referring some &lt;a href="http://stackoverflow.com/questions/2186562/post-to-server-receive-pdf-deliver-to-user-w-jquery"&gt;discussion&lt;/a&gt; in forums I realized that this is hard to achieve with ajax and then after discussing with Marc I have reverted the changes done to the ''&lt;b&gt;Export&lt;/b&gt;" option and skipped the "&lt;b&gt;Multi_row -&amp;gt; Export&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Browse&lt;/b&gt;" option to been ajaxifying. But I suggested a Jquery &lt;a href="http://www.filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/"&gt;plugin&lt;/a&gt; for future developers, which is able to solve this issue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Then I started working with my second task which is adding ajax dialog box for "&lt;b&gt;Indexes-&amp;gt;Edit&lt;/b&gt;" feature in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;". I mainly used "&lt;b&gt;tbl_structure.js&lt;/b&gt;" file to handle the logic of actions and modified the "&lt;b&gt;tbl_indexes.php&lt;/b&gt;" file to response for ajax request for this. In tbl_strucuture.js file i used three actions to handle this feature. Those are&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;$("#table_index tbody tr td.edit_index.ajax").live('click') - pops up the "&lt;b&gt;Edit&lt;/b&gt;" dialog which loads the "&lt;b&gt;index_frm&lt;/b&gt;"&lt;/li&gt;&lt;li&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;$("#index_frm.ajax input[name=do_save_data]").live('click') - submits the index changes for the "&lt;b&gt;tbl_indexes.php&lt;/b&gt;" file&lt;/li&gt;&lt;li&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;$("#index_frm.ajax input[name=add_fields").live('click') - Add more columns to the index form&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;After completing above modifications this feature works fine and add more usability to the index edit option.&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-1OkzTdSjlQM/ThFVWLn1D0I/AAAAAAAAATk/p9fNpD7Gchk/s400/Screenshot-1.png" style="cursor:pointer; cursor:hand;width: 400px; height: 263px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5625371249127788354" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;    Edit dialogbox&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Then I started working with my third task which is adding "&lt;b&gt;Hide/Show Indexes&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;". I used tbl_structure.js file to handle the actions logic for this. I have generated "&lt;b&gt;#toggletableindexdiv&lt;/b&gt;" which carries the "&lt;b&gt;toggletableindexlink&lt;/b&gt;" which will toggle the index table show and hide. Following screen shots show how this feature works.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-lo5-CbTwIcE/ThFXwVXBTlI/AAAAAAAAATs/CI39JPsNROs/s400/Screenshot-3.png" style="cursor:pointer; cursor:hand;width: 400px; height: 161px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5625373897441496658" /&gt;&lt;/div&gt;&lt;div&gt;    When the indexes are shown&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-KUiG1nG6Vjw/ThFXws3OYTI/AAAAAAAAAT0/h1BihyI1QhI/s400/Screenshot-2.png" style="cursor:pointer; cursor:hand;width: 400px; height: 206px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5625373903750586674" /&gt;&lt;/div&gt;&lt;div&gt;    When the indexes shown&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    After adding these features to PMA, it improved the usability and allow the user to do above mentioned actions without reloading its base pages.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next week I'll work with ajaxifying the "&lt;b&gt;Single_column -&amp;gt; Change&lt;/b&gt;" in "&lt;b&gt;Table-&amp;gt;Structure&lt;/b&gt;". &lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4964462183652280588?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4964462183652280588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4964462183652280588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4964462183652280588'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/07/ajaxify-phpmyadmin-interface-gsoc-2011.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Sixth week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-1OkzTdSjlQM/ThFVWLn1D0I/AAAAAAAAATk/p9fNpD7Gchk/s72-c/Screenshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-3523212909644326056</id><published>2011-06-26T09:09:00.000-07:00</published><updated>2011-06-26T09:58:03.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Fifth week</title><content type='html'>&lt;span class="Apple-style-span"&gt;    Since I could not finish my fourth weeks second task which is "&lt;b&gt;Ajaxify the multi row export in table browse&lt;/b&gt;" last week, I continued working with it in this week. &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;I used the sql.js file for handling the actions related to export and then the sql.php file. For this task I tried to reuse the &lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;b&gt;toggle_quick_or_custom(); &lt;/b&gt;&lt;/span&gt;function. I used two actions for this task which are&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;$("#resultsForm.ajax .mult_submit[value=export]").live('click') &lt;/span&gt;which pop ups the "Export" dialog box containing the "dump" form for export&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;$("#buttonGo.ajax").live('click')&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 136, 0); white-space: pre; "&gt; &lt;/span&gt;which post the export data to export.php file. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;    Even though I worked with this task still there are some bugs with that option and I'll continue with that in the next week also. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;    &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;    Even tough my "&lt;b&gt;Ajaxify Table-&amp;gt; Browse-&amp;gt;Multiple rows-&amp;gt;Export&lt;/b&gt;" option is not yet finished, since my this weeks task is "&lt;b&gt;Ajaxify Table-&amp;gt;Structure-&amp;gt;Multiple rows-&amp;gt;Change&lt;/b&gt;", I worked with it. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;    In this I tried to reuse the &lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: 'times new roman'; "&gt;"&lt;b&gt;if($("input[type='hidden'][&lt;wbr&gt;name='table_type']").val() == "table")" &lt;/b&gt;code segment and place it in "&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: 'times new roman'; "&gt;&lt;b&gt;displayMoreTableOpts()&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: 'times new roman'; "&gt;" fucntion in function.js. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: 'times new roman'; "&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span" &gt;    I used the tbl_structure.js for handling the change event and in that I used two actions which are &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: 'times new roman'; "&gt;&lt;span class="Apple-style-span"&gt; "&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span" style="white-space: pre; border-collapse: separate; "&gt;&lt;b&gt;$("#fieldsForm.ajax .mult_submit[value=change]").live('click')&lt;/b&gt;&lt;/span&gt;" action to pop up the change dialog which contains the "&lt;b&gt;#apend_field_form&lt;/b&gt;".&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;"&lt;/span&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span" style="font-family: 'times new roman'; white-space: pre; border-collapse: separate; "&gt;&lt;b&gt;$("#append_fields_form input[name=do_save_data].ajax").live('click')&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;" action to handle the save option for save the changes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;    There small modifications which should done for this option, so I need to continue with this option in the next week. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;    My sixth week tasks are "&lt;b&gt;Ajaxify edit index and show/hide index in table structure&lt;/b&gt;", so I'll work with those options in next week. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-3523212909644326056?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/3523212909644326056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_26.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3523212909644326056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3523212909644326056'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_26.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Fifth week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-7197770223735364881</id><published>2011-06-20T10:42:00.000-07:00</published><updated>2011-06-20T11:23:26.579-07:00</updated><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Fourth week</title><content type='html'>After ajaxifying the table-&amp;gt; insert in db-&amp;gt; structure in last week, I had to fix some bugs in the same option this week also. Then I started applying ajax dialog for muti_row-&amp;gt;change in the table-&amp;gt;browse option. As Marc requested I have changed the name of the form "&lt;b&gt;rowsDeleteForm&lt;/b&gt;" in to "&lt;b&gt;resultsForm&lt;/b&gt;". Then I went through the code to find whether there are any code segments which can be used for my developments. There were not much code on that and I just find the&lt;br /&gt;&lt;b&gt;     &lt;/b&gt;&lt;div&gt;&lt;b&gt;     $("input[name=navig].ajax").click&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div&gt;     function which can be used for reload the "&lt;b&gt;resultForm&lt;/b&gt;" after successfully changing the row values. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;     Then I started implementing the feature and first I developed the click event for "&lt;b&gt;Change&lt;/b&gt;" option which pops up the "&lt;b&gt;Change&lt;/b&gt;" dialog which contains the "&lt;b&gt;#insertForm&lt;/b&gt;" form which allows to change the selected values.&lt;/div&gt;&lt;div&gt;&lt;b&gt;     $("#resultsForm.ajax .mult_submit[value=edit]").live('click')&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-56M2hd486_g/Tf-L5NrzksI/AAAAAAAAASA/YG1jjbF_geQ/s400/Screenshot-39.png" style="cursor:pointer; cursor:hand;width: 400px; height: 267px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5620364675023868610" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;     Then I developed the two events which handles the clicks on go buttons at "&lt;b&gt;InsertRowTable&lt;/b&gt;" and "&lt;b&gt;navigationPanel&lt;/b&gt;". Those are &lt;/div&gt;&lt;div&gt;&lt;b&gt;     $("#insertForm .insertRowTable.ajax input[value=Go]").live('click') &lt;/b&gt;and&lt;/div&gt;&lt;div&gt;&lt;b&gt;     $("#buttonYes.ajax").live('click')&lt;/b&gt;&lt;/div&gt;&lt;div&gt;     On those I used the "&lt;b&gt;$.post()&lt;/b&gt;" action to submit the changed values and if it is success used to trigger the "&lt;b&gt;navg&lt;/b&gt;" button to reload the "&lt;b&gt;resutlsForm&lt;/b&gt;". &lt;/div&gt;&lt;div&gt;&lt;b&gt;     $("input[name=navig].ajax").trigger('click')&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;     After instructions given by Marc, I changed the code in order it supports for the vertical table. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;     This feature is now works fine and merged to the master branch by Marc and I believe it really improve the usability of the PMA.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next week I have to work with ajaxify the table-&amp;gt;export in db-&amp;gt;browse and the actions in multiple rows in the table-&amp;gt;structure.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-7197770223735364881?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/7197770223735364881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7197770223735364881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7197770223735364881'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_20.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Fourth week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-56M2hd486_g/Tf-L5NrzksI/AAAAAAAAASA/YG1jjbF_geQ/s72-c/Screenshot-39.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-5319844423925752322</id><published>2011-06-13T08:40:00.000-07:00</published><updated>2011-06-13T09:34:40.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Third week</title><content type='html'>    After finishing my last week task which is ajaxifying the "Add a new User" in db-&amp;gt;privileges, this week I started providing an ajax featured dialog to the table inserts in db-&amp;gt;structure.&lt;br /&gt;There were no previously done related works on that, so I had to start it form the beginning and there were no any codes which I could reuse in my implementation. I chose the db_structure.js file to handle the ajax behavior in this insertion.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Initially I added the ajax class for the insert link and then wrote the action for that insert link click in db_structure.js file. The action is &lt;span style="font-weight:bold;"&gt;$("td.insert_table a.ajax").live('click')&lt;/span&gt;&lt;span&gt;. After click action it popups the "&lt;b&gt;insert_table_dialog" &lt;/b&gt;dialog which carries the "&lt;b&gt;insertForm&lt;/b&gt;" &lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight:bold;"&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;img src="http://3.bp.blogspot.com/-oMrNQ0iqj0I/TfY1iFQqeCI/AAAAAAAAAR4/Lce55GvZZTk/s400/Screenshot-38.png" style="cursor:pointer; cursor:hand;width: 400px; height: 255px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5617736444835166242" /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;                    Insert Table pop up dialog&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Then I implemented the action which triggers when the "&lt;b&gt;Go&lt;/b&gt;" button in "&lt;b&gt;insertRowTable&lt;/b&gt;" is clicked. That is &lt;b&gt;$("#insertForm .insertRowTable.ajax input[value=Go]").live('click') &lt;/b&gt;and it basically post the insert form to the  db_structure.php and then after the record is successfully inserted it reloads the  "&lt;b&gt;tablesForm&lt;/b&gt;" in the db-&amp;gt;structure with newly inserted values. I used "&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;b&gt;$().load()&lt;/b&gt;" function to load the tableForm with new values. &lt;/li&gt;&lt;li&gt;Then I implemented the click action of the "&lt;b&gt;Go&lt;/b&gt;" button at the "&lt;b&gt;action_panel&lt;/b&gt;" in the insertForm. That is "&lt;b&gt;$("#buttonYes.ajax").live('click')&lt;/b&gt;". In that case I had to handle the different "&lt;b&gt;submit_types&lt;/b&gt;" and "&lt;b&gt;after_insert"&lt;/b&gt; types. When user select the "&lt;b&gt;new_insert&lt;/b&gt;" in after_insert list the "&lt;b&gt;Insert table&lt;/b&gt;" dialog should re popup. So I used "&lt;b&gt;trigger('click')&lt;/b&gt;" function to trigger the insert click automatically. &lt;/li&gt;&lt;/ul&gt;    Now the insert option in db-&amp;gt;structure works fine with its ajax behavior but seems little bit slow due to high number of "&lt;b&gt;get()&lt;/b&gt;" requests during the operations. I'll fix that issue in the next week. &lt;div&gt;    Next week my major tasks will be implementing the &lt;b&gt;Actions on multiple rows in table browse. &lt;/b&gt;It will basically contains two part which are "&lt;b&gt;change&lt;/b&gt;" and "&lt;b&gt;export&lt;/b&gt;". &lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-5319844423925752322?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/5319844423925752322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/5319844423925752322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/5319844423925752322'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011_13.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Third week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-oMrNQ0iqj0I/TfY1iFQqeCI/AAAAAAAAAR4/Lce55GvZZTk/s72-c/Screenshot-38.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-7389947019466258213</id><published>2011-06-05T09:30:00.000-07:00</published><updated>2011-06-05T10:50:42.379-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - Second week</title><content type='html'>   After successfully completing my first task which is Ajaxify the "Create Table" option in the navigation panel last week, I moved to the second task of the schedule. It is applying ajax behavior to the "Add a new User" option in the db-&amp;gt;privileges tab. Initially I went through the implementation of "&lt;span style="font-weight:bold;"&gt;Add a new User&lt;/span&gt;" option in host-&amp;gt;privileges which is a similar situation as db-&amp;gt;privileges.  I went through the code in the server_privileges.php and server_privileges.js files to find out what are the available logics and the code which can be reused for my implementation. I found that $("#fieldset_add_user a.ajax").live("click") event code is the logic and the code which I can reuse for my implementation. After that I started modifying it according to my task.&lt;br /&gt;&lt;br /&gt;   First I added the class="ajax" attribute to the "Add a new user link" when the Ajax in enabled. Then It became supporting to the same logic in $("#fieldset_add_user a.ajax").live("click") event.&lt;br /&gt;&lt;br /&gt;   At that point when we click on the "Add a new User" link, it successfully popups the dialog box which is carrying the "Add user" form and after we submit it correctly create that user. But still its not done. Because I had to reload the "db specific user rights" table at the db-&amp;gt;privileges tab. &lt;br /&gt;&lt;br /&gt;   After discussing with Marc I decided to use a post command to get the updated "db specific user rights" table in db-&amp;gt;privileges and replace it with the current table. So in oder to do so I had to remove the echoes of the "db specific user rights" form in server_privileges.php file and use the PMA_ajaxResponse() to pass the string of the table object as a json string.&lt;br /&gt;&lt;br /&gt;   Then I had to face a problem of not parsing the json string correctly and outputs error. So I used the $.parseJSON() function to parse the json string at the server_privileges.js file. Then it worked fine and reloaded the "db specific user rights" table with newly added user.&lt;br /&gt;&lt;br /&gt;   Then Marc directed me to a new scenario in host-&amp;gt;databases-&amp;gt;check_privileges-&amp;gt;"Add a new user" which gave some errors because of my modification. Finally I have modified the logic which corrects the error and now the feature is working correctly. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;  Add user dialog&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/-jhVmRaLVl_E/TevAzyQ3NdI/AAAAAAAAARc/IAKB8OhviFo/s400/Screenshot-37.png" style="cursor:pointer; cursor:hand;width: 400px; height: 296px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5614793356345816530" /&gt;&lt;/div&gt;&lt;div&gt;                             &lt;/div&gt;&lt;div&gt;&lt;br /&gt;   Now the "Add a new user" in db-&amp;gt;privileges option works fine with the ajax behavior and I think it will help to improve the usability of PMA.&lt;br /&gt;&lt;br /&gt;   Next week I'm going to work with modifying the "Insert for a table" option in db-&amp;gt;structure, which will apply the ajax behavior to it.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-7389947019466258213?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/7389947019466258213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7389947019466258213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7389947019466258213'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/06/ajaxify-phpmyadmin-interface-gsoc-2011.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - Second week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jhVmRaLVl_E/TevAzyQ3NdI/AAAAAAAAARc/IAKB8OhviFo/s72-c/Screenshot-37.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-5983016542421038115</id><published>2011-05-27T10:17:00.000-07:00</published><updated>2011-05-27T10:23:00.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - GSOC 2011 - First week</title><content type='html'>This is the fist week of coding time period in my gsoc 2011 project with phpMyAdmin(PMA). On 23rd of May the official coding time started. Since there were some free time with my in the community building period I started my works on before hand. It made me easy to be familiar with the code base and style which is used in PMA. &lt;br /&gt;&lt;br /&gt;My first task is give the ajax behavior to the "Create Table" option in the navigation panel of the database. Initially when we click on the "Create Table" option it directs the content frame to a new page. So I wanted to give a dialog box which loads the create table form and then submit it using ajax. &lt;br /&gt;&lt;br /&gt;First I went through a similar feature in the "database-&gt;structure" and "database-&gt;operation" by using the "create_table_form_minimal" form. At that case I got some knowledge on how we can use dialog boxes for this kind of scenario. Then I tried to find  out of them what are the code segments which I can reuse for my task. There were three actions which used for "Create Table" option in "function.js". Those are &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    ("#create_table_form_minimal").live('submit') - triggers when the initial form has submit.&lt;br /&gt;    ("#create_table_form input[name=do_save_data]").live('click') - triggers when the save button clicks in the form.&lt;br /&gt;    ("#create_table_form.ajax input[name=submit_num_fields]").live('click') - triggers when the add new column option clicks.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Out of those I realized that the second and third actions are common to both cases. I had to add a new action instead of the first one. &lt;br /&gt;&lt;br /&gt;Then I planed how to structure my new option. After discussing with Marc I decided to add my code the "navigation.js" so it is logical and easy to use in the future. Then I developed the (#newtable).live('click') action in "naviation.js" file and after discuss with Marc I put the common logic to the "PMA_createTableDialog()" function in the "fucntion.js" file. &lt;br /&gt;Finally Marc requested a modification on changing the "Add 'x' column(s) Go" option to the top of the create table form and I did that. Now the "Create Table" option in the navigation panel works fine and I think the modification added some more usability on that.      &lt;br /&gt;I have successfully finished my first task of my project. Next I 'm willing to work with adding the ajax behavior to the "database-&gt;privileges" option.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-5983016542421038115?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/5983016542421038115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/05/ajaxify-phpmyadmin-interface-gsoc-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/5983016542421038115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/5983016542421038115'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/05/ajaxify-phpmyadmin-interface-gsoc-2011.html' title='AJAXify phpMyAdmin Interface - GSOC 2011 - First week'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-3969675845201936945</id><published>2011-04-30T11:15:00.000-07:00</published><updated>2011-04-30T11:47:00.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpmyadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAXify phpMyAdmin Interface - Gsoc 2011</title><content type='html'>                   &lt;a href="http://1.bp.blogspot.com/-OYrCxH8W344/TbxXSU8RZaI/AAAAAAAAARI/t5OQ0JmviYg/s1600/GSOC_2011_300x200px_URL.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://1.bp.blogspot.com/-OYrCxH8W344/TbxXSU8RZaI/AAAAAAAAARI/t5OQ0JmviYg/s400/GSOC_2011_300x200px_URL.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5601448008912823714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;  &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;   This time my proposal on "&lt;a href="http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/lgtkaushalya/1#"&gt;AJAXify phpMyAdmin Interface&lt;/a&gt;" got accepted for Google Summer of Competition with phpMyAdmin (PMA). Marc Delisle, Michal &lt;span class="Apple-style-span"&gt;Čihař and Ninad Pundalik who is the last year Gsoc contributor &lt;/span&gt;helped me a lot &lt;span class="Apple-style-span"&gt;when I improve my patches and the proposal. &lt;a href="http://infomarc.info/"&gt;Marc Delisle&lt;/a&gt; act as my mentor for my project in this summer. &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, serif; font-size: 16px; "&gt;                                              &lt;a href="http://3.bp.blogspot.com/-jsf2D3aWPqs/TbxXecNvItI/AAAAAAAAARQ/rqaXO4bZnFg/s1600/logo_right.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img src="http://3.bp.blogspot.com/-jsf2D3aWPqs/TbxXecNvItI/AAAAAAAAARQ/rqaXO4bZnFg/s400/logo_right.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5601448217023554258" style="cursor: pointer; width: 172px; height: 100px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span"&gt;    &lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap; "&gt;Ajaxifing the PMA is a project idea which continues from the last year gsoc session which was done by Ninad Pundalik. Last year he has improved some important features by giving the ajax behaviour to them in the PMA. Since ajax is a trendy behaviour among web domain and since it improves the usability of the system, moving in to ajax is a huge improvement step on PMA. This time &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap; "&gt;I’m willing to improve the usability of some identified important features in PMA by applying ajax behavior using jquery library. After improving those features, they will be able to provide a quick and consistent flow of operations to the PMA users.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap; "  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap; "&gt;&lt;span class="Apple-style-span"  &gt;Next series of blog post will discuss more about my project in this summer.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: 17px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 17px; line-height: 19px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-3969675845201936945?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/3969675845201936945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/04/ajaxify-phpmyadmin-interface-gsoc-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3969675845201936945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/3969675845201936945'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/04/ajaxify-phpmyadmin-interface-gsoc-2011.html' title='AJAXify phpMyAdmin Interface - Gsoc 2011'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-OYrCxH8W344/TbxXSU8RZaI/AAAAAAAAARI/t5OQ0JmviYg/s72-c/GSOC_2011_300x200px_URL.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4914030947307750780</id><published>2011-04-23T09:30:00.000-07:00</published><updated>2011-04-23T11:54:32.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OCR'/><title type='text'>Optical Character recognition with Tesseract</title><content type='html'>     Since I was very busy with my final year stuff I could not write a blog post for months. But today I got some time to introduce an amazing tool for you, which will help you when dealing with the Optical Character Recognition(OCR) domain. Lets get a basic knowledge on the OCR domain, before moving to Tesseract. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is OCR?&lt;/div&gt;&lt;div&gt;"&lt;i&gt;Translating the handwritten, typewritten or printed texts in a scanned image to a machine encoded text.&lt;/i&gt;"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    This OCR concept is very important and widely used in converting important documents which are in image formats to text format. The first major use of OCR was in processing petroleum credit card sales drafts. This application provides recognition of the purchaser from&lt;br /&gt;the imprinted credit card account number and the introduction of a transaction. Most of the modern scanners provides the feature of OCR enabling for the images scanned using it which will directly output the text content of the scanned image. This concept helps to save a huge time which will waste on rewriting the image contents. There are lots of pattern recognition and image processing activities involved with this field and this is an very interesting and research area in the current computing word.     &lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is &lt;a href="http://code.google.com/p/tesseract-ocr/"&gt;Tesseract&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;"&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;i&gt;The Tesseract OCR engine was one of the top 3 engines in the 1995 UNLV Accuracy test and it is probably one of the most accurate open source OCR engines available. The source code will read a binary, grey or color image and output text. A tiff reader is built in that will read uncompressed TIFF images. T&lt;/i&gt;&lt;/span&gt;&lt;i&gt;esseract is licensed under the apace license and any one can use it for free. &lt;/i&gt;&lt;span class="Apple-style-span" style="line-height: 16px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;i&gt;The core developer on the project is Ray Smith &lt;/i&gt;&lt;/span&gt;&lt;/span&gt;"&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;&lt;i&gt;&lt;/i&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    Sometimes back I involved with a project to modifying  an OCR module for Sahana Disaster Management System. So I searched for an OCR engine for integrate it with the SahanaOCR system. Tesseract was the best solution I found. It has an immense power on recognizing printed text and also it is very easy to localize for your own mother languages.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to install Tesseract on your PC ?.&lt;/div&gt;&lt;div&gt;Tessearct provides a set of binary executable for Windows and installers for Linux systems. The detailed &lt;a href="http://code.google.com/p/tesseract-ocr/wiki/ReadMe"&gt;installation guild&lt;/a&gt; is available here. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    The Windows users can directly &lt;a href="http://code.google.com/p/tesseract-ocr/downloads/list"&gt;download&lt;/a&gt; the latest exe file here. The installation guide for the Linux users also provided at the general installation guide . Then you have to download the trained data folder which is available at the download page. Currently there are trained data sets for many languages such as English, Chines, Spanish etc. You can download any of those tessdata files and extract it into your working directory. &lt;/div&gt;&lt;div&gt;Then there you can go into the directory where the tesseract.exe is located and use the following command to recognize the images and finally to output the recognized characters in an text file. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; font-size: 12px; white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt;tesseract &lt;/span&gt;&lt;span class="str" style="color: rgb(0, 136, 0); "&gt;image&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt; &lt;/span&gt;&lt;span class="str" style="color: rgb(0, 136, 0); "&gt;outputbasename&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt; &lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;[-&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt;l lang&lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;]&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt; &lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;[&lt;/span&gt;&lt;span class="pln" style="color: rgb(0, 0, 0); "&gt;configs&lt;/span&gt;&lt;span class="pun" style="color: rgb(102, 102, 0); "&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;    In this the image file is name of your image using for OCR and the output_base_name is the name of the text file which will contains the recognized output. The images should be in TIFF format and you can use the &lt;a href="http://www.libtiff.org/"&gt;Libtiff&lt;/a&gt; library for handling compressed images with Tesseract. Other configurations are optional and they facilitate for more advance features.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Training Tesseract.&lt;/div&gt;&lt;div&gt;There is another amazing feature provided by Tesseract which is customizing it for your local languages. For that initially we have to train Tessearct for the new language. Here is the &lt;a href="http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3"&gt;training guide&lt;/a&gt; for the Tessearct. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;    For training it, you have to have a proper training set of characters. Then after you select a proper training set you can follow the training procedure which is described at the guide. After following all the steps it will provide you a &lt;i&gt;lang.trainddata&lt;/i&gt; file which contains all the newly trained data. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tessbase API.&lt;/div&gt;&lt;meta equiv="content-type" content="text/html; charset=utf-8"&gt;&lt;div&gt;Now you have a good idea on how to use Tesseract for OCR. But thats all for using Tesseract on its own. What if we need to integrate it with our own application. So for that Tesseract provides a highly user friendly API which is named as Tessbase API. So you can use tessbaseAPI class to call the internal functions provided by Tesseract. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the &lt;a href="http://groups.google.com/group/tesseract-ocr"&gt;general forum&lt;/a&gt; where the common discussions carried out on Tesseract project and you can find more details on the project by subscribing to that. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4914030947307750780?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4914030947307750780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2011/04/optical-character-recognition-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4914030947307750780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4914030947307750780'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2011/04/optical-character-recognition-with.html' title='Optical Character recognition with Tesseract'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-7289008782257791193</id><published>2010-10-27T09:30:00.001-07:00</published><updated>2010-10-27T09:41:02.743-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SahanaOCR'/><category scheme='http://www.blogger.com/atom/ns#' term='Sahana'/><title type='text'>My project on SahanaOCR Gsoc 2010</title><content type='html'>&lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;    &lt;span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This is my first post after about 8 months from my last post. Since I was very busy on the training period and the Gsoc competition I was unable to write a post o my blog. How ever again I managed to find some time to write a blogpost fortunately. So I decided to continue the blogpost on SahanaOCR project from where I have stopped at my last post. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/TMhVg8armeI/AAAAAAAAAQI/IYLtXZP3CnY/s400/2010soclogo.jpg" style="cursor:pointer; cursor:hand;width: 300px; height: 267px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5532766166686865890" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    So as I mentioned earlier since I &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;h&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;ave worked with the SahanaOCR system before I came up with the idea of applying for the Gsoc competition for the SahanaOCR project. So I have wrote a proposal on the project with discussing the major implementations and developments that I'm going to do in the project in the session. &lt;a href="http://www.mediafire.com/?bcalx2np6ak0cj1"&gt;Here&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;is my project proposal, So you may have a better idea on how to write acceptable project proposal for the Gsoc competition.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman', serif; "&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;img src="http://2.bp.blogspot.com/_qnTFktZuiFk/TMhTvX5qc2I/AAAAAAAAAQA/GhC4a2oVB6s/s400/sahana_logo.png" style="cursor:pointer; cursor:hand;width: 223px; height: 44px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5532764215559484258" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;   &lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    &lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;My project extension plan was to improve the most necessary features of the current project. The proposal propose 5 main ideas for the existinng Sahana OCR project&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol&gt;  &lt;ol&gt;   &lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt;   &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Make   the system platform independent&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt;   &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Integrate   the Tesseract code to the project&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt;   &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Adding   the feature of differentiating the different forms by a bar-code   embedded to the forms automatically handles those forms.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt;   &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Read   the labels of the data fields and identify the type of data field   so can give restrictions to the Tesseract to identify the numbers   or letters separately.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt;   &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Automatically   send the data to the databases of the relevant modules&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;/ol&gt; &lt;/ol&gt; &lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; widows: 2; orphans: 2"&gt; &lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    So after completing these steps the Sahana OCR project will be able to complete the process of extracting data from forms with a great accuracy. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;  &lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    After being active on the Sahana mailing list and exchanged lot of ideas on the project with earlier mentors and contributors they have accepted my project proposal for the Gsoc 2010 competition. that was a day which gave me the same happiness as I passed my Advance Level exam. My mentor was Mr. Gihan Chamara who was graduated from my department last year. During the whole project he was the great strength for me and also Mr chamindra, Mr Jo and Mr Hayesha guided me to make this task success. I have started my project implementations on the 24&lt;sup&gt;th&lt;/sup&gt; May and it gave me lot of memorable experiences to my life during the whole project time which ran up to 10&lt;sup&gt;th&lt;/sup&gt; September.    &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    It taught me how to plane a project, how to overcome the challenges we met during that, how to behave withing the public communities, how to get helps form others as well as some more things which were new to me.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    &lt;a href="http://wiki.sahanafoundation.org/doku.php/foundation:gsoc_geganage"&gt;Here&lt;/a&gt; is the wiki page that I have maintained during the project and you can get the more information on the technical details and how the project ran by referring that.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    &lt;a href="http://www.mediafire.com/?am1aerng63ni450"&gt;Here&lt;/a&gt; is the link for my project report which I have submitted at the end of the project period and it contains all the details of the current status of the project.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    &lt;a href="https://code.launchpad.net/~sahana-agasti-ocr/sahana-agasti/ocr"&gt;Here&lt;/a&gt; is my project branch which I have submitted my code in the Launchpad.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;    Even though  the Gsoc competition and over my effort on the SahanaOCR has not over. So my wish is to continue on working with it and be with it until it became a applicable standalone product.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-7289008782257791193?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/7289008782257791193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2010/10/my-project-on-sahanaocr-gsoc-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7289008782257791193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7289008782257791193'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2010/10/my-project-on-sahanaocr-gsoc-2010.html' title='My project on SahanaOCR Gsoc 2010'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qnTFktZuiFk/TMhVg8armeI/AAAAAAAAAQI/IYLtXZP3CnY/s72-c/2010soclogo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-1614515386777211407</id><published>2010-02-28T05:28:00.000-08:00</published><updated>2010-03-05T01:02:36.429-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sahana'/><title type='text'>Sahana Ocr</title><content type='html'>&lt;p class="Default"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span class="Apple-style-span"  style=" white-space: normal; font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;I have explained about the Sahana project I my previous &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a href="http://coders-view.blogspot.com/2010/02/sahana-foss-disaster-management-system.html"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;blog post&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;. So today I'm going to explain about the Sahana OCR project which is an sub module in the main Sahana project. You can refer my &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;a href="http://www.mediafire.com/?riggjqwqamk"&gt;research paper&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; about the extension I did for this project.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Sahana Ocr project was done to automate the data entering process to the system and it was developed on .net framework using Visual C++. It was developed by many volunteers as well as gsoc contributers as Omega and Gihan in past two years. I have selected this project as my level 3 project and did some improvements to the existed system to improve the character recognition of the module.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;After a disaster situation we have to collect the data about the victims and manage them using&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Sahana as I mentioned in my earlier post. So we can download the form template by the Sahana server, print the forms in to hard&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;copies, distribute the forms to the victims, ask them to fill the forms and collect the forms back. Then we have to enter those data manually to the Sahana system. But in the case of a large disaster the manually data entering process is difficult and very tome consuming. So Sahana Ocr project is developed to automate that data entering process by using optical character recognition (OCR) technology. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;This is a sample of the forms distributed to the victims and you can refer the wiki abou this module to get a better understanding about the forms and the xforms. &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:16px;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;a href="http://www.sahana.lk/wiki/doku.php/dev:sahana_xform"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;sahana_xform&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;So in this we have to provide the scanned image of the filled form&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;and a xml file called xform which have the coordinates of the data fields in the template if the form to the Sahana Ocr module. Then the module sent the two files to the Form_processor which is the manager class of the system. First Form_processor do the rotation compensation to the image. The system uses five back squares at the form to identify the right side of the form. Then it validate the form image with the xform whether the correct xform coordinates are in the form image. If it is not the system gives an error. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;After validating the image the image was sent to the the image processor and the image processor finds the Input areas of the form then data fields within them and finally letter boxes according to the xforms coordinates. The data fields, input areas and letter boxes are explained in the above image. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;The image processor was developed using the OpenCv libraries and it worked greatly in this project. You can find more abou the OpenCv libraries by referring here. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Then those letter boxes are sent to the Ocr class which is capable to recognize the character in that letter box.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;The initial Ocr class was developed using Fann neural network libraries and the accuracy of the recognitions was very bad because of the lack of training of the neural network. That’s the point that I contributed to this project. After discussing with the previous mentors and the developers of this project I have used Tesseract Ocr engine which was an Google product to replace the Fann neural network. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;You can get information about the Tesserat from &lt;/span&gt;&lt;a href="http://code.google.com/p/tesseract-ocr/wiki/ReadMe"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;I did some testing with the Tesseract for the hand written characters and check whether it is suitable for our module. The initial accuracy of the recognition with the Fann Library was below 30% and when it was tested with the Tesseract it was increased up to more than 80% and the worst case with was 80% when I tested for different data sets. I realized that it is a very powerful tool and selected it for the project. Then I have customized the Tesseract to make compatible with the expectations and changed the Form-processor in order to make it compatible with the Tesseract. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Finally the recognized letters are consolidated as strings and assign them to the appropriate labels such as Name, Address and Date of Birth. Then I have developed a GUI for the module which gives a graphical view for this process. Then the results are display at the GUIs result tab window. Then it allows the users to save the data in a file by submitting it. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="Default"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmVePMVI/AAAAAAAAANY/N9TP6ARPcPE/s1600-h/Untitled0.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmVePMVI/AAAAAAAAANY/N9TP6ARPcPE/s400/Untitled0.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5443286903531974994" style="cursor: pointer; width: 340px; height: 297px; " /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmFyktFI/AAAAAAAAANQ/gu7137dd2so/s1600-h/Untitled.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmFyktFI/AAAAAAAAANQ/gu7137dd2so/s400/Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5443286899322303570" style="cursor: pointer; width: 319px; height: 298px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmsBm1QI/AAAAAAAAANg/vGWybg-VROQ/s1600-h/Untitled2.jpg"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmsBm1QI/AAAAAAAAANg/vGWybg-VROQ/s400/Untitled2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5443286909585904898" style="cursor: pointer; width: 333px; height: 266px; " /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qnTFktZuiFk/S4pwm_TrwLI/AAAAAAAAANo/yyxEJQ4axwc/s1600-h/Untitled3.jpg"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;img src="http://3.bp.blogspot.com/_qnTFktZuiFk/S4pwm_TrwLI/AAAAAAAAANo/yyxEJQ4axwc/s400/Untitled3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5443286914761998514" style="cursor: pointer; width: 333px; height: 273px; " /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;So it was the greatest project that I was involved up to now because it gave me a lots of knowledge and it was an great opportunity made contacts with some interesting personalities involved in that project. I have an idea to work on this project more and extend this project to make the accuracy at least up to 97% and make the rest of the project as uploading the data in to the server directly kind of things. These some more ideas with me to work further on this project.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="margin-left:71.6pt;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;·&lt;/span&gt;&lt;/span&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Train the Tesseract more for hand written characters&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="margin-left:71.6pt;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;·&lt;/span&gt;&lt;/span&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Increasing the accuracy by reading the labels. That means currently the OCR only reads the letters at the letter boxes and output the result. But in that case there are conflicts when recognizing the “0” and ”O” which the first one is zero and the second one is letter O. So when we read the label we can give a logic that the letter boxes under the Name label cannot have the zero number and also the letter boxes under the date of birth cannot have the letter O with it. So in that way using label reading we can further improve the accuracy. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default" style="margin-left:71.6pt;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;·&lt;/span&gt;&lt;/span&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Making the data embedded with the Url given to the each form. That may make easy to transfer data from one place to another. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="Default"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;So please try on this project and try to make some innovative ideas to serve the people in the world in a situation that they are in need. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="Default"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;You can refer some more articles about this project from &lt;/span&gt;&lt;a href="http://thoughtsandideas.wordpress.com/2008/01/26/ocr-friendly-auto-generated-form-with-sahana/"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-1614515386777211407?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/1614515386777211407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2010/02/sahana-ocr.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1614515386777211407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1614515386777211407'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2010/02/sahana-ocr.html' title='Sahana Ocr'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qnTFktZuiFk/S4pwmVePMVI/AAAAAAAAANY/N9TP6ARPcPE/s72-c/Untitled0.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4509721333557500412</id><published>2010-02-24T20:30:00.000-08:00</published><updated>2010-02-24T20:31:54.443-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How link another folder to your www web folder.</title><content type='html'>In last post I have describe the way to link your public_html folder to the www folder.  To I will describe a simple way to link a folder to your /var/www to make easy your web developing stuff on linux.&lt;br /&gt;   1.To do that first you have to make a folder in your favorite place using mkdir command.&lt;br /&gt;                       mkdir /home/abc/myFolder&lt;br /&gt;&lt;br /&gt;  2.Then go to your /var/www/ folder.&lt;br /&gt;                       cd /var/www&lt;br /&gt;&lt;br /&gt;  3.Then link your folder to the www folder using ln command.&lt;br /&gt;                       sudo ln -s  /home/abc/myFolder&lt;br /&gt;&lt;br /&gt;  This will make an linking file in the www folder and you can see it in your www folder in the same name as you used for your linked folder&lt;br /&gt;&lt;br /&gt;   Now you can use your myFolder folder for run files in the web server by the address&lt;br /&gt;   /http://localhost/myFolder/&lt;br /&gt;&lt;br /&gt;   So use this method to make easy of your life in using servers for advance developments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4509721333557500412?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4509721333557500412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2010/02/how-link-another-folder-to-your-www-web.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4509721333557500412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4509721333557500412'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2010/02/how-link-another-folder-to-your-www-web.html' title='How link another folder to your www web folder.'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-1704270762172723676</id><published>2010-02-24T20:21:00.000-08:00</published><updated>2010-02-24T20:28:12.419-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>What is public HTML</title><content type='html'>&lt;title&gt;&lt;/title&gt; 	 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { so-language: en-US } 	--&gt; 	&lt;/style&gt;  &lt;p style="margin-bottom: 0in;"&gt;            If you are working with any kind of web server on linux operating system you might have suffered enough from the warning massages saying “This is write disabled file, please make the file write enable”, “Cannot move the file in to www folder” so on. So is it a headache for you. Here is an great and simple solution for your problem.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;         		In linux most of the situations you have to copy  your files such as html and php, in to the /var/www/ folder to run them on your favorite web servers such as apache web server. But this folder is protected and you need some permission to copy, remove or change files in the www folder. So when we are involve in a web development using large number of files moving here and there it is difficult to work in this kind of  environment.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;        		 So now you can use another folder that is away from www folder which is not a protected one as your www folder. It will help you to make changes in the folder as you wish and you can get the same functions as in the /var/www folder. Following are the steps of making a public_html folder and make it enable for access by your user-name as &lt;span style="color:#000080;"&gt;&lt;span lang="en-US"&gt;&lt;u&gt;&lt;a href="http://localhost/%7EABC"&gt;http://localhost/~ABC&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;. &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  &lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;make a folder in your favorite 	place in your folder structure. But make sure it is not a protected 	folder. As an example make a folder in the user folder by using the 	following command in command prompt:  	&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;                             sudo mkdir /home/ABC/public_html/  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ol start="2"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt; Go to the folder of your web 	server. As an example if  you are using apache2 web server you can 	use following command&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;                              cd /etc/apache2/&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ol start="3"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Then link your public_html folder 	to the web server.  	&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;                              sudo cp -r mods-available/userdir.* mods-enabled/&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ol start="4"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt; Then restart your web server&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;                             sudo /etc/init.d/apache2 restart&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;	Now you are ready to use your public_html folder as your web servers working folder.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;You can access the folder by typing the following address on the address bar.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;                                     			 &lt;span style="color:#000080;"&gt;&lt;span lang="en-US"&gt;&lt;u&gt;&lt;a href="http://localhost/%7EABC"&gt;http://localhost/~ABC&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;	The most important thing is if you are using your computer connected to a network and if others are access to your computer via network you can use this folder as the access folder to the out side, so the others can access to that folder with out permission enabled as well as you can keep your protected data away from this folder so others can't access those. Other wise if you enabled permission in the www folder the others may access to some other important data in your computer. The others can access to this folder by the address of your Internet address. As an example&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;                                    &lt;a href="http://localhost/%7EABC"&gt; http://www.your_net_address.com/~ABC&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;                               		So please try this and feel the difference.   &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-1704270762172723676?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/1704270762172723676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2010/02/what-is-public-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1704270762172723676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1704270762172723676'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2010/02/what-is-public-html.html' title='What is public HTML'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-372074938497106984</id><published>2010-02-03T00:51:00.000-08:00</published><updated>2010-02-28T05:49:33.054-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sahana'/><title type='text'>Sahana foss disaster management system</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qnTFktZuiFk/S2k7HjLJGQI/AAAAAAAAAMk/naWU5It1BhM/s1600-h/sahana.jpg"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 397px;" src="http://3.bp.blogspot.com/_qnTFktZuiFk/S2k7HjLJGQI/AAAAAAAAAMk/naWU5It1BhM/s400/sahana.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5433939426286311682" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman', serif;"&gt;&lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Sahana is an open source disaster management system which is deployed to manage number of disaster situations all over the world.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Initially it was developed to manage the situation occurred in the Indian Ocean tsunami disaster which was occurred in the 26&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;sup&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;th&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/sup&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;of December in 2009. Lanka software foundations did the initial development of the Sahana phase-1 with the help of many organizations and the volunteers from various parts of the world. At that time there were no other free software which can support to handle all the situations as handling victims, managing camps, manging the volunteers, manging the NGOs like wise. So this was a better solution for all of this issues.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Initially Sahana contained 7 modules to help the management of the disaster. Those are&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol&gt;  &lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Missing  Person Registry&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Helping to reduce  trauma by effectively finding missing persons&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Organization  Registry&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Coordinating and balancing  the distribution of relief organizations in the affected areas and  connecting relief groups allowing them to operate as one&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Request  Management System&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Registering and  Tracking all incoming requests for support and relief up to  fulfillment and helping donors connect to relief requirements&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Camp  Registry&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Tracking the location and  numbers of victims in the various camps and temporary shelters setup  all around the affected area&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Volunteer  Management&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Coordinate the contact  info, skills, assignments and availability of volunteers and  responders&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Inventory  Management&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Tracking the location,  quantities, expiry of supplies stored for utilization in a disaster&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="line-height: 0.2in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Situation  Awareness&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Providing a GIS overview of  the situation at hand for the benefit of the decision makers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;But now it has more than 20 modules and day by day it is increasing its scope to be more reliable and useful for the society.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;You can visit &lt;/span&gt;&lt;/span&gt;&lt;a href="http://demo.sahana.lk/sahana/trunk/"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; and get an overview about the project.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This was successfully deployed in the following situations occurred in the past years .&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ol&gt;  &lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Tsunami  - Sri Lanka 2005&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Officially deployed  in the CNO for the Government of Sri Lanka&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;AsianQuake  - Pakistan 2005&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Officially deployed  within with NADRA for the Government of Pakistan&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Southern  Leyte Mudslide Disaster - Philippines 2006&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;-  Officially deployed with the NDCC and ODC for the Government of  Philippines&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Sarvodaya  - Sri Lanka 2006&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Deployed for Sri  Lanka's largest NGO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Terre  des Hommes - Sri Lanka 2006&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Deployed  with new Child Protection Module&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Yogjarkata  Earthquake - Indonesia 2006&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Deployed  by ACS, urRemote and Indonesian whitewater association and  Indonesian Rescue Source&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;New  York City - 2007-08&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; – &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Pre-deployed in  support of the City of New York’s Coastal Storm Plan&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="margin-bottom: 0in; line-height: 0.2in; widows: 2; orphans: 2"&gt;  &lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Peru  Ica Earthquake - 2007&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;- Deployed for  the Government of Peru&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="line-height: 0.2in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Chendu  - Shizuan Province Earthquake 2008&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;-  Deployed by Chendgu Police&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p align="LEFT" style="line-height: 0.2in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Haiti  earth quack 2010&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p align="LEFT" style="line-height: 0.2in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;This is an web base system and the initial developments were done in &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="file:///wiki/Apache_HTTP_Server"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="text-decoration: none"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Apache&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="file:///wiki/MySQL"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="text-decoration: none"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;MySQL&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;, and &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="file:///wiki/PHP"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="text-decoration: none"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="file:///wiki/Perl"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="text-decoration: none"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Perl. But now it is redeveloped using python thechnology and it was callled as SahanaPy.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Now the Sahana software Foundation was initiated to take care of the Sahana project and it will be a great step for the future of Sahana.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;The source code can be downloaded from here using &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.nongnu.org/cvs/"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;CVS&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a name="lw_1265186751_7"&gt;&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;cvs -z3 -d:pserver:&lt;/span&gt;&lt;/span&gt;&lt;span style="background: transparent"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;anonymous@sahana.cvs.sourceforge.net&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;:/cvsroot/sahana co -r gsoc_2009 -P sahana&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;and the it can be run using the wamp/lamp server. &lt;/span&gt;&lt;/span&gt;&lt;a href="http://wiki.sahana.lk/doku.php/doc:installwamp:english"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Here are some tips to run the source code&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;When it initially set up, it automatically creates a data base and the accordance tables in the server so now it is ready to give it's services.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;span style="color:#000000;"&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;So try it and join to the Sahana community to help the people when the really needs you.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="LEFT" style="margin-bottom: 0in; widows: 2; orphans: 2"&gt;&lt;br /&gt;&lt;/p&gt; &lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-372074938497106984?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/372074938497106984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2010/02/sahana-foss-disaster-management-system.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/372074938497106984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/372074938497106984'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2010/02/sahana-foss-disaster-management-system.html' title='Sahana foss disaster management system'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qnTFktZuiFk/S2k7HjLJGQI/AAAAAAAAAMk/naWU5It1BhM/s72-c/sahana.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-7129754763298882416</id><published>2009-12-10T19:08:00.001-08:00</published><updated>2009-12-10T19:08:45.848-08:00</updated><title type='text'></title><content type='html'>&lt;span xmlns=''/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-7129754763298882416?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/7129754763298882416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/12/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7129754763298882416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/7129754763298882416'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/12/blog-post.html' title=''/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-6586240949773622177</id><published>2009-06-09T21:03:00.000-07:00</published><updated>2009-06-09T21:25:38.121-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='what is DIGSBY'/><title type='text'>what is DIGSBY</title><content type='html'>&lt;p class="MsoNormal"&gt;Since I have couple of accounts in various community sites and in the mail servers I had a problem of sing in to all those accounts and check whether there are any mails have dropped for me or there are any updates in my profile. But now I found a solution to that which helps me to get all the notifications of the mails and the accounts. It is the DIGSBY software which can be download it from &lt;a href="http://www.digsby.com/"&gt;here&lt;/a&gt;.&lt;img src="http://3.bp.blogspot.com/_qnTFktZuiFk/Si81Gw8mf8I/AAAAAAAAALc/dMnBny7y604/s200/digsby_833x833.png" style="cursor:pointer; cursor:hand;width: 200px; height: 200px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5345549673046638530" /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;font-family:&amp;quot;;"&gt;You can enter your account passwords in to this software and when you connect to the internet it automatically give you the updates of your accounts. So try it. It will make your works easy. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-6586240949773622177?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/6586240949773622177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/06/what-is-digsby.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/6586240949773622177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/6586240949773622177'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/06/what-is-digsby.html' title='what is DIGSBY'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_qnTFktZuiFk/Si81Gw8mf8I/AAAAAAAAALc/dMnBny7y604/s72-c/digsby_833x833.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-756279763736929572</id><published>2009-05-28T08:36:00.000-07:00</published><updated>2009-05-30T07:38:21.810-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='How to add a Statcounter to your blog'/><title type='text'>How to add a Statcounter to your blog</title><content type='html'>&lt;p class="MsoNormal"&gt;Hi friends. Do you know how to insert a gadget to your blog to keep track of the visitors who visited to your blog. There are lots of web sites which are offers this facility freely. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://my.statcounter.com/"&gt;statcounter.com&lt;/a&gt; is&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;a good web site for that. You can make your own account in that and after that you can choose the gadget which is suitable for your blog. Then add a html/JSP gadget in your blog and past the code provided by the website on that. It will make nice tool on your blog which shows you the number of visitors. Try it………&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 3px; padding-bottom: 3px; padding-left: 3px; width: auto; font: normal normal normal 100%/normal Georgia, serif; text-align: left; "&gt;&lt;p class="MsoNormal"&gt;There is another website which will give you a visitor counter freely. It is &lt;a href="http://s02.flagcounter.com/more/UO"&gt;FlagCounter&lt;/a&gt;. Try it and get the new gadget …. &lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-756279763736929572?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/756279763736929572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/05/how-to-add-statcounter-to-your-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/756279763736929572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/756279763736929572'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/05/how-to-add-statcounter-to-your-blog.html' title='How to add a Statcounter to your blog'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-4659611121721274173</id><published>2009-05-16T21:57:00.000-07:00</published><updated>2009-05-27T11:47:37.770-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My mini project on search engine'/><title type='text'>My mini project on search engine</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt; I’m at my level two-semester two of my university life. Last month I was very busy after my new year vacation because I had to implement a search engine for Algorithm subject which was conducted by Madam Upuli and Sir Saliya.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We had taught several types of algorithms and data structures before this project and we had to apply those things when implementing that. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The search engine works like this. Initially we have to input the root path of the folder which we are going to search. Then the search engine should search all the files within that folder as well as the subfolders. Then it should read all the words in text files and store the words and the corresponding file paths in a suitable data structure. After finishing the storing the search engine is ready for search. Then the user can input a word alone or multiple words using &amp;amp; and | operations for search. then the search engine should return the corresponding file paths as the output. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;At the beginning the task was not easy to achieve because I didn’t even knew how to differentiate text files and directories. So I had to work hard to fulfill this task. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;I choose java to implement the search engine and these are my classes&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/Sh2Du8ciTkI/AAAAAAAAAIQ/HHX4nPo2LSY/s1600-h/PhotoFunia-7394e.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/Sh2Du8ciTkI/AAAAAAAAAIQ/HHX4nPo2LSY/s320/PhotoFunia-7394e.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5340569575654313538" style="cursor: pointer; width: 267px; height: 221px; " /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;I implemented my own vector class which have method&lt;span style="mso-tab-count:1"&gt;               &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;putValue( String data)-store data&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;getvalue(int index)-get the value according to the index&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="mso-spacerun:yes"&gt;appendValue(String data)- append data to an existing row  &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;to do this I had to implement an dynamic array.&lt;/span&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qnTFktZuiFk/Sh2KPIrjBpI/AAAAAAAAAJI/7iSfYfB922s/s1600-h/Untitled.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_qnTFktZuiFk/Sh2KPIrjBpI/AAAAAAAAAJI/7iSfYfB922s/s320/Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5340576725764081298" style="cursor: pointer; width: 320px; height: 121px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt; This is the code for creating a dynamic array which is send by one of my friends.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;1)first create a fixed array(say &lt;b&gt;array[100]&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;2)write a logical condition in the code&lt;b&gt;, if the fixed array is full &lt;/b&gt;, create a new array(say&lt;b&gt; tempArray&lt;/b&gt;) with a greater size (you can increment the fixed array size with some value).&lt;br /&gt;&lt;br /&gt;3)then use the following method to copy the object references in  the fist array to the new one.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;System.arraycopy(&lt;first array="" name=""&gt;,0,&lt;new array="" name=""&gt;,0,&lt;length of="" the="" first="" array=""&gt;)&lt;/length&gt;&lt;/new&gt;&lt;/first&gt;&lt;/b&gt; &lt;i&gt;// here two zeros are to specify beginning position.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;4)then make the new one referenced by the fist array name.&lt;br /&gt;ex: &lt;b&gt; array=tempArray;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Then I used the vector class to implement the hash table class. This has methods called &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;insertWord(String skey,String data)-insert the word and the path to the hash table&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;getData(String searchKey)-get the path of the word&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;checkData(String path,String data)-&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;check the existence of the word before storing it.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;In this class we use a 2D object array of vectors and after we pass the word and the path to the HashTable it converts the word to a hash value by using the inbuilt method hashCode(). Then calculate the key by &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;key=hashvalue%100&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;and key is the row of the object array. Then the class search the pre existence of that hash value in that vector and if not store the hashcode in the first column and store the path in the second column. If the hash value is already exists in that vector it appends the path of the word to the existing path. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB"&gt;Then the most interesting part was the searching the files in folders. And I used fileFilters to Identify the folders and the files in an given root folder.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/Sh2KI5YOULI/AAAAAAAAAJA/Z40MdNkGPHQ/s1600-h/2.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/Sh2KI5YOULI/AAAAAAAAAJA/Z40MdNkGPHQ/s320/2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5340576618577285298" style="cursor: pointer; width: 320px; height: 161px; " /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.1your.com/drupal/filterfilesinJava"&gt;A link for learn fileFilter&lt;/a&gt;&lt;/p&gt;  &lt;span lang="EN-GB"  style="line-height:115%;font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family:Calibri;mso-bidi-Times New Roman&amp;quot;; mso-ansi-language:EN-GB;mso-fareast-language:EN-US;mso-bidi-language:AR-SAfont-family:&amp;quot;;"&gt;&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;I used all these tools and finished my project successfully. I hope you can use try this so you can improve your programming skills. Keep cording ,it will train you to be an outstanding coder. &lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-4659611121721274173?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/4659611121721274173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/05/my-mini-project-on-search-engin.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4659611121721274173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/4659611121721274173'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/05/my-mini-project-on-search-engin.html' title='My mini project on search engine'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qnTFktZuiFk/Sh2Du8ciTkI/AAAAAAAAAIQ/HHX4nPo2LSY/s72-c/PhotoFunia-7394e.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-441302255097673237</id><published>2009-05-16T21:53:00.000-07:00</published><updated>2009-05-16T22:28:25.797-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>XML</title><content type='html'>&lt;p class="MsoNormal"&gt;Why people prefer XML&lt;/p&gt;  &lt;p class="MsoNormal"&gt;XML stands for Extensible Markup Language and that was design to transfer and store data. But we can display data in XML by using style sheets (CSS, XSLT). Not like in HTML the tags are not predefined in XML and you must define your own tags as you wish. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ex:&lt;span style="mso-tab-count:13"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-tab-count:13"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-bRoUU9JI/AAAAAAAAAHo/bYG2cMrxM5M/s1600-h/Untitled.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-bRoUU9JI/AAAAAAAAAHo/bYG2cMrxM5M/s320/Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336654810640086162" style="cursor: pointer; width: 320px; height: 145px; " /&gt;&lt;/a&gt;                                                                                                                                                                                             &lt;/span&gt;&lt;span style="mso-tab-count:1"&gt;               &lt;span style="mso-spacerun:yes"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="mso-tab-count:1"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;A good programming practice is naming tags related to the information it carries, so another developer can easily identify tags.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Another huge advantage is easy to work with data bases and computer systems. In other cases they sore data in data bases as incompatible types. But XML stores data in text format and it makes easy when storing because format is independent by software and hardware variations. The data in Xml files are send using XML DOM (Document Object Model) objects. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Try to learn XML. It will reduce your stuff. &lt;/p&gt;&lt;p class="MsoNormal"&gt;This is a great tuutorial for beginers.&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;a href="http://www.w3schools.com/xml/xml_whatis.asp"&gt;http://www.w3schools.com/xml/xml_whatis.asp&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-441302255097673237?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/441302255097673237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/05/xml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/441302255097673237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/441302255097673237'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/05/xml.html' title='XML'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-bRoUU9JI/AAAAAAAAAHo/bYG2cMrxM5M/s72-c/Untitled.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3945298072131436743.post-1824977900398298494</id><published>2009-05-16T21:47:00.001-07:00</published><updated>2009-05-16T21:52:34.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mistakes'/><title type='text'>Funny programs</title><content type='html'>&lt;p class="MsoNormal"&gt;Before six months ago one of my friends came to ask some basic things in java from me. I taught him some basic things on functions and loops and I showed him how to print a triangle from stars like this. &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-XR6qHzQI/AAAAAAAAAHI/3FWWAKOdr8k/s1600-h/Untitled3.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-XR6qHzQI/AAAAAAAAAHI/3FWWAKOdr8k/s320/Untitled3.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336650417516825858" style="cursor: pointer; width: 262px; height: 89px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qnTFktZuiFk/Sg-XRyIqpQI/AAAAAAAAAHA/qIko-A-mnIc/s1600-h/Untitled.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_qnTFktZuiFk/Sg-XRyIqpQI/AAAAAAAAAHA/qIko-A-mnIc/s320/Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336650415229019394" style="cursor: pointer; width: 314px; height: 110px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Then I asked him that can you write a code which gives an output like this, and I went to bring a cup of tea.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_qnTFktZuiFk/Sg-XR1iaE7I/AAAAAAAAAHQ/GBBb3O7T1RU/s1600-h/Untitled4.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_qnTFktZuiFk/Sg-XR1iaE7I/AAAAAAAAAHQ/GBBb3O7T1RU/s320/Untitled4.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336650416142291890" style="cursor: pointer; width: 275px; height: 160px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When I came back he showed me the code which wrote from bottom to top. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qnTFktZuiFk/Sg-XSJnjCmI/AAAAAAAAAHY/UhkoimOVodU/s1600-h/Untitled2.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_qnTFktZuiFk/Sg-XSJnjCmI/AAAAAAAAAHY/UhkoimOVodU/s320/Untitled2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5336650421532559970" style="cursor: pointer; width: 303px; height: 233px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3945298072131436743-1824977900398298494?l=coders-view.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coders-view.blogspot.com/feeds/1824977900398298494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://coders-view.blogspot.com/2009/05/funny-programs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1824977900398298494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3945298072131436743/posts/default/1824977900398298494'/><link rel='alternate' type='text/html' href='http://coders-view.blogspot.com/2009/05/funny-programs.html' title='Funny programs'/><author><name>Thilanka</name><uri>http://www.blogger.com/profile/08014800463555423264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_qnTFktZuiFk/Sg0Ixytnw6I/AAAAAAAAAGY/j6vNac_0HhI/S220/Picture+206.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qnTFktZuiFk/Sg-XR6qHzQI/AAAAAAAAAHI/3FWWAKOdr8k/s72-c/Untitled3.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
