View this PageEdit this Page (locked)Attachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Milestone 4

Requirements for milestone4:
The real hassle of handling equations these days is getting them up on the Web. Create a Web interface to the math equation tool, such that the user types in LaTeX and gets back an equation as a GIF. The user will start the system with MathEquationWebUI start. When the user goes to the URL http://yourmachine:8080/mathequations/, they should get a text area where they can enter a LaTeX specification of the equation. When they submit it, they should get back a GIF of the formatted equation.

UML diagram for Milestone 4
CRC Cards for Milestone 4

Analysis of Design and Description of Classes:
The main modification we did for this milestone is adding one class method to MathEquationLaTeX from milestone3. We added class method file2Gif: which parses the contents of the input string and creates a form of the math object. It initializes a binary file to hold a gif image and binds the image to the file. It also set the file to a stream and add the image of the math object to the stream and make it a gif file.

And we created a index.html which gives a UI for the user to input a mathequation in LaTeX format. And the "img src" is set to be the gif file created by file2Gif.

Since our design for the previous milestones are pretty standard, this milestone4 didn't take much time compared to the previous ones.

What we learned and what we need to do in the future if we come back to do squeak again:
We hardcoded the path of the gif file at first which was not a good programming style. After a while, we figured out that StandardFileStream class has a instance method fullName which will tell the full path of the file, then we used it instead of the hardcoded pathname.

A big headache is if we open the webpage using Internet Explore the program updates when we click on the refresh button. But if using Netscape it won't refresh properly. We changed the settings of Netscape but still no luck. Somepeople used random name for the gif file they created each time and claimed it worked well for Netscape, we didn't have enough time to try this option. If we have a chance to work on squeak again, we might be able to solve this problem:-).

That's it for our Summer2000 Squeak project. Hope you enjoyed your visit to our project. Feel free to E-mail us any comments and suggestions.

Link to this Page