<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>John Keston Classes &#187; IM4420 Dynamic Web Applications</title>
	<atom:link href="http://aim.johnkeston.com/category/im4420/feed/" rel="self" type="application/rss+xml" />
	<link>http://aim.johnkeston.com</link>
	<description>Curriculum for classes taught by John Keston at Art Institutes Minnesota</description>
	<lastBuildDate>Mon, 30 Aug 2010 20:08:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Syllabus and Meeting Times</title>
		<link>http://aim.johnkeston.com/im4420/syllabus-and-meeting-times/</link>
		<comments>http://aim.johnkeston.com/im4420/syllabus-and-meeting-times/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 17:36:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/syllabus-and-meeting-times/</guid>
		<description><![CDATA[IM4420 Dynamic Web Applications Students apply user-centered design principals, database structures and server side scripting to design and develop content for server-based dynamic delivery. Attention will be paid to design issues relating to the display of dynamic content on the screen and how that dynamic content will be delivered. Instructor: John Keston Meeting Times and [...]]]></description>
			<content:encoded><![CDATA[<h3>IM4420 Dynamic Web Applications</h3>
<p>Students apply user-centered design principals, database structures and server side scripting to design and develop content for server-based dynamic delivery. Attention will be paid to design issues relating to the display of dynamic content on the screen and how that dynamic content will be delivered.</p>
<p><strong>Instructor: <a href="mailto:jkeston@aii.edu">John Keston</a></strong><br />
<strong>Meeting Times and Location:</strong><br />
Monday / Wednesday<br />
Room P108, Pence Building, 2:00pm &#8211; 5:00pm</p>
<p><strong>Syllabus</strong>:<br />
<a href='http://aim.johnkeston.com/wp-content/uploads/2007/11/im4420_dynamic_web_apps_sp10_keston.doc'>IM4420 Dynamic Web Apps Spring 2010</a></p>
<p><a href="../week-1">Week 1</a> | <a href="../week-2">Week   2</a> | <a href="../week-3">Week 3</a> | <a href="../week-4">Week 4</a> | <a href="../week-5">Week   5</a> | <a href="../week-6">Week 6</a><br />
<a href="../week-7">Week 7</a> | <a href="../week-8">Week 8</a> | <a href="../week-9">Week   9</a> | <a href="../week-10">Week 10</a> | <a href="../week-11">Week 11</a></p>
<p><?php posts_nav_link('sep','prelabel','nxtlabel'); ?> </p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/syllabus-and-meeting-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 1</title>
		<link>http://aim.johnkeston.com/im4420/week-1/</link>
		<comments>http://aim.johnkeston.com/im4420/week-1/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 17:38:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-1/</guid>
		<description><![CDATA[Session 1: Welcome to Dynamic Web Applications. The goal of this class is to learn about the scope of web based applications and the technology used to engineer these tools. We will start by researching and implementing Open Source applications and then move into developing our own applications using PHP, MySQL and other technologies available [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Welcome to Dynamic Web Applications. The goal of this class is to learn about the scope of web based applications and the technology used to engineer these tools. We will start by researching and implementing Open Source applications and then move into developing our own applications using PHP, MySQL and other technologies available to us. Throughout this process we will be reviewing PHP, MySQL and Javascript while developing new techniques. Due to the upper level nature of this course, it is strongly suggested that you spend extra time reviewing the concepts taught in the prerequisite course, <a href="/category/im3420">IM3420 Advanced Scripting Languages</a>. The following reading assignments are an introduction to Open Source and the <a href="http://www.fsf.org/" target="_blank">Free Software Foundation</a>. On Session 2 we will be watching a film about the history of the OS movement.</p>
<p><a href="http://en.wikipedia.org/wiki/Open_source" target="_blank">http://en.wikipedia.org/wiki/Open_source</a><br />
<a href="/writings/social-capital-within-the-open-source-community/">An article about the Free Software Foundation by John Keston</a></p>
<p><a href='http://aim.johnkeston.com/wp-content/uploads/2007/12/php_problem_set_1.zip'>Download: PHP Problem Set 1</a><br />
1. All PHP problems within a &#8220;set&#8221; are due by the beginning of class on the next day that the class meets.<br />
2. Each solution must be available via links on the OLS or comparable hosting and copied to the drop off drive.<br />
3. Solutions to each problem set will be given during demonstrations on the day that they are due.<br />
4. Grades will be collected during the solution demonstrations by an <a href="http://bestfriendsforevers.com">assigned</a> classmate.</p>
<p><strong>Session 2:</strong> Today we&#8217;ll be watching <em>Revolution OS</em>. &#8220;<em>Revolution OS</em> is a 2001 documentary which traces the history of GNU, Linux, Free Software and the Open Source movement. It features several interviews with prominent people, including Richard Stallman, Michael Tiemann, Linus Torvalds, Larry Augustin, Eric S. Raymond, Bruce Perens, Frank Hecker and Brian Behlendorf. It was directed by J.T.S. Moore.&#8221; &#8211; <em>Wikipedia</em></p>
<p>After watching the film we will have a brief discussion about it and then begin going over the requirements for our first assignment. Our first assignment involves researching Open Source applications that use PHP and MySQL. We will compare and contrast a minimum of two OS projects keeping in mind that we will be implementing one of the examples.</p>
<p class="assignment"><strong>Dynamic Web Applications &#8211; Research Project<br />
Due: Session 1, Week 3</strong></p>
<p>Write a six page double spaced research paper comparing and contrasting two Open Source web application projects. Use the resources listed to browse existing projects. Make sure that at least one of the projects you select uses PHP and MySQL. A prominent example for us is <a href="http://aim.aiiresources.com/" target="_blank">aim.aiiresources.com</a>, which uses the popular <a href="http://en.wikipedia.org/wiki/Content_management_system" target="_blank">content management system</a> (CMS) &#8211; <a href="http://joomla.org/" target="_blank">Joomla</a>. Take your time and browse many examples until you find two that capture your interests. Make sure that you answer each of the following questions in your research. We will discuss your papers in class on <a href="http://aim.johnkeston.com/im4420/#week3">Session 1, week 3</a>. <strong>Note:</strong> please do not include WordPress as one of your examples because we are using it for the first project.</p>
<p>1. Why did you select each of your projects? What was it that attracted you to each example?</p>
<p>2. What sort of features are available in each project and how can they be applied as solutions for typical web based needs?</p>
<p>3. What are the requirements for implementing each example? What technologies are involved? Is a database required, etc.?</p>
<p>4 . Address the history of each project. What are the current versions? How long have the projects been active and who makes up the community surrounding them?</p>
<p>5. How would you use these projects? What kind of businesses or organizations could make use of these projects and how?</p>
<p><strong>Delivery:</strong> Post your research paper to the Dynamic Web Applications forum on aim.aiiresources.com, and turn in a stapled paper copy to me for grading.</p>
<p><strong>Resources:<br />
</strong><a href="http://www.freshmeat.net/" target="_blank">www.freshmeat.net</a> &#8211; The webs largest index of mostly unix and cross-platform software<br />
<a href="http://www.sourceforge.net/" target="_blank">www.sourceforge.net </a>-    A complete database of Open Source projects.<br />
<a href="http://opensourcecms.com/" target="_blank">www.opensourcecms.com</a> &#8211; Try before you bu&#8230; install.<br />
<a href="http://www.cmsmatrix.org/" target="_blank">CMS Matrix</a></p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 2</title>
		<link>http://aim.johnkeston.com/im4420/week-2/</link>
		<comments>http://aim.johnkeston.com/im4420/week-2/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 18:17:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-2/</guid>
		<description><![CDATA[Session 1: Today will we discuss your research so far and take a look at some examples of Open Source projects that are currently operational. Out focus for the implementation project is WordPress so most of our discussion will revolve around this popular, stable and flexible platform. Here&#8217;s a few of the other examples we [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Today will we discuss your research so far and take a look at some examples of Open Source projects that are currently operational. Out focus for the implementation project is <a href="http://wordpress.org" target="_blank">WordPress</a> so most of our discussion will revolve around this popular, stable and flexible platform. Here&#8217;s a few of the other examples we will be examining.</p>
<p><a href="http://aim.aiiresources.com/" target="_blank">aim.aiiresources.com</a><br />
<a href="http://www.audiocookbook.org/" target="_blank">www.audiocookbook.org</a><br />
</a><a href="http://opensourcecms.com/" target="_blank">www.opensourcecms.com<br />
<a href="http://www.cmsmatrix.org/" target="_blank">www.cmsmatrix.org</a><br />
</a><a href="http://www.thegoldenmean.com/technique/fmx_mp3-3_01.html" target="_blank">www.thegoldenmean.com<br />
</a><a href="http://bmwmcq.org.au/cms/home.html" target="_blank">bmwmcq.org.au<br />
</a><a href="http://www.jazzclube.com/" target="_blank">www.jazzclube.com</a></p>
<p><strong>Session 2: </strong>Today I&#8217;ll be demonstrating the installation process of WordPress. Some of the tools we will look at for this process are SSH (Secure Shell), FTP, Dreamweaver, and <a href="http://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a> (Web based MySQL database manager). I will demonstrate how to set the permissions and troubleshoot error messages that arise during the installation process. <strong>Be prepared</strong> by downloading the latest version of WordPress, and make sure that your hosting environment supports the minimum requirements (the OLS will work).</p>
<p class="assignment"><strong>Dynamic Web Applications &#8211; Open Source Implementation Project<br />
Due: Session 2, Week 5</strong></p>
<p>The purpose of this project is to learn the ins and outs of the installation, implementation and customization of dynamic, web-based, Open Source applications. We will be implementing WordPress, which uses the LAMP (Linux, Apache, MySQL, PHP) architecture,  on your own hosting environment or the OLS. After successfully implementing the software fully test the software and then customize it by changing the look and adding and removing features or functionality. Follow the outline below as a guideline for your procedure.</p>
<ol>
<li>Evaluate The OS Project Requirements
<ul>
<li>Check and compare the version of the server software required (PHP, MySQL, etc.)</li>
<li>Make sure your hosting platform is compatible (XP vs Linux / Apache vs IIS, etc.)</li>
</ul>
</li>
<li>Review the Installation Documentation (readme files, etc.)</li>
<li>Download and Decompress the Software</li>
<li>Upload the Software to the Server</li>
<li>Setup the Database if Required</li>
<li>Follow Installation Procedures</li>
<li>Test the Installation
<ul>
<li>User Areas</li>
<ul>
<li>View Content</li>
<li>Check Functionality</li>
</ul>
</li>
<li>Administrative Areas</li>
<ul>
<li>Add Content</li>
<li>Edit Content</li>
<li>Delete Content</li>
</ul>
</li>
</ul>
</li>
<li>Add Live Content *</li>
<li>Change the Look/Feel (re-skin/theme)</li>
<li>Customize</li>
<ul>
<li>Add Features</li>
<li>Change Features</li>
<li>Remove Features</li>
</ul>
</li>
</ol>
<p><strong>WordPress Specific Requirements:</strong><br />
1. Extend your implementation by installing 3-5 <a href="http://wordpress.org/extend/plugins/" target="_blank">WordPress plugins</a> that fit the topic of your project.<br />
2. Create a custom theme (you may start by modifying an existing <a href="http://themes.wordpress.net/" target="_blank">WordPress theme</a>).<br />
3. Use &#8220;<a href="http://codex.wordpress.org/Template_Tags" target="_blank">Template Tags</a>&#8221; to extend your theme.</p>
<p>* Decide on a topic for your content. You might invite others to contribute content, or write abstracts of relevant articles. </p>
<p><a href='http://aim.johnkeston.com/wp-content/uploads/2007/12/php_problem_set_2.zip'>Download: PHP Problem Set 2</a><br />
1. All PHP problems within a &#8220;set&#8221; are due by the beginning of class on the next day that the class meets.<br />
2. Answers must be available via links on the OLS or comparable hosting and copied to the drop off drive.<br />
3. Solutions to each problem set will be given during demonstrations on the day that they are due.<br />
4. Grades will be collected during the solution demonstrations by an <a href="http://bestfriendsforevers.com">assigned</a> classmate.</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 3</title>
		<link>http://aim.johnkeston.com/im4420/week-3/</link>
		<comments>http://aim.johnkeston.com/im4420/week-3/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 18:21:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-3/</guid>
		<description><![CDATA[Session 1: In today&#8217;s class we will be discussing what you have written in your research papers, which are also due today. After that we will be attempting to implement examples of the Open Source project you selected for the implementation assignment. I will be checking everyone&#8217;s progress as you work. The goal is to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> In today&#8217;s class we will be discussing what you have written in your research papers, which are also due today. After that we will be attempting to implement examples of the Open Source project you selected for the implementation assignment. I will be checking everyone&#8217;s progress as you work. The goal is to get to a point where the installation allows your project to be functional at a default level, exactly like the demonstration on <a href="../week-2">Session 2, week 2</a>. <strong>Make sure you are prepared</strong> by knowing exactly which software you plan on working with and having all of the necessary login and password information for your web hosting servers and database available. It is also a good idea to complete steps 1, 2 and 3 in the outline for the implementation project (<a href="../week-2">Session 2, week 2</a>).</p>
<p><a href="http://blog.lxpages.com/ultimate_linux.html" target="_blank">Ultimate Linux Reference Guide for Newbies</a></p>
<p><strong>Session 2: </strong>Now that we all have a good start on the Open Source Implementation project it is time to start discussing our next and final project which involves either extending an application like WordPress by writing plugins or hacking the framework, or developing a dynamic web application of your own. There are many types of applications that are acceptable for this project. Here&#8217;s a list of a few examples to get you started.</p>
<p><strong>1. E-Commerce</strong> &#8211; Developing a custom e-commerce system is an excellent asset for clients and employers.<br />
<strong>2. Dynamic Content Management</strong> &#8211; The point is to allow the customer to edit their content without help from a developer.<br />
<strong>3. Forums / Message Boards</strong> &#8211; These tools are important to community sites and organizations.<br />
<strong>4. News / Blogging</strong>  &#8211; News sites and blogs are a large part of the content on the internet and can be quite useful tools.<br />
<strong>5. Calendar / Event Manager</strong> &#8211; Another example of useful tools for community sites, and others.</p>
<p>Other examples may also be acceptable. Consult with me about your ideas regularly. Once you have decided what sort of application you&#8217;ll be developing you need to start the planning stage. Start by writing a summary of what the application will do followed by a list of features. Try to think of all the details and requirements for each of the features. Make notes of web sites that have similar tools and resources that apply to what you are building. Later we will discuss the formal requirements for the planning stage, but I want you to start thinking about your projects right away.</p>
<p><a href='http://aim.johnkeston.com/wp-content/uploads/2007/12/php_problem_set_3.zip'>Download: PHP Problem Set 3</a><br />
1. All PHP problems within a “set” are due by the beginning of class on the next day that the class meets.<br />
2. Answers must be available via links on the OLS or comparable hosting and copied to the drop off drive.<br />
3. Solutions to each problem set will be given during demonstrations on the day that they are due.<br />
4. Grades will be collected during the solution demonstrations by an assigned classmate.</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 4</title>
		<link>http://aim.johnkeston.com/im4420/week-4/</link>
		<comments>http://aim.johnkeston.com/im4420/week-4/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 18:45:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-4/</guid>
		<description><![CDATA[Session 1: Another aspect of using WordPress involves what are called Template Tags. We will discuss and demonstrate the use of template tags in class today. Also, planning a small scale dynamic web application can be tricky, but there are some ways to think ahead and make the process a little less daunting. Let&#8217;s use [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Another aspect of using WordPress involves what are called <a href="http://codex.wordpress.org/Template_Tags" target="_blank">Template Tags</a>. We will discuss and demonstrate the use of template tags in class today. Also, planning a small scale dynamic web application can be tricky, but there are some ways to think ahead and make the process a little less daunting. Let&#8217;s use the example of a service list manager. A service list is a list of contacts for a business that require promotional material on a regular basis. Artists and record labels use service lists to inform the media about events, new releases, showings and other news. In order to create a dynamic web application to maintain a service list and record transactions a number of questions need to be answered.</p>
<ol>
<li>Do you write from the ground up or use a framework?</li>
<ol type="a">
<li>If a framework, which one?</li>
<li>If not, plan ahead for an extended timeline</li>
<li>Consider security issues and cost of development cycle</li>
</ol>
<li>What features will be required? Details regarding each feature are very important in the planning stage.</li>
<li>Is a database needed? Most often it will be needed, but in some cases it&#8217;s not necessary.</li>
<li>Illustrate the forms and other web pages in the application. This will help you discover features and structure.</li>
<li>Define the database schema. Think about how many tables will be needed and how the tables are joined.</li>
</ol>
<p><strong>Session 2:</strong> In class today we will be reviewing some SQL syntax, focusing on the DDL. I&#8217;ll be going over a few <a href="http://aim.johnkeston.com/im4420/service_list_project/service_list_schema.sql">examples</a> of CREATE TABLE statements and discussing the datatypes involved. In lab I&#8217;ll be looking at everyone&#8217;s progress so far. The Implementation Projects are due a week from today. At this stage you should be finished with steps 1 through 8 and working on steps 9 and 10. Manipulating the look/feel/design and adding/customizing features is the most time consuming aspect of this kind of development so make sure that you&#8217;re spending most of your time on these steps.</p>
<p><a href="http://aim.johnkeston.com/im4420/service_list_project/service_list_schema.sql">CREATE TABLE statement examples</a></p>
<p>Reading Assignments:<br />
<a href="http://en.wikipedia.org/wiki/Index_%28database%29" target="_blank">Explanation of Database Indexes</a><br />
<a href="http://mysql.com/doc/refman/5.0/en/enum.html" target="_blank">MySQL Documentation for the ENUM datatype</a><br />
<a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html" target="_blank">MySQL Documentation for Foreign Key Constraints</a></p>
<p><strong>Template Tag Explanation Assignment:</strong><br />
In class on session 1 of week 5 please be prepared to describe the details about one of the template tags that you are using in your implementation project. Do research so that you can tell us what features the template tag has and what arguments are necessary to produce those behaviors.  </p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 5</title>
		<link>http://aim.johnkeston.com/im4420/week-5/</link>
		<comments>http://aim.johnkeston.com/im4420/week-5/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 18:49:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week5/</guid>
		<description><![CDATA[Session 1: Today we will use phpMyAdmin to start analyzing the WordPress database schema. How do the tables included interact? What sort of data is stored and how can we access it in ways distinct from the WordPress framework? How would we write a plugin to access data differently? These are some of the questions [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Today we will use phpMyAdmin to start analyzing the WordPress database schema. How do the tables included interact? What sort of data is stored and how can we access it in ways distinct from the WordPress framework? How would we write a plugin to access data differently? These are some of the questions we&#8217;ll be going over as well as an exercise in using the DML to retrieve data from WordPress in our own format.</p>
<p><strong>Web Applications Final Project Plan Requirements<br />
(In progress)<br />
</strong><br />
1. Title Page (include TOC, etc.)<br />
2. Project Overview<br />
3. Feature List (w/Brief Descriptions for each Feature)<br />
4. Database Flowchart / Schema<br />
5. Wireframes (make sure forms are included)</p>
<p>Also: <strong>Template Tag Explanation Assignment Due Today</strong></p>
<p><strong>Session 2:</strong> Today we will be presenting our <strong>Open Source Implementation Projects. </strong>Presenting your project is required and worth a minimum of one half of one grade point. As you present, discuss why you selected the software you used, how you customized the features and what you did to change the visual nature of the front end.</p>
<p>The following code example displays a tag cloud in your sidebar and then prevents tag with only one topic from being show in the cloud.</p>
<pre class="brush: php;">
&lt;?php
    $defaults = array('smallest' =&gt; 11, 'largest' =&gt; 27, 'unit' =&gt; 'px', 'number' =&gt; 100,
                      'format' =&gt; 'array', 'orderby' =&gt; 'name', 'order' =&gt; 'ASC');
    $tags_array = wp_tag_cloud($defaults);
    //print_r($tags_array);
    $needle = ' topics';
    foreach( $tags_array as $tag ) {
        if ( stristr($tag,$needle) ) {
            echo( $tag.&quot; &quot; );
        }
    }
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 6</title>
		<link>http://aim.johnkeston.com/im4420/week-6/</link>
		<comments>http://aim.johnkeston.com/im4420/week-6/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 18:54:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/27/</guid>
		<description><![CDATA[Session 1: PHP has become one of the most popular ways to do server side scripting for web applications. The reasons include that it&#8217;s Open Source, easy to learn, flexible, operates on most OSes, interfaces with most popular database platforms, very stable, portable, and get&#8217;s updated and improved regularly. But, as we have learned, development [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> PHP has become one of the most popular ways to do server side scripting for web applications. The reasons include that it&#8217;s Open Source, easy to learn, flexible, operates on most OSes, interfaces with most popular database platforms, very stable, portable, and get&#8217;s updated and improved regularly. But, as we have learned, development from the ground up can be daunting. So what if you have a custom project that needs to be fully developed without using an existing code base? There are ways to get a jump start on this process. &#8220;<a href="http://codeignitor.com/">CodeIgnitor</a> is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.&#8221; (codeignitor.com) Let take a brief look at CodeIgnitor and then continue learning about plugin development for WordPress.</p>
<p>WordPress Plugin Developer Resources:<br />
<a href="http://codex.wordpress.org/Writing_a_Plugin">Writing a WordPress Plugin</a><br />
<a href="http://markjaquith.wordpress.com/2006/03/04/wp-tutorial-your-first-wp-plugin/">Your First WordPress Plugin (Video)</a></p>
<p><strong>Session 2:</strong> Today we will analyze some examples that are further developed. We will look at a working version of these examples and then take a quick look at some of the source code, paying particular attention to new functions and techniques.</p>
<p>WordPress Plugin Exercise:<br />
1. Write a WordPress plugin to display the &#8220;age&#8221; of a post<br />
2. Display the days, hours, and minutes in a human readable form<br />
3. Try using the template tag the_time()<br />
4. Try also using the WordPress function human_time_diff()</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 7</title>
		<link>http://aim.johnkeston.com/im4420/week-7/</link>
		<comments>http://aim.johnkeston.com/im4420/week-7/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 19:06:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-7/</guid>
		<description><![CDATA[Session 1: I have another example to show from the Service List Manager project. This tool is nearly complete, so I&#8217;ll also be discussing what sort of finishing touches that might be applied to this kind of application. Also, let&#8217;s continue looking at your source code examples. I would like everyone to show at least [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> I have another example to show from the Service List Manager project. This tool is nearly complete, so I&#8217;ll also be discussing what sort of finishing touches that might be applied to this kind of application. Also, let&#8217;s continue looking at your source code examples. I would like everyone to show at least one example before week 10.</p>
<p><strong>Final Project Schedule:<br />
</strong>Session 2, Week 7 &#8211; Final project concept presentations (explain to class your concept)<br />
Session 1, Week 8 &#8211; Final project development plans due (paper copies of finished devplans)<br />
Session 2, Week 8 &#8211; First of three progress reports (show code, get feedback, etc.)<br />
Session 1, Week 9 &#8211; Second progress report<br />
Session 1, Week 10 &#8211; Discuss take home final essay questions<br />
Session 1, Week 10 &#8211; Third progress report<br />
Week 11 &#8211; Final presentations</p>
<p><strong>Session 2:</strong> Template engines are another tool to help build complex web based applications. Usually the purpose of a template engine is to help separate the presentation layer from the logic, or back-end. One example of an Open Source templates engine project is <a href="http://smarty.php.net/" target="_blank">Smarty</a>. Here&#8217;s a brief description from their website:</p>
<p class="assignment">Although Smarty is known as a &#8220;Template Engine&#8221;, it would be more accurately described as a &#8220;Template/Presentation Framework.&#8221; That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application. I stress the word Framework because Smarty is not a simple tag-replacing template engine. Although it can be used for such a simple purpose, its focus is on quick and painless development and deployment of your application, while maintaining high-performance, scalability, security and future growth.</p>
<p><a title="week8" name="week8"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 8</title>
		<link>http://aim.johnkeston.com/im4420/week-8/</link>
		<comments>http://aim.johnkeston.com/im4420/week-8/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 19:12:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-8/</guid>
		<description><![CDATA[Session 1: AJAX (Asynchronous Javascript and XML) is an excellent technique to extend the function of web based applications beyond the traditional methods. Without AJAX dynamic content is delivered to the browser by either displaying a new page or re-rendering the whole existing page. This approach has several limitations that are solved by using AJAX. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> AJAX (Asynchronous Javascript and XML) is an excellent technique to extend the function of web based applications beyond the traditional methods. Without AJAX dynamic content is delivered to the browser by either displaying a new page or re-rendering the whole existing page. This approach has several limitations that are solved by using AJAX. For example, as new content becomes available for the page, portions of the screen can be changed without completely refreshing the browser. Advanced AJAX techniques are currently in use to create online applications that behave almost exactly like locally installed software. Google Spreadsheets are a good example of this. Google Spreadsheets work in a very similar fashion to Excel and allow importing and exporting in XLS or CSV format. Thus an online application can have the advantage of access on any computer with internet access and still behave like traditional, locally installed software.</p>
<p>There are hundreds of AJAX resources and tutorials available online as well as books. Here&#8217;s a list of some of the more popular online resources available:<br />
<a href="http://jquery.com/" target="_blank">JQuery</a><br />
<a href="http://mootools.net/" target="_blank">MooTools</a><br />
<a href="http://www.ajaxwith.com/" target="_blank">ajaxwith.com</a><br />
<a href="http://www.telerik.com/asp-net-community/ajax-learning-resources.aspx" target="_blank">The AJAX Revolution</a><br />
<a href="http://www.maxkiesler.com/index.php/weblog/comments/round_up_of_30_ajax_tutorials/" target="_blank">Round-up of 30 AJAX Tutorials</a><br />
<a href="http://chronotron.wordpress.com/2006/04/11/ajax-get-started-resources-tutorials/" target="_blank">AJAX, Get Started, Resources &amp; Tutorials</a><br />
<strong><br />
Session 2:</strong> Steal This Film is a documentation of events during the Spring of 2006 regarding actions taken by the MPAA against the Swedish Bittorrent tracker site The Pirate Bay. The film highlights the futility of action by the MPAA and RIAA against file sharing, and also provides an insight into how the application Bittorrent works as well as torrent tracking database and search site tools. The film can be downloaded (without violation of any copyright laws) from <a href="http://www.stealthisfilm.com/" target="_blank">stealthisfilm.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 9</title>
		<link>http://aim.johnkeston.com/im4420/week-9/</link>
		<comments>http://aim.johnkeston.com/im4420/week-9/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 19:14:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-9/</guid>
		<description><![CDATA[Session 1: As we near the end of the quarter, let&#8217;s continue to look at examples of source code from your projects. One other issue surrounding web applications and the web in general is how to find image, audio and other types of media to include in our works. We are all familiar with Corbis [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> As we near the end of the quarter, let&#8217;s continue to look at examples of source code from your projects. One other issue surrounding web applications and the web in general is how to find image, audio and other types of media to include in our works. We are all familiar with Corbis and the like for photography, but where can we go for free audio content, free images, film and so on? Here&#8217;s a list of resources for finding free media files to use in your own work:</p>
<p><a href="http://creativecommons.org/" target="_blank">Creative Commons</a> &#8211; This portal to free media provides a license to protect free content from being commercialized.<br />
<a href="http://freesound.iua.upf.edu/" target="_blank">The Freesound Project</a> &#8211; This excellent library offers over 1 terabyte of sounds (not songs) licensed under Creative Commons.<br />
<a href="http://www.ccmixter.org/" target="_blank">ccMixter</a> &#8211; A community music site featuring remixes also licensed under Creative Commons.<br />
<a href="http://www.archive.org/" target="_blank">archive.org</a> &#8211; Internet digital library formed in 1996. Content includes film, music, images and more.<br />
<a href="http://www.archive.org/details/prelinger" target="_blank">The Prelinger Archives</a> &#8211; Over 1,000 public domain films from the worlds of government and advertising.</p>
<p><strong>Session 2:</strong> Fine tuning the source code in your applications typically happens in the development stage, however sometimes (either due to a lack of planning, or unrealistic deadlines) the priority is to make it work and fix it later if there&#8217;s time and a budget. Today I&#8217;ll show you a couple examples of how I have fine tuned my project. Most of these examples do not change the functionality, but shorten the code or make it more efficient.</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 10</title>
		<link>http://aim.johnkeston.com/im4420/week-10/</link>
		<comments>http://aim.johnkeston.com/im4420/week-10/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 19:17:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-10/</guid>
		<description><![CDATA[Session 1: Today we will be discussing and distributing the take home final essay questions. Although the curriculum in our program focuses heavily on the technical aspects of interactive media design and development, it is important to examine the purpose and direction of this technology. These final essay questions focus on the impact of web [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Today we will be discussing and distributing the take home final essay questions. Although the curriculum in our program focuses heavily on the technical aspects of interactive media design and development, it is important to examine the purpose and direction of this technology. These final essay questions focus on the impact of web applications on you and your community as well as society at large. Draw on your experiences implementing Open Source applications, developing your own tools, and from the films and reading assignments in class to form your answers. Please write a minimum of one double spaced page per question. Due on Session 2 week 11.</p>
<p>1. Web applications have a significant impact on the way we lead our lives today. Social networks like Twitter, Facebook, and Myspace along with e-commerce sites like eBay, Amazon and iTunes have changed the way our society operates. Beyond email and instant messaging, how have web applications effected your day to day activities? Are these effects on our lives positive or negative and in what way?</p>
<p>2. If you had the means to create any kind of web enabled, interactive application that doesn&#8217;t currently exist what would it do? How would it improve your personal life, workflow, art, or community?</p>
<p>3. Out of all the web applications we have looked at in this class, what do you find the most functional and well developed? What makes this application stand out? What purpose does it serve and how do organizations and individuals use this software?</p>
<p>4. What role do you think Open Source software and Open Content will play in the future? Will sites like Wikipedia play a role or are they too unreliable to be taken seriously? Will Open Source software be viable or are we better off using propriety software?</p>
<p><strong>Session 2:</strong>  Final project progress reports are scheduled for today. </p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Week 11</title>
		<link>http://aim.johnkeston.com/im4420/week-11/</link>
		<comments>http://aim.johnkeston.com/im4420/week-11/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 19:17:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[IM4420 Dynamic Web Applications]]></category>

		<guid isPermaLink="false">http://aim.johnkeston.com/wordpress/2007/11/23/week-11/</guid>
		<description><![CDATA[Session 1: Final work day. Early presentations will be accepted today as well. Session 2: Final presentations. Take home final essay questions due.]]></description>
			<content:encoded><![CDATA[<p><strong>Session 1:</strong> Final work day. Early presentations will be accepted today as well.</p>
<p><strong>Session 2: </strong>Final presentations. Take home final essay questions due.</p>
]]></content:encoded>
			<wfw:commentRss>http://aim.johnkeston.com/im4420/week-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
