Found an Interesting jQuery Plugin
I found this jQuery plugin which is interesting to me. It’s called Editable and it can convert any text on a web page to a form element. I think this is a very useful plugin for use with PHP or other server-side script languages since it enabled admin to change the content directly on the page and accept the changes to the database. In fact, I used innerHTML Javascript property before I found this plugin in order for me to edit directly onto a simple web app created during the PHP class. My first attempt was to replace text with input text filed after clicking the mouse and retain the value to the text field. It’s easy to copy the corresponding text into the newly created text field using PHP. After I clicked the text that was supposed to change to text field, it successfully changed but it didn’t focus on the text field. I wanted it to be auto-focused once the text was clicked and changed to the form element. This plugin solved this problem. It also provides an easier method to apply this effect, just like jQuery. This makes easy for me to develop web forms and web applications.
Web Application Link added to the Homepage
I have added the link to the web app to the robbychen.com homepage. In addition, I have also enabled the link to the CS 110 Computer Concepts homepage. Right now it only has one item, the assignment aid web application. Since I created this web app, I will make a copy of this application and modify it to connect it to the database to post my future assignments for this course. This weekend I will also enable the links for other courses I’m taking this semester.
Since I believe in open source, here is the source code for the web application (NOTE: The only files that are missing in the source code are jQuery Javascript files, you can find the download links for these scripts in my last post):
http://www.robbychen.com/cs110/worksheet_sourcecode.zip
Computer Concepts Assignment Aid Web App released
I finally completed the project and will be released under CS 110 homepage over robbychen.com soon. The following are some features of the web application (NOTE: This application is primarily made to help me to finish the assignments easier. However, anyone can use it if it helps to make life easier. This web app doesn’t contain any database-related function nor server/client log script, so you can safe to use it):
- Each text field is auto expandable thanks to the autoResize jQuery plug-in.
Each text field will automatically expand once text in the text field reached the bottom of the text field.
- The ability to add more rows using PHP.
The default number of rows is 20. Once you reached the last row at the bottom of the page, the Add a New Row button will appear. NOTE: this button will disappear if I don’t enter anything to any three of the text fields, it assumes that I had completed entering the data. After clicking the button, the page will refresh and it will scroll to the bottom of the page to letting me to enter data in the new row. I use the scrollTo jQuery plug-in to achieve this effect.
- The option to print out the completed sheet after clicking the Submit button.
Once I clicked the Submit button, two buttons will appear on both top and bottom of the page, print button and edit button. It allows me to print out the completed sheet in order to hand in to the professor. The buttons on the page will not print out with the assignment sheet. I specified the print style sheet to hide the buttons while printing.
- The option to edit the fields after it was submitted by clicking the Edit button.
The Edit button is simply using history.back() Javascript function to go back one page. I have not think of a way to achieve this without using database or session variables yet since my goal is to not leave any trace of the application on the computer and on the server.
Here is the side-to-side comparison between the original (non-digitized) version of the assignment sheet and digitized one:
Comparison between original and digitized version. Click the image to enlarge
The following is the URL for this web app if you want to go to it directly:
http://www.robbychen.com/cs110/worksheet/
Site Will be Down Tonight
My hosting provider just announced that their servers will be down this evening for maintenance. Since I won’t login to the blog to post updates for my project because of the announcement, I will post my project as well as the article I was planned on publish onto the blog tomorrow. Hopefully my hosting provider will fix the 500 error I has encountered on my site this past week.
Changing Plan
I just found out this morning school is open today despite that today is President’s Day in the US. I have to postpone my project to Wednesday since I don’t have access to a scanner to scan the original assignment sheet. Right now I’m completing assignment for Computer Concepts class. I know the web app for helping me to complete this assignment is not finished yet. Since this assignment is due tomorrow, I have to complete this by hand. Besides, if I finished building the web app, I don’t have access to a printer to print out the assignment, and I have classes until ten o’clock on both evenings today and tomorrow.
So I decided to delay my web app “release” to Wednesday. Today I’ll complete my Computer Concepts assignment. The completion of the web app will be tomorrow. On Wednesday, I will scan the original assignment sheet to my laptop, compare between the web app and the original, and upload the project. As I wrote on previous post, it will be uploaded under the CS 110 homepage on robbychen.com website.
Creating my First Web App
I’m currently creating my first web application to aid my class assignment, specifically CS110 (Computer Concepts). The reason I came up with this web app idea is because there are 12 Chapters in the textbook for the course and we must answer the questions at the end of every chapter, but there is only one sheet of assignment paper. The professor told us to xerox some copies for future assignments. I thought this is a good idea to create a web app based on this sheet of paper. Originally, I planned to use scanner to scan it to my PC and directly working on it. Because there aren’t any good OCR tool available in GNU/Linux, as far as I know, and my writing is terrible, I decided to convert it to a web app.
Today I started creating the web app. I finished coding it using HTML and PHP and putted it to test. I used it to complete the Chapter 2 assignment. During the test, I was beginning to come up inspirational ideas, like auto change to the next text field in the same table column when it reaches maximum length and move the last incomplete word to the new text field like word processor. Unfortunately, I only knows little about JavaScript. I’m researching on how to do these. Maybe I will keep these ideas for my next project if I didn’t find anything on how to accomplish these.
I plan to complete the web app tomorrow. It will be “released” under CS 110 homepage on the robbychen.com website.
ColdFusion site Updated
ColdFusion course website is updated. I inputted all the menu items on the site into the database, as well as all the image locations that associated with the menu items. Here is E-R Diagram for the site:
As you can see, I use one-to-many relationship to design the database. You can view the lager image on the bottom of project 2
ColdFusion Site is Up
My ColdFusion course website, CA 288, is up. I borrowed some PHP code from my CA 282 course website and converted it to ColdFusion, mainly the while loop for the menu. Right now the site is NOT database-driven. It doesn’t use any SQL statement. The following are the highlights for this site:
- Whole new layout
- minimalist design
- new header image
- use FileExists function to determine the existence of the project file
- use <cfloop> to display the project number
Please go here to view this new site.
Fedora 13 Features List
Goddard, codename for the upcoming Fedora release. It’s planned to release on May 11, 2010. Here are the list of some key features in Fedora 13:
- Btrfs system rollback support
- Anaconda Storage Filtering
- Color Management
- Gnome 2.30
- KDE 4.4
- Easier Python Debugging
- KDE Policy Kit One Qt
- KDE Pulse Audio Integration
- KVM Stable PCI Address
- NetBeans 6.8
- Network Manager Mobile Status
- BFO
- Boost 1.41 Uplift
- Zarafa
- NFSv4 Default
- NFS Client IPv6
- Nouveau Display Port
- Yum Langpack Plugin
For more details about these features, please read this blog post on taragana.com.
In the above features list, I’m already using NetBeans 6.8 to develop course-related site and my own site.
According to NetBeans wiki, the next release of NetBeans, NetBeans 6.9, should be released around one to two months after the release of Fedora 13.
Learning Ruby
I first heard about Ruby and Ruby on Rails two years ago when I came across a training title titled Ruby On Rails Essential Training on Lynda.com. As you already know, Ruby is a server-side scripting language just like PHP and ColdFusion. At that time, I thought that learning Ruby is useless since there were less web hosting providers supported Ruby and they won’t offer it cheaply because it was a new scripting language. I got own domain and a web hosting about 8 month ago. After I switched my web hosting provider to the cheapest one, I noticed that it supports PHP, Python, Perl, and CGI. I’m surprised to see that it supports Ruby when I read the update notification on my hosting control panel. After 3 months of using this provider, I finally knew there is a PHP alternative hidden inside. Right now I’m beginning to learn Ruby and Ruby On Rails through Lynda.com and self-learning. I hope I would develop web application using Ruby as soon as possible. I will use PHP and Ruby interchangeably in the future to enhance my web development skill.
