Hello everybody! This is time for my first status report, because mid-term evals are approaching.
Some introduction, what I'm doing exactly. My project is to introduce web pushing to the web interface. That actually means, that the data displayed are refreshed automatically, without the need to refresh the whole page. It is accomplished with ajax requests and javascript at the client side, and some toadlets at the serverside. Toad had a concern about the number of opened connections, so a connection sharing mechanism is also a requirement. This connection sharing ensures that only 1 permanent connection is used per browser, no matter how many tabs are open. Another requirement is that the web interface must be usable when javascript is disabled(but pushing wont work that way) About my current status:I've created the basic infrastructure both server and client side, so pushing works and connection sharing also. Currently only the progress bar on the progress page is pushed, but it nicely visualize the feature. The client side is written in java, and transformed to javascript with the help of the GWT compiler. How to check the current status: Pull and checkout to the web-pushing branch, then build the project. Please don't distclean, because it will delete the generated javascript, and you won't be able to generate it yourself atm. Then start Freenet, and open a browser with it. You have to enable javascript both on your browser and on Freenet. Now you should browse Freenet, and see the progress bar is updating, and when the loading is ready, you get the page you just fetched. I've put some tester elements at the status page, they are increased by 1 every second. They help to see bugs, as they use pushing heavily. I've tested it at Firefox both windows and linux, and IE7. They worked well, although testing on other systems would be helpful. Please don't use pushing, just for testing and reviewing. It has some major bug that needs to be addressed. But feedback is always appreciated. What's next? As I've 3 weeks before mid term eval, I'll fix the known bugs and optimize some processes, and it also needs be documented and commented. The pushing can also be used for the images' loading, but I'll write a separate email about that. sashee