From CSULA CS Wiki
Jump to: navigation, search

Contents

Jan 5 (week 1)

Dr Russell Abbott started the class with an introduction of what the class will all be about and what is expected out of students. I must say I was really impressed with how Dr Abbott was planning this class. I was pretty sure this class was going to be very educational.

Jan 12 (week 2)

I started looking around for a new framework to play with, since I had yet to meet my adviser and talk about my thesis. I was primarily trying to look around a new open source framework that I can convert into my new playground. Then I stumbled upon "Symfony" An Open Source PHP Framework. I thought this would be interesting cause i had never worked with PHP and since this class is all about learning and sharing new things I thought this would go well with the essence of the class. I downloaded the framework and installed it. Symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.I realized the potential of this framework just minutes after I downloaded it. For starters I made a "Web Blog" in under 15 minutes. That was one hell of a Hello World Application. I dint had to write a query to make backend sql tables. Neither did I have to write obscure functions to dictate the behavior of the blog components. I am going to demonstrate this is my presentation.

Jan 19 (week 3)

I am now trying to understand how symfony does what it does, which in turn is a quest to understand what makes it so powerful yet robust and reliable.I am now understanding more and more about the Development environment and Production environment. I am also studying the Ajax support that Symfony has provided. I will be making a simple project for the next week. This will show how you can use Ajax to web applications .I plan to show an application of Shopping Cart that will use Ajax to provide a visul feedback of a virtual shopping cart rather than a list oriented one. I will show how to add Javascript Behaviour and Update Actions to the web applications.Hope I can have atleast a couple of students hooked on to Symfony by the end of next week.


Download Links :

Symfony Framework : http://www.symfony-project.org/get/symfony-stable.tgz

Sandbox : http://www.symfony-project.org/get/sf_sandbox.tgz

Jan 26 (week 4)

Playing with Symfony has been fun. I am now learning more about Symfony security point of view. Recently discovered that we can add access restrictions just by simply editing YAML files. I am now using the admin generator feature of the Symfony that will give me more control.I Plan to include it in my 2nd presentation.(1st one is already too long sorry !!!). I am looking at the MVC architecture , the architecture on which Symfony Framework is based on. The MVC architecture separates the business logic (model) and the presentation (view), resulting in greater maintainability.I am going to go into the depths of MVC model architecture in my 2nd presentation. Also I will demonstrate how to convert a basic PHP application to an MVC-architectured application.

Presentation Slides Media:Symfony.ppt

Some Website powered by Symfony : http://www.webdigs.com/ http://www.real-buddy.com/

Feb 2 (week 5)

This week has been a week of discovering interesting things, things too interesting to remain under a rock. As I was building my Shopping Cart for the demo I stumbled upon script.aculo.us. script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly. I thought this would be an intresting thing to show to the class and stir some interest about Javascript. I Also stumbled upon Prototype.Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. I plan to mention this in a couple of slides in my next presentation.

Download Link : [PROTOTYPE FRAMEWORK ] http://prototypejs.org/assets/2008/1/25/prototype-1.6.0.2.js

Download Link : [SCRIPT.ACULO.US ] http://script.aculo.us/dist/scriptaculous-js-1.8.1.zip

Feb 9 (week 6)

I was really disappointed knowing that the class was canceled. I had planned to show some Interesting things in the class. Anyway I am uploading all my work for everyone to see. To start with I would like to say that working with this framework(Symfony) and for this class has been most gratifying. I had chosen this Framework cause I was a newbie to PHP and this was a good opportunity to learn a new scripting language. Anyway this week I channeled my efforts into comparing 2 open framework for PHP namely CodeIgniter and Symfony. Since I am already working on symfony Project of Web Blog I thought I should try to implement the same project in CodeIgniter. To do that I had to learn PHP . The Project is now complete and I have uploaded the relevant files below. I found that CodeIgniter offered equally good libraries to Develop a Web PHP application. It also preaches the MVC architecture pretty well in its implementation. The only drawback that I could point out was that it requires an intermediate proficiency of PHP.(Trust Me!! I was stuck on an error cause of a single extra space). I want to test the potential of CodeIgniter by developing another Web Application this week(I have an Idea of a RSS in my mind). Please do care to download my files and run them. They are worth watching as a manifest of power, Frameworks have to offer these days.(You need to install the Prototype Framework to make them work. You can google for it or contact me. I would be more than glad to help you run them). I have also started updating my prospectus. I think it will be fun to document a framework.

Download Links.


Demo for Prototype Framework and Scriptaculous

HTML files :Media:Demo.zip


Web Blog Using CodeIgniter :

Controller and View Files :Media:Web Blog.zip


Presentation

Presentation Slides :Media:Prototype.ppt


Prospectus: Prospectus

Feb 16 (week 7)

This week I have been working on features of my Web Blog. I was successful in getting a Mail Server working. My Program also send the mail data correctly.Unfortunately the sendmail daemon does not support TTL by default hence I could not use my Gmail SMTP server to relay Internet mails. I am now working on integrating a file uploading option to my website. Much like cnsns. I know what you are thinking whats a file upload feature gotta do with Web Blog.Well though I started my project with Web Blog i thought of showing how common features can easily be constructed using this Framework. These can viewed as Individual Discrete components that can be integrated into a website that demands it. I am also working on building an Rss Feed. My future Work will include an RSS Aggregator to read those feeds.

Feb 23 (week 8)

The RSS feed Generator feature that I started to work on last week is still been worked upon. My job for this week was to read more about the CodeIgniter and start Documenting it. I have made some Component Diagram of my Project. What I am really Interested is in making Activity Diagram so that I can show the Data Flow from my Controllers to my Model to my Views. I plan to to do this since this will truly enunciate the essence of MVC architecture of the CodeIgntier Framework. For most part of the week I was involved in reading about the various libraries and classes CodeIgniter had to offer. This is also a reason that my project is not based on a single theme of web application but would rather look like a bunch of features(WEB BLOG+RSS+EMAIL+FILE UPLOAD).My aim is to use and demonstrate as many libraries as I can from the Framework.Hopefully by next week I must be on the verge of integrating a file upload option to my web application. This week though I am presenting Prototype and Scriptaculous Framework (supporting framework for my application)I will be showing a sneek Preview for my Project.

Mar 1 (week 9)

Working with this Framework has been most gratifying of all my recent ventures. I am happy to announce that I have achieved, what I had promised before time. My website now features a full fledged Rss Reader. There are couple of more intresting features that I have added to my website to show the full power of this framework. I am now streaming photos directly from Flickr account to my website. I can even filter photos using tags showing only those which I need to show(eg Recent Vacation,Family.).This was possible by using custom library that Codeigniter supports. Also I am streaming the playlist of my recently played songs to my website. I used the last.fm and audioscrobbler service api to develop my custom library. I might invest some time this week to include a file upload option to my website. There is a standard library to do this too, so I would be intrested in showing that. Also I am already using feature like scaffolding,other standard libraries like uri and various helpers like smileys helper for inserting smileys in my blog. Here is the code of my mini project. In my next week's presentation I will be showing the controller and view files when my project was in primitive stage. I will be focussing on how this framework made my job easier when I started out. And then In my Final presentation I will be walking you through how I implememted all the current feature my website now manifests. I hope my mini project serves well as a Proof-of-Concept of all my audiences.

Links :-

My Project Files :- Media:Blog controller.txt



Custom Libraries used :- Media:Flickr.txt

Media:Last.fm.txt

Media:Simplepie.txt

Mar 8 (week 10)

Last week I had promised that I will have a file upload feature to my web application. I have done that ever so simply using this framework. Not only that I have gone a step further. I have setup a ftp connection inside one of my controllers which FTP's to my localhost and retrieves the list of all the uploaded files. I have used the File Upload Library & FTP library that the framework has to offer. I might continue on this project in my break but as of now I am finalizing this project and concentrating on the documentation. I am posting the full copy of my code along with all the custom libraries,controllers,models and view files. I hope people will download these and check them out. Thanks a lot Professor Abbott, this was my best class of my Masters Program.


Entire Project Code :- Please download it from this link cause the wiki does not let me upload files more than 150 Kb. Thanks

Link : http://www.esnips.com/web/thisismycode