<?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/"
	>

<channel>
	<title>Web Administration devBlog &#187; Code</title>
	<atom:link href="http://blog.webadmin.ufl.edu/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.webadmin.ufl.edu</link>
	<description>University of Florida: Web Administration</description>
	<pubDate>Thu, 12 Nov 2009 17:38:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.2-alpha</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery Summit Webinar available November 19th</title>
		<link>http://blog.webadmin.ufl.edu/2009/10/27/jquery-summit-webinar-available-november-19th/</link>
		<comments>http://blog.webadmin.ufl.edu/2009/10/27/jquery-summit-webinar-available-november-19th/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 17:05:31 +0000</pubDate>
		<dc:creator>Morgan Carlson</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.webadmin.ufl.edu/?p=1617</guid>
		<description><![CDATA[Do you want to incorporate more JavaScript into your designs and learn how to do it from experts? Web Administration is providing the jQuery Summit webinar to help you better understand what this framework can do for your sites.
Eight different developers and JavaScript experts from across the world (yes, the world) will be presenting during [...]]]></description>
			<content:encoded><![CDATA[<p>Do you want to incorporate more JavaScript into your designs and learn how to do it from experts? Web Administration is providing the jQuery Summit webinar to help you better understand what this framework can do for your sites.</p>
<p>Eight different developers and JavaScript experts from across the world (yes, the world) will be presenting during the virtual conference.<span id="more-1617"></span> They include:</p>
<ul>
<li><a href="http://ejohn.org/">John Resig</a> from the Mozilla Corporation and the creator of <a href="http://jquery.com/">jQuery</a></li>
<li><a href="http://paulirish.com/">Paul Irish</a> whose clients include Reebok, Adidas, Boost Mobile, Finish Line, and Monster.com.</li>
<li>Many others, including the authors of many CSS and JavaScript books</li>
</ul>
<p>You will not want to miss learning from all of these smart people. Attendees will chat with each other and will have the opportunity to ask the presenters questions.</p>
<p>Come join the UF web community for the webinar on <strong>Thursday, November 19</strong> from <strong>10 a.m - 7 p.m.</strong> at the CITT Classroom in <strong>2215 Turlington Hall</strong>. For more detailed information about the event, visit the <a href=" http://jquerysummit.eventbrite.com/">jQuery Summit event page</a>.</p>
<p>You must <a href="http://oak.circa.ufl.edu/~cittreg/describe.html?sectid=1698">RSVP to attend</a>. If you RSVP and can no longer attend please <a href="mailto:webmaster@ufl.edu">E-mail us and let us know</a> so we can free up a spot for someone else.</p>
<p>To RSVP for the event:<a href="http://oak.circa.ufl.edu/~cittreg/describe.html?sectid=1698"> http://oak.circa.ufl.edu/~cittreg/describe.html?sectid=1698</a></p>
<p>We hope to see you there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webadmin.ufl.edu/2009/10/27/jquery-summit-webinar-available-november-19th/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DIY Summit Webinar Available September 17th</title>
		<link>http://blog.webadmin.ufl.edu/2009/08/12/diy-summit-webinar-september-17th/</link>
		<comments>http://blog.webadmin.ufl.edu/2009/08/12/diy-summit-webinar-september-17th/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 14:18:50 +0000</pubDate>
		<dc:creator>Bruce Floyd</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://blog.webadmin.ufl.edu/?p=1383</guid>
		<description><![CDATA[The DIY Summit is brought to us by Environments for Humans and features a lineup specific to designers who are &#8220;designing and managing entire websites by themselves, either by choice or by chance.&#8221; Subjects include:

Brian Fling — Design and Development for the iPhone
Kelly Goto — Workflow and Process
Matt Harris — Using WordPress for Content Management
Ryan [...]]]></description>
			<content:encoded><![CDATA[<p>The DIY Summit is brought to us by <a href="http://www.environmentsforhumans.com/">Environments for Humans</a> and features a lineup specific to designers who are &#8220;designing and managing entire websites by themselves, either by choice or by chance.&#8221;<span id="more-1383"></span> Subjects include:</p>
<ul>
<li><a href="http://flingmedia.com/">Brian Fling</a> — Design and Development for the iPhone</li>
<li><a href="http://www.gotomedia.com/">Kelly Goto</a> — Workflow and Process</li>
<li><a href="http://themattharris.com/">Matt Harris</a> — Using WordPress for Content Management</li>
<li><a href="http://www.ryanirelan.com/">Ryan Irelan</a> — Incorporating Subversion into Your Workflow</li>
<li><a href="http://superfluousbanter.org/">Dan Rubin</a> — Great CSS Design</li>
<li><a href="http://kevinlawver.com/">Kevin Lawver</a> — Introduction to Ruby on Rails</li>
<li><a href="http://christopherschmitt.com/">Christopher Schmitt</a> — Moving to HTML5</li>
<li><a href="http://marktrammell.com/">Mark Trammell</a> and <a href="http://juliemelton.com/">Juliette Melton</a> — Conducting Effective User Research</li>
</ul>
<p><a href="http://diysummit.eventbrite.com/"><img class="size-medium wp-image-1387 alignright" title="diy-summit" src="http://blog.webadmin.ufl.edu/wp-content/uploads/2009/08/diy-summit-300x70.gif" alt="diy-summit" width="300" height="70" /></a></p>
<p>Christopher Schmitt and the team from Environments for Humans have offered us this webinar at a special discount. The best way I can think of to show our gratitude is to pack the room on September 17th from 10am to 7pm at the <acronym title="Center for Instructional Teaching and Technology">CITT</acronym> and learn from these brilliant speakers.  You must be present to view the content as we are not provided any additional streams.</p>
<p>To RSVP, <a href="http://oak.circa.ufl.edu/~cittreg/describe.html?sectid=1669">visit our registration page</a> and sign up as seats are limited. Also, this event is prioritized for UF faculty/staff, but if a student wants to attend, we&#8217;ll try to squeeze you in.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webadmin.ufl.edu/2009/08/12/diy-summit-webinar-september-17th/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web programming in Perl</title>
		<link>http://blog.webadmin.ufl.edu/2009/05/14/web-programming-in-perl/</link>
		<comments>http://blog.webadmin.ufl.edu/2009/05/14/web-programming-in-perl/#comments</comments>
		<pubDate>Thu, 14 May 2009 17:10:49 +0000</pubDate>
		<dc:creator>Daniel Westermann-Clark</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.webadmin.ufl.edu/?p=873</guid>
		<description><![CDATA[I started programming Perl in 1999. Back then, I threw together Web pages using CGI scripts. Some of my earliest scripts combined code and markup, and quickly became unmaintainable. Since then, I&#8217;ve programmed in other languages, including Java, C#, Python and PHP, but I keep coming back to Perl. The language has evolved and matured, [...]]]></description>
			<content:encoded><![CDATA[<p>I started programming Perl in 1999. Back then, I threw together Web pages using <acronym title="Common Gateway Interface">CGI</acronym> scripts. Some of my earliest scripts combined code and markup, and quickly became unmaintainable. Since then, I&#8217;ve programmed in other languages, including Java, C#, Python and PHP, but I keep coming back to Perl. The language has evolved and matured, while new frameworks and libraries have made Web programming fun again.<span id="more-873"></span></p>
<p>Most recently for UF, I&#8217;ve built a Web site deployment tool using Perl called SiteDeploy.  We&#8217;re using it internally at WebAdmin on top of<br />
our <a href="http://subversion.tigris.org/">Subversion</a> repository to manage the <a href="http://www.ufl.edu/">UF Home Page</a> and most of our other sites.  It gives everyone here an overview of what has changed and when things were pushed live.</p>
<p>SiteDeploy uses the <a href="http://www.catalystframework.org/">Catalyst</a> Web framework to take advantage of Perl&#8217;s flexibility and huge library of existing code. Catalyst encourages use of the <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">model-view-controller</a> pattern, similar to <a href="http://rubyonrails.org/">Ruby on Rails</a>.  In SiteDeploy, the code for interacting with the Subversion repository (the model) is completely separate from the code that displays the user interface (the view).  There&#8217;s a thin layer (the controller) that talks between the two based on input from the user.</p>
<p>The model layer uses <a href="http://moose.perl.org/">Moose</a>, which simplifies Perl object-oriented programming. The code is easier to maintain and much easier to read.  Moose also gives you some basic type checking, but doesn&#8217;t force you to cast between types like in some other languages. instead of calling the <code>svn</code> binary or using the Subversion bindings directly in SiteDeploy, I&#8217;m using <a href="http://vci.everythingsolved.com/">VCI</a>. VCI gives you a unified interface to multiple version control systems, so in theory WebAdmin could move to <a href="http://www.git-scm.org/">Git</a> with little effort.</p>
<p>One of my favorite parts of this project is how easy it has been to add <a href="http://en.wikipedia.org/wiki/Unit_test">unit tests</a> and <a href="http://en.wikipedia.org/wiki/Acceptance_test">acceptance tests</a>. Every time I make a change, I run the tests to make sure I haven&#8217;t broken anything. I find and solve bugs sooner, giving me more confidence in my work.</p>
<p>In the future I&#8217;ll probably add some additional access control to SiteDeploy so that some of the people we work with can deploy their own sites.  This may be built on top of Subversion&#8217;s access control, or might be implemented separately in a database.  In the latter case, I&#8217;ll use <a href="http://search.cpan.org/dist/DBIx-Class/">DBIx::Class</a>.</p>
<p>I consider Catalyst, Moose and DBIx::Class to be best practices for Perl development these days.  If you&#8217;ve used Perl in the past, but it&#8217;s been a while, or been turned off by <a href="http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it"><acronym title="there's more than one way to do it">TIMTOWTDI</acronym></a>, I encourage you to give it another try.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webadmin.ufl.edu/2009/05/14/web-programming-in-perl/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shibboleth: An Improved Authentication System for UF</title>
		<link>http://blog.webadmin.ufl.edu/2009/04/14/shibboleth-a-new-and-improved-authentication-system-for-uf/</link>
		<comments>http://blog.webadmin.ufl.edu/2009/04/14/shibboleth-a-new-and-improved-authentication-system-for-uf/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 17:41:33 +0000</pubDate>
		<dc:creator>Bruce Floyd</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.webadmin.ufl.edu/?p=645</guid>
		<description><![CDATA[Shibboleth is the authentication system that will replace GLAuth.  This new system provides added security and scalability while providing the same functionality and new features as well. Shibboleth has been around for many years and has been a production service at UF since November 2008.

A key feature of Shibboleth is that of &#8220;federated identity&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.it.ufl.edu/identity/Shibboleth/shibboleth.asp">Shibboleth</a> is the authentication system that will replace <a href="http://www.it.ufl.edu/identity/GLAuth/GLAuth.asp">GLAuth</a>.  This new system provides added security and scalability while providing the same functionality and new features as well. Shibboleth has been around for many years and has been a production service at UF since November 2008.<br />
<span id="more-645"></span><br />
A key feature of Shibboleth is that of &#8220;federated identity&#8221;.  Mike Conlon, Associate CIO and Shibboleth project lead, had this to say:</p>
<blockquote><p>Shibboleth also supports “federated identity.”  UF service providers can elect to accept credentials from identity providers outside UF.  This could occur in research collaboration and distance learning scenarios.  The reverse is also true.  Service providers outside UF can choose to accept credentials from the UF identity provider (GatorLink).  It is expected that NIH and NSF will standardize on Shibboleth.  This means that UF investigators and research administrators will be able to use their GatorLink usernames and passwords when working with these agencies.</p></blockquote>
<p>It is important to note that because of the security concerns associated with GLAuth that the <a href="http://www.it.ufl.edu">Office of Information Technology</a> will eventually shut off that system, so migrating over to Shibboleth is not only safe, it&#8217;ll eventually be necessary!</p>
<p>In the coming weeks, we&#8217;ll talk more about Shibboleth and how it&#8217;s being successfully implemented around campus.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webadmin.ufl.edu/2009/04/14/shibboleth-a-new-and-improved-authentication-system-for-uf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Are You Keeping Your Code Clean?</title>
		<link>http://blog.webadmin.ufl.edu/2008/11/19/are-you-keeping-your-code-clean/</link>
		<comments>http://blog.webadmin.ufl.edu/2008/11/19/are-you-keeping-your-code-clean/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 15:18:57 +0000</pubDate>
		<dc:creator>Bruce Floyd</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://blog.webadmin.ufl.edu/2008/11/19/are-you-keeping-your-code-clean/</guid>
		<description><![CDATA[The other day, I was revising some work I had done during my previous employment, as our office has added the site to our body of work.  It was an enlightening experience.  I assumed that since I had build the site that I wouldn&#8217;t have any problem getting back on that bicycle and [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, I was revising some work I had done during my previous employment, as our office has added the site to our body of work.  It was an enlightening experience.  I assumed that since I had build the site that I wouldn&#8217;t have any problem getting back on that bicycle and ride.</p>
<p>Or so I thought.<span id="more-40"></span></p>
<p>When I created those pages, I was working by myself, so there wasn&#8217;t much thought about developing efficient, easy-to-read code.  I knew the site like the back of my hand, because I worked on it every day.</p>
<p>After the job change, the site became less of my personal responsibility and so the site that was once like the back of my hand became less familiar, like the cousins you see at Thanksgiving.</p>
<p>After I spent some time reintroducing myself to HTML, I found that my code was not only sloppy and hard to read, but some that was just plain bad, including unnecessary inline <acronym title="cascading style sheet">CSS</acronym>.  The horror!</p>
<p>The one thing I learned from this experience is to try and code as cleanly as possible, and include comments whenever possible.  It&#8217;s especially helpful when closing out DIV tags, as they seem to come in a flurry at the end of a page and adding the comment can help determine where different containers are being closed out.</p>
<p>For tips and inspiration, I would suggest reading Smashing Magazine&#8217;s recent article, <a rel="bookmark" title="12 Principles For Keeping Your Code Clean" href="http://www.smashingmagazine.com/2008/11/12/12-principles-for-keeping-your-code-clean/">12 Principles For Keeping Your Code Clean</a>, which talks about the different ways to ensure legibility and standards compliance.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webadmin.ufl.edu/2008/11/19/are-you-keeping-your-code-clean/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
