<?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>Web Design &#38; Marketing - Medina, Cleveland, Akron Ohio &#124; ETHODE &#187; Development</title>
	<atom:link href="http://www.ethode.com/category/blog/development/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ethode.com</link>
	<description>You&#039;re source for Development and Design in North East Ohio</description>
	<lastBuildDate>Mon, 23 Jan 2012 18:52:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPress Upgrade Error Solved!</title>
		<link>http://www.ethode.com/664/wordpress-upgrade-error-solved</link>
		<comments>http://www.ethode.com/664/wordpress-upgrade-error-solved#comments</comments>
		<pubDate>Thu, 28 Apr 2011 15:43:08 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[CMS Products]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[Fantastico]]></category>
		<category><![CDATA[ProFTP]]></category>
		<category><![CDATA[Pure-FTP]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=664</guid>
		<description><![CDATA[Around here at ETHODE we use WordPress quite often.  Matter of fact it usually accounts for 80% of our websites that are not custom coded.  Recently we ran into an issue where we were trying to upgrade a blog for a customer.  We installed the blog using Fantastico and then wanted to upgrade to the [...]]]></description>
			<content:encoded><![CDATA[<p>Around here at ETHODE we use WordPress quite often.  Matter of fact it usually accounts for 80% of our websites that are not custom coded.  Recently we ran into an issue where we were trying to upgrade a blog for a customer.  We installed the blog using Fantastico and then wanted to upgrade to the latest version using the nice automatic upgrade utility.  We thought originally the issue was permissions.</p>
<blockquote><p>Could not copy file.: /public_html/wp-admin/css/theme-editor.dev.css<br />
Installation Failed</p>
<p>&nbsp;</p></blockquote>
<p>The error message was quite frustrating.. We tried different FTP users, changed (chmod) permissions and still no dice.  Finally I decided to check out the server FTP configuration and compare it against our shared hosting environment and WALA!  On our shared servers we use ProFTP and on this dedicated server we were using Pure-FTP.  For what ever reason, Pure-FTP doesn&#8217;t sit well with Fantastico installations of WordPress..</p>
<p>I changed the ftp server over to ProFTP and boom, upgrade was successful!</p>
<p>Happy Coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/664/wordpress-upgrade-error-solved/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>egrep and xargs saved my life &#8211; Replacing Line Endings</title>
		<link>http://www.ethode.com/655/egrep-and-xargs-saved-my-life-replacing-line-endings</link>
		<comments>http://www.ethode.com/655/egrep-and-xargs-saved-my-life-replacing-line-endings#comments</comments>
		<pubDate>Tue, 15 Mar 2011 14:23:01 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[dos line endings]]></category>
		<category><![CDATA[dos2unix]]></category>
		<category><![CDATA[fromdos]]></category>
		<category><![CDATA[line endings]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[todos]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[\n]]></category>
		<category><![CDATA[\r\n]]></category>
		<category><![CDATA[^M]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=655</guid>
		<description><![CDATA[Here is a great solution for all of you looking to remove dos line endings recursively against a very large number of files containing dos style line endings]]></description>
			<content:encoded><![CDATA[<p>From time to time I run into situations where I have a file which contains window line endings.  Window line endings CRLF look like this to us linux peeps, \r\n &#8211; and can really be  a pain in a PHP script if it gets in there and interrupts the output of the file.  Typically this isn&#8217;t an issue if you transfer files and sites through a nice FTP client like Filezilla because these clients have a utility that will convert non-binary files based on the operating system on the destination.  You may have seen in files &#8220;^M&#8221; which is common when opening files in vi (I use vim) and the file is formatted in dos line endings.</p>
<p>So if you&#8217;re uploading or download to a Unix machine from a Windows (DOS based) machine the FTP client should auto-detect everything nicely and convert.  But for those developers out there whom wind up transferring massive projects, lets face it, you can&#8217;t simply download 100,000 files when you want to.  So, like many of us, we will zip up (or tar) an entire site and download it as 1 file, then upload to server and uncompress.</p>
<p>However, because we&#8217;re simply transferring a compressed file, the FTP client will never convert all of those awesome files formatted with DOS style line endings.  So I bet your next question is &#8220;so how can I fix all of these files without editing each by hand?&#8221;&#8230;</p>
<p>No fear this isn&#8217;t that hard  :-)</p>
<p><strong>The Solution</strong></p>
<p>The solution is fairly simple, use dos2unix, or fromdos depending on which flavor of linux you&#8217;re running.  But if you&#8217;re wanting to convert more than 5 files, this starts to be time consuming again.</p>
<p>So, if you would like to recursively find all files which have offending line endings, and pass those along to be converted we need to grep for those files, and then pipe the results to xargs so that for each file found we can mimic a call to dos2unix for us.</p>
<p><span style="color: #ff0000;"><strong>egrep -Ilr $&#8217;\r\n&#8217; * | xargs -p dos2unix</strong></span></p>
<p><strong>Explain it please&#8230;</strong></p>
<p>For the lovers of all things linux, you&#8217;re probably familiar with egrep and grep, they are outstanding search tools.  I have added to my egrep a couple arguments.  The lowercase L (-l) tells grep to print each file out with it&#8217;s path.  The capital &#8220;I&#8221; (-I) tells egrep to IGNORE all binary files&#8230; Because after all if you have 20,000 images out of the 30,000 files why waste your day having egrep search against those files.  Lastly we have the lowercase &#8220;r&#8221; (-r)&#8221; which tells egrep to search RECURSIVELY through all sub directories.</p>
<p>The output of this search is then passed (PIPED) to xargs.  If you&#8217;re not familiar with xargs, essentially it will take each line of output from this (each file name and path) and pass that to another command for you.  So if egrep finds 10 files that matches the search, xargs will combine those file names into a command for you.</p>
<p>xargs -p dos2unix then is essentially just replacing man for machine <img src='http://www.ethode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The -p tells xargs to prompt you before executing each command, which I high suggest if you&#8217;ve never done this before.. Don&#8217;t get your self into a mess.. and <strong>ALWAYS BACKUPS FILES FIRST</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/655/egrep-and-xargs-saved-my-life-replacing-line-endings/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>dotCMS For the Win</title>
		<link>http://www.ethode.com/330/dotcms-for-the-win</link>
		<comments>http://www.ethode.com/330/dotcms-for-the-win#comments</comments>
		<pubDate>Thu, 16 Sep 2010 16:53:08 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS Products]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[dotCMS 1.9]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[chris falzone]]></category>
		<category><![CDATA[chris_falzone]]></category>
		<category><![CDATA[dotCMS]]></category>
		<category><![CDATA[dotCMS 1.9.1]]></category>
		<category><![CDATA[fienen]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[multi-host CMS]]></category>
		<category><![CDATA[Multi-Site CMS]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=330</guid>
		<description><![CDATA[Today dotCMS announced another release of their award winning Content Management System (1.9.1).  Here's the improvements you can look forward too in the new version.]]></description>
			<content:encoded><![CDATA[<p>Today <a title="Enterprise Content Management System" href="http://www.dotcms.com" target="_blank">dotCMS</a> announced another release of their award winning Content Management System (1.9.1).  Here&#8217;s the improvements you can look forward too in the new version.</p>
<ul>
<li><span style="font-size: small;">Multi-lingual backend now includes Spanish, French, German and Conversational Chinese translations.<br />
</span></li>
<li><span style="font-size: small;">Red-lining : &#8220;what&#8217;s changed&#8221; tracks additions, deletions before publishing.<br />
</span></li>
<li><span style="font-size: small;"><a title="Apache Lucene Project" href="http://lucene.apache.org/java/docs/index.html" target="_blank">Lucene</a>/Nutch based site search.  The new site search can index many different file types such as HTML, XML, ZIP, OpenDocument, Microsoft Office (Word, Excel, Powerpoint), PDF, JavaScript, RSS, RTF, MP3 (ID3 tags).  Additionally, we have created an admin tool to allow a site administrator to build new indexes on a scheduled basis.<br />
</span></li>
<li><span style="font-size: small;">New I/O friendly disk cache implementation speeds page delivery and overall throughput.<br />
</span></li>
<li><span style="font-size: small;">JSP/Velocity integration tool eases legacy/enterprise system integration by allowing JSPs to be wrapped by velocity templates and content.<br />
</span></li>
<li><span style="font-size: small;">Improved starter site ships with Events calendar, more demonstrations, Google Maps and Google Analytics.<br />
</span></li>
<li><span style="font-size: small;">Multi-host sites will exclude system content by default, more cleanly separating content that lives on specific hosts.<br />
</span></li>
<li><span style="font-size: small;">Multi-host sites log you into the host that you are viewing by default.<br />
</span></li>
<li><span style="font-size: small;">Community contributed JSON Tool &#8211; server side JSON handling that allows you to consume and reuse JSON from remote systems &#8211; thanks Michael Fienen (<a title="fienen on twitter" href="http://twitter.com/fienen" target="_blank">@fienen</a>)!<br />
</span></li>
<li><span style="font-size: small;">Community contributed email Tool &#8211; scripting friendly tool allows email communication from within Velocity &#8211; thanks Chris Falzone (<a title="Chris on twitter" href="http://twitter.com/chris_falzone" target="_blank">@chris_falzone</a>)!<br />
</span></li>
<li><span style="font-size: small;">A number of minor bug fixes and improvements.</span></li>
</ul>
<p><strong><span style="color: #ffffff;">UUJYVUC5N3XA</span></strong></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
<p><span style="font-size: x-small;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/330/dotcms-for-the-win/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Out with (JSON Serializer) and In With GSON</title>
		<link>http://www.ethode.com/267/out-with-and-in-with-gson</link>
		<comments>http://www.ethode.com/267/out-with-and-in-with-gson#comments</comments>
		<pubDate>Wed, 01 Sep 2010 16:59:55 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring MVC]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[FlexJson]]></category>
		<category><![CDATA[Gson]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[RESTful]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=267</guid>
		<description><![CDATA[Using JSON in a RESTful API?  Having trouble finding a good JSON serializer?  Stop using what ever it is you're using and check out this article!]]></description>
			<content:encoded><![CDATA[<p>So as many of you know, we worth a lot with <a title="Spring MVC - By SpringSource" href="http://www.springsource.com" target="_blank">Spring MVC</a> (2.5 and up) and utilize the RESTful-ness of Spring quite often.  Many times we have also needed to simply respond with JSON for AJAX calls and remote calls.  For this, <a title="FlexJSON Home" href="http://flexjson.sourceforge.net/" target="_blank">FlexJson</a> works pretty well.  I haven&#8217;t had much to complain about until I ran into a limitation this week.</p>
<p>Apparently <a title="FlexJSON" href="http://flexjson.sourceforge.net/" target="_blank">FlexJson</a> doesn&#8217;t really handle next objects or List&lt;&gt;&#8217;s very well.  Matter of fact I found it almost impossible to get the result I was looking for even after using their &#8220;include()&#8221; method to added in different object properties.</p>
<p>After toying around in a couple forums I finally stumbled upon someone mentioning <a title="GSON Library Home" href="http://code.google.com/p/google-gson/" target="_blank">Gson</a>.  <a title="GSON Library" href="http://code.google.com/p/google-gson/" target="_blank">Gson</a> is now my favorite thing for this week <img src='http://www.ethode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> !!!</p>
<p>Implementing GSON was simple.</p>
<p>// Initialize Gson<br />
Gson serializer = new Gson();<br />
// Serialize almost any object.. POOF, done!<br />
String jsonString = serializer.toJson(object);</p>
<p>Simple huh?  Have fun with Gson, and comment any tips or tricks you have for Json API&#8217;s!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/267/out-with-and-in-with-gson/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading dotCMS</title>
		<link>http://www.ethode.com/265/upgrading-dotcms</link>
		<comments>http://www.ethode.com/265/upgrading-dotcms#comments</comments>
		<pubDate>Tue, 31 Aug 2010 14:49:04 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CMS Products]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[dotCMS 1.9]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[dotCMS]]></category>
		<category><![CDATA[dotcms 1.7]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[updating]]></category>
		<category><![CDATA[upgrading]]></category>
		<category><![CDATA[upgrading dotCMS]]></category>
		<category><![CDATA[Velocity]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=265</guid>
		<description><![CDATA[Need to upgrade dotCMS from an older version?  The process is pretty simple, here is a short snippet from dotCMS's documentation WIKI.]]></description>
			<content:encoded><![CDATA[<p>Need to upgrade dotCMS from an older version?  The process is pretty simple, here is a short snippet from dotCMS&#8217;s documentation WIKI.</p>
<h1>Upgrading dotCMS</h1>
<p><strong>1</strong>. <strong><span style="color: #ff0000;"><span style="text-decoration: underline;">Backup your dotCMS directory and database</span></span></strong>. (I&#8217;ve had several upgrades fail and ruin a db, please make sure and back everything up)</p>
<p><strong>2</strong>. Download the latest dotCMS and unzip it. (I experienced better results from using the latest &#8220;trunk&#8221; in svn and compiling then I did with releases zip from their site)</p>
<p><strong>3</strong>. Copy your older dotCMS/assets directory to the newer dotCMS-Root /dotCMS/<br />
Note: If you have changed where your assets live use your altered assets directory.</p>
<p><strong>4</strong>. If you have changed velocity files or jsps on the filesystem you will also need to move them.  If you don&#8217;t<br />
know what these are then you probably haven&#8217;t.</p>
<p>Note: If you have changed any language properties copy the file under /common/ext-ejb/content/*</p>
<p>Note: From a version prior to 1.7a you need to move your reports directory also.<br />
<strong>5</strong>. Change new instance database settings.<br />
Uncomment the database you are using in the config (/dotcms/tomcat/conf/Catalina/localhost/ROOT.xml).</p>
<p>You will need to update the last part of the URL to your database name along with username:password.<br />
The following is an example of a postgres config pointing to a database named dotcms</p>
<p>&lt;!&#8211; POSTGRESQL &#8211;&gt;<br />
&lt;Resource name=&#8221;jdbc/dotCMSPool&#8221; auth=&#8221;Container&#8221;<br />
type=&#8221;javax.sql.DataSource&#8221; driverClassName=&#8221;org.postgresql.Driver&#8221;<br />
url=&#8221;jdbc:postgresql://127.0.0.1/dotcms&#8221;<br />
username=&#8221;postgres&#8221; password=&#8221;xxxxx&#8221; maxActive=&#8221;50&#8243; maxIdle=&#8221;10&#8243; maxWait=&#8221;-1&#8243;<br />
removeAbandoned=&#8221;true&#8221; removeAbandonedTimeout=&#8221;60&#8243; logAbandoned=&#8221;true&#8221;/&gt;</p>
<p><strong>6</strong>. Check your setting in conf/server.xml are correct.<br />
This file is all new. Make sure that ip, ports, settings and ssl are all configured<br />
correctly (configuring Tomcat is outside the scope of this document).<br />
By default dotCMS will automatically run on localhost. If you need<br />
the dotCMS to run on a particular IP address, edit the ./conf/server.xml file and search<br />
the connector and server tags and add the address property on both. E.G.</p>
<p>&lt;Server address=&#8221;208.250.1.102&#8243; port=&#8221;8005&#8243; shutdown=&#8221;SHUTDOWN&#8221; debug=&#8221;0&#8243;&gt;<br />
&#8230;<br />
&lt;Resource name=&#8221;jdbc/dotCMSPool&#8221; auth=&#8221;Container&#8221;<br />
type=&#8221;javax.sql.DataSource&#8221; driverClassName=&#8221;org.postgresql.Driver&#8221;<br />
url=&#8221;jdbc:postgresql://localhost/dotcms&#8221;<br />
username=&#8221;postgres&#8221; password=&#8221;xxxxx&#8221; maxActive=&#8221;60&#8243; maxIdle=&#8221;10&#8243; maxWait=&#8221;60000&#8243;<br />
removeAbandoned=&#8221;true&#8221; removeAbandonedTimeout=&#8221;60&#8243; logAbandoned=&#8221;true&#8221;<br />
testOnBorrow=&#8221;true&#8221; validationQuery=&#8221;SELECT 1&#8243;/&gt;</p>
<p><strong>7</strong>. If you are on a UNIX box, change the /bin scripts permissions,<br />
add execution permission to *.sh in the bin dir.<br />
&gt; cd /wwwroot/test.dotcms.org/bin<br />
&gt; chmod 755 *.sh</p>
<p><strong>8</strong>. Start your dotCMS using bin/startup.bat or bin/startup.sh depending on whether on UNIX or Windows.</p>
<p><strong>9</strong>. Log into the dotCMS as an admin and goto CMS Maintenance usually under CMS Admin tab and do the following.<br />
1. Execute Fix Asset Inconsistencies<br />
2. Reindex all structures (very important, if you do not, then don&#8217;t be surprised if your hosts POOF disappear!)</p>
<h2>Conclusion</h2>
<p>All in all the process is pretty simple.  If you&#8217;re paying for a non CE version of DotCMS then they can simply upgrade you with a WAR file which in essence is just the new compile sources and once ran by your container (tomcat, GlassFish, etc) then it will perform upgrade tasks to the db and else where.  It&#8217;s fairly straight forward, but for those of you trying to save some dough this manual process is all you have at your disposal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/265/upgrading-dotcms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS SQL Server JDBC 4.0 Driver</title>
		<link>http://www.ethode.com/232/ms-sql-server-jdbc-4-0-driver</link>
		<comments>http://www.ethode.com/232/ms-sql-server-jdbc-4-0-driver#comments</comments>
		<pubDate>Thu, 26 Aug 2010 17:23:27 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=232</guid>
		<description><![CDATA[Need to connect to SQL Server using a Java 1.6 stack? Well your in luck, Microsoft has released it's latest revisions of drivers, and specifically a jar driver compatible with 4.0 driver sets and Java 1.6]]></description>
			<content:encoded><![CDATA[<p>Need to connect to SQL Server using a Java 1.6 stack?  Well your in luck, Microsoft has released it&#8217;s latest revisions of drivers, and specifically a jar driver compatible with 4.0 driver sets and Java 1.6.</p>
<p><a title="ETHODE Downloads" href="http://www.ethode.com/resources/downloads" target="_self">Click to go to Downloads</a></p>
<h2>Implementing MS SQL Server JDBC 4.0 Driver</h2>
<pre class="brush: java">
Connection con = null;
CallableStatement proc_stmt = null;
ResultSet rs = null;
try {
// populate a connection
Class.forName(&quot;com.microsoft.sqlserver.jdbc.SQLServerDriver&quot;);
String connectionUrl = &quot;jdbc:sqlserver://&lt;host&gt;:1433;databaseName=&lt;database&gt;;user=&lt;username&gt;;password=&lt;password&gt;;&quot;;
con = DriverManager.getConnection(connectionUrl);

// If the procedure has parameters, then your procedure call would look like this &quot;call PROCEDURE_NAME(?,?)&quot; where each question mark represents a parameter
proc_stmt = con.prepareCall(&quot;{ call PROCEDURE_NAME() }&quot;);

// OPTIONAL if you have parameters
proc_stmt.set&lt;type&gt;(1(param index), &quot;param_value&quot;);
rs = proc_stmt.executeQuery();

// if resultset is populated loop through records
if (rs.next()) {
this.setSomething(rs.getString(&quot;someColumn&quot;));
} catch (SQLException ex) {
Logger.getLogger(Case.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
rs.close();
proc_stmt.close();
con.close();
} catch (SQLException ex) {
Logger.getLogger(Case.class.getName()).log(Level.SEVERE, null, ex);
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/232/ms-sql-server-jdbc-4-0-driver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4 Web Design and Development Resources You Can&#8217;t Live Without</title>
		<link>http://www.ethode.com/118/4-web-design-and-development-resources-you-cant-live-without</link>
		<comments>http://www.ethode.com/118/4-web-design-and-development-resources-you-cant-live-without#comments</comments>
		<pubDate>Wed, 14 Jul 2010 14:11:14 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Active Den]]></category>
		<category><![CDATA[ActiveDen]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Code Canyon]]></category>
		<category><![CDATA[CodeCanyon]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Flash Apps]]></category>
		<category><![CDATA[FlashDen]]></category>
		<category><![CDATA[Graphic River]]></category>
		<category><![CDATA[GraphicRiver]]></category>
		<category><![CDATA[Site Templates]]></category>
		<category><![CDATA[Site Themes]]></category>
		<category><![CDATA[Stock Photos]]></category>
		<category><![CDATA[Theme Forest]]></category>
		<category><![CDATA[ThemeForest]]></category>
		<category><![CDATA[Web templates]]></category>
		<category><![CDATA[Web Themes]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=118</guid>
		<description><![CDATA[In the pursuit of trying to make my life easier, I have stumbled upon online resources that really help make my life easier. More importantly, they allow me not to re-invent the wheel every time I start a new site.]]></description>
			<content:encoded><![CDATA[<p>In the pursuit of trying to make my life easier, I have stumbled upon online resources that really help make my life easier.  More importantly, they allow me not to re-invent the wheel every time I start a new site.</p>
<p>Here is a list of 7 Online Resources that you (and I) can&#8217;t live without&#8221;</p>
<ol>
<li><strong>Web Templates</strong>:  <a title="Theme Forest - Web Templates" href="http://themeforest.com?ref=holmessph" target="_blank">Theme Forest<br />
</a>Theme Forest is a young site, but is my number 1 source when I need a new fresh template.  They offer a pretty good selection between PSD, HTML, and pre-made themes for CMS&#8217;s like <a title="Joomla CMS" href="http://www.joomla.org" target="_blank">Joomla</a>, <a title="Drupal CMS" href="http://www.drupal.org" target="_blank">Drupal</a>, and <a title="WordPress CMS - Blogging Software" href="http://www.wordpress.org" target="_blank">WordPress</a>.  The prices are cheaper then the famed competitor Template Monster and the designed (in my opinion) tend to be more Web 2.0 and trendy.  Also, because you&#8217;re technically buying the theme from a fellow designer/developer, they become a resource for updates, bugs, etc.</li>
<li><strong>Small Apps: </strong><a title="Code Canyon - Code and Small Apps" href="http://codecanyon.net?ref=holmessph" target="_blank">Code Canyon<br />
</a>Code Canyon, also very young still (just a couple months) is already starting to dominate the market and take traffic from sites like Hot Scripts.  The reason?  Their stuff is much better, better organized, more useful, and less oriented at selling &#8220;premium listings&#8221;.  Because they make money on every thing bought from their site they don&#8217;t offer specialized listings, or push you junky apps first, they really allow you to find what you wanted in the first place.    Much like Theme Forest, once you purchase something, the developer who created the small is usually pretty easy to get a hold of, and have changes made.  This is not a &#8220;must see&#8221; site, but it&#8217;s very useful and I can&#8217;t live without it.</li>
<li><strong>Flash Apps: </strong><a title="Flash Apps - Flash Den" href="http://activeden.net?ref=holmessph" target="_blank">Active Den<br />
</a>Active Den as you can imagine after checking it out for 5 minutes, is the best place to get Flash Apps.  I have in the past outsource projects on sites like oDesk, Elance, etc, but the problem is, I&#8217;m never happy with their work.  For literally hundreds less you can usually find a pre-made app that does exactly what you need and the developer is usually more then happy to customize it for you if you would like for a small fee.  Also, it&#8217;s more of a community with discussions and ways to chat with other users and collaborate.  I&#8217;ve used a couple things from their site, MP3 players, banner rotators, etc and all of them worked great and the source code was actually very neat and clean with comments on most of them.  Of course this is up to the individual developer/designer but the ones&#8217; who succeed on these type of sites are the ones who go the extra mile.</li>
<li><strong>Graphics: </strong><a title="Royalty Free Graphics - Graphic River" href="http://graphicriver.net?ref=holmessph" target="_blank">Graphic River<br />
</a>Graphic River is a great resource to add to your stock photo site bookmarks.  I can&#8217;t say it fills ALL of my needs but I can usually find stuff here, and cheaper then more expensive stock sites.  I still wind up using other sites here and there, and that&#8217;s okay with me, but Graphic River has quickly became priceless for me.  Also, the competition of photographers really helps keep the photo&#8217;s top notch!</li>
</ol>
<p>Well there you have it, that is my list of awesome resources&#8230;  That you or I shouldn&#8217;t live without and you should learn and love them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/118/4-web-design-and-development-resources-you-cant-live-without/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LeBron James Special</title>
		<link>http://www.ethode.com/115/lebron-james-special</link>
		<comments>http://www.ethode.com/115/lebron-james-special#comments</comments>
		<pubDate>Fri, 09 Jul 2010 11:13:19 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Company News]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[LeBron James]]></category>
		<category><![CDATA[Specials]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=115</guid>
		<description><![CDATA[That's right you heard it here first, ETHODE Web Development is going a 'Turn-up the Heat' Web Development special in congrats to 'The King'.]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s right you heard it here first, ETHODE Web Development is going a &#8216;Turn-up the Heat&#8217; Web Development special in congrats to &#8216;The King&#8217;.</p>
<p>Here in Cleveland you can breathe easy, not because our basketball team stands a chance any more but because you can now get your very own website for as low as $25 dollars a month! That&#8217;s includes, hosting, design, development, email hosting, and SEO changes before the site goes live.  All sites go on our award-winning Content Management System (Built on dotCMS).</p>
<p>Give us a call today or send us an email and we can talk about what your needs are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/115/lebron-james-special/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing dotCMS 1.9 In the Cloud</title>
		<link>http://www.ethode.com/108/installing-dotcms-1-9-in-the-cloud</link>
		<comments>http://www.ethode.com/108/installing-dotcms-1-9-in-the-cloud#comments</comments>
		<pubDate>Tue, 29 Jun 2010 12:54:39 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[CMS Products]]></category>
		<category><![CDATA[dotCMS 1.9]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[dotCMS]]></category>
		<category><![CDATA[dotCMS in Cloud]]></category>
		<category><![CDATA[JDK 5]]></category>
		<category><![CDATA[LiquidWeb]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Storm on Demand]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=108</guid>
		<description><![CDATA[As some of you already know, ETHODE has chosen <a title="dotCMS" href="http://www.dotcms.org" target="_blank">dotCMS 1.9</a> for their next CMS build out.  I have a couple post prior explaining why but this post will focus on getting the system setup using Storm On Demand (Cloud, not Baremetal Servers) which is a service from <a href="http://www.liquidweb.com/?rid=ethode">LiquidWeb</a>.]]></description>
			<content:encoded><![CDATA[<p>As some of you already know, ETHODE has chosen <a title="dotCMS" href="http://www.dotcms.org" target="_blank">dotCMS 1.9</a> for their next CMS build out.  I have a couple post prior explaining why but this post will focus on getting the system setup using Storm On Demand (Cloud, not Baremetal Servers) which is a service from <a href="http://www.liquidweb.com/?rid=ethode">LiquidWeb</a>.</p>
<p><strong>Server Packages &amp; Setup</strong></p>
<ul>
<li><a title="Ubuntu Linux" href="http://www.ubuntu.com" target="_blank">Ubuntu 9.0.4 x86_64</a></li>
<li><a title="dotCMS Opensource CMS written in java" href="http://www.dotcms.org" target="_blank">dotCMS 1.9</a></li>
<li><a title="Java JDK 5 (1.5.0)" href="http://java.sun.com/javase/downloads/index_jdk5.jsp" target="_blank">java jdk 5 (1.5.0)</a> (dotCMS doesn&#8217;t work with 1.6.0 which is jdk 6)</li>
<li><a title="MySQL openSource Database" href="http://www.mysql.com" target="_blank">MySQL 5.0</a> (dotCMS Support MySQL, MS SQL, Postgres and Oracle)</li>
</ul>
<p><strong>Step 1) Setup Server</strong></p>
<p>For me, like stated, I am using Storm On Demand servers, thus I basically login to my control panel and I create a new instance. This server takes just a couple minutes to build and then I&#8217;m ready to go.  The password is set to the account strong password used when creating your control panel login.  So you can ssh into your machine using that password and the root username.</p>
<p>The first thing I always like to do with a new instance is run a full system update using APT.</p>
<pre>apt-get update</pre>
<p><strong>Step 1-a) Java JDK</strong></p>
<p>Then once everything is update install the 1.5 jdk (now all number is single, so look for JDK for J2SE 5, instead of 1.5, which is need for dotCMS to run (not compatible with 1.6).  You can use the <a title="IBM JDK implementation" href="https://www.ibm.com/developerworks/java/jdk/" target="_blank">IBM</a>, Sun or <a title="openJDK" href="http://openjdk.java.net/" target="_blank">openJDK </a>version.  Doesn&#8217;t make a difference, but Ubuntu allows you to use openJDK and Sun&#8217;s JDK right from APT.</p>
<p><span style="font-family: monospace;">apt-get install sun-java5-jdk</span></p>
<p>Once the jdk is installed you&#8217;re almost ready to go.</p>
<p>Now make sure that the JAVA_HOME path is set.  You can try the command &#8220;export $JAVA_HOME&#8221; and if nothing comes out, then you&#8217;ll need to set it.</p>
<div id="_mcePaste">One way that you can set your JAVA_HOME variable and add to your PATH, is be doing the folowing.  As &#8216;sudo&#8217; open up /etc/bash.bashrc and add the following to the end of the file.  NOTE: Set the java path to whatever the actual path is on your environment if it does not match /usr/lib/jvm/java</div>
<div id="_mcePaste">JAVA_HOME=/usr/lib/jvm/java</div>
<div id="_mcePaste">export JAVA_HOME</div>
<div id="_mcePaste">PATH=$PATH:$JAVA_HOME/bin</div>
<div id="_mcePaste">export PATH</div>
<p>Next, save the file and in some cases you might have to restart your sshd daemon.</p>
<pre>/etc/init.d/sshd restart</pre>
<p><strong>Step 1-b) MySQL</strong></p>
<p>Make sure MySQL is installed.  You can simple try &#8220;/etc/init.d/mysql restart&#8221; to see if the server exists.. Yes yes I know some of you are already yelling at me to just use the version check command.. But, sometimes, this command just slips off of the fingers quicker haha.  I do a lot of restarting of daemons, it&#8217;s like second nature, and besides this is a new server install, there isn&#8217;t anything live using MySQL yet.  If this server wasn&#8217;t a new instance, please be aware this is dumb, and shouldn&#8217;t be used.</p>
<p>Just in case you don&#8217;t have MySQL installed, you can use the follow APT command</p>
<pre>apt-get install mysql-server</pre>
<p>After you have ensured that MySQL is running we need to change 1 setting in the my.cnf file.</p>
<pre>vim /etc/mysql/my.cnf</pre>
<p>Add &#8220;lower_case_table_names=1&#8243; excluding the quotes to the my.cnf file and then run the MySQL restart command again and MySQL is ready to go.  We do not need to run any install scripts on MySQL because the dotCMS package is set to install it&#8217;s data into the database when it&#8217;s ran for the first time.</p>
<p>Lastly, lets create a database and user for dotcms.  So lets login to MySQL.</p>
<pre>mysql --user=username -p</pre>
<pre>mysql&gt; create database dotcms; (now hit enter)</pre>
<pre>mysq&gt; use dotcms; (hit enter)</pre>
<pre>mysql&gt; create user 'dotcms'@'localhost' IDENTIFIED BY 'somePassWord' (hit enter)</pre>
<pre>mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'dotcms''@'localhost' (hit enter)</pre>
<p>optionally if you would like to access the db outside of the localhost using the same user you can interchange &#8216;localhost&#8217; with &#8216;%&#8217;.</p>
<p>Now you have created a new user, and granted it permissions on the dotcms database. MySQL is ready to rock baby!</p>
<p><strong>Step 2) Get dotCMS 1.9</strong></p>
<p>I learned the hard way but as tantalizing as the full fledged release version of dotCMS 1.9 is, please use the latest trunk from svn.  There are a HUGE number of bug fixes, and I underestimated just how many.  I previously installed 1.9 from the version 1.9b3, and there were some CRUCIAL bugs still now fixed like the ability to add multiple hosts, and copy hosts.. This a HUGE issue.  However, the latest trunk is all good to go.</p>
<p><strong>Step 2 a) Download dotCMS 1.9 from SVN</strong></p>
<p>No matter what SVN client you use there are many out there. No matter which client you use get the latest version from http://svn.dotcms.org/trunk</p>
<p><strong>Step 2 b) compile dotCMS using ant</strong></p>
<p>Once the source has downloaded you&#8217;ll have to compile it, and it will created all of the necessary SQL files and trust me it&#8217;s not hard..  Just 1 command, your grandmother could do this <img src='http://www.ethode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The command you need to run (windows or ssh) is going to be from the root of the project and is:</p>
<pre>ant deploy</pre>
<p>I know, confusing huh? <img src='http://www.ethode.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   At any rate this will setup the entire directory, files, etc to be installed.</p>
<p><strong>Step 2 b) Place files in location for instance</strong></p>
<p>Now, you can technically run the instance from where ever you would like but I like to keep things tight in Ubuntu.  I suggest putting the files into a directory called &#8220;dotCMS&#8221;, or perhaps &#8220;dotCMS19&#8243; and that directory should be located in /user/local and some like to use /opt/ in Ubuntu.. Doesn&#8217;t matter much to me but I don&#8217;t like to run these things from my user or root home folders.</p>
<p><strong>Step 3 a) Configure dotCMS</strong></p>
<p>We have a couple things we need to take care of.  First we need to edit /conf/Catalina/localhost/ROOT.xml file. Make sure and change the database name in the URL, the username and password for the database server and make sure that only ONE database config is uncommented at a  time.. Trust me, people forget about this all the time.</p>
<p>From the root directory, (dotCMS/) run the following command:</p>
<pre>chmod -R 755 *.sh</pre>
<p>This will ensure that all sh scripts have the correct permission both in dotCMS and tomcat to run properly.</p>
<p><strong>Step 4) Start the dotCMS instance</strong></p>
<p>Go into your dotCMS installation directory.. dotCMS/bin/ and run the following to start the installed and cause dotCMS to install the default database scripts.</p>
<pre>sh ./startup.sh</pre>
<p><strong>Step 5) Login and Enjoy</strong>
<p>You&#8217;re all set, now just login to http://localhost/c/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/108/installing-dotcms-1-9-in-the-cloud/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>7 Awesome New Features in dotCMS 1.9</title>
		<link>http://www.ethode.com/102/7-new-features-in-dotcms-1-9</link>
		<comments>http://www.ethode.com/102/7-new-features-in-dotcms-1-9#comments</comments>
		<pubDate>Wed, 23 Jun 2010 11:04:17 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[CMS Products]]></category>
		<category><![CDATA[dotCMS 1.9]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[dotCMS]]></category>
		<category><![CDATA[Form Builder]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[Internationalization]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Multi Language]]></category>
		<category><![CDATA[multi-site]]></category>
		<category><![CDATA[Multi-Site CMS]]></category>
		<category><![CDATA[REST API]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=102</guid>
		<description><![CDATA[DotCMS 1.9 will be a monumental update to the current 1.7 version of the CMS project.  While 1.7 was and still is an outstanding platform, one can easily see why 1.9 will light the CMS world on fire.

I have compile a list of my top 10 favorite dotCMS features in 1.9, enjoy, and feel free to share you're in the comments.]]></description>
			<content:encoded><![CDATA[<p>DotCMS 1.9 will be a monumental update to the current 1.7 version of the CMS project.  While 1.7 was and still is an outstanding platform, one can easily see why 1.9 will light the CMS world on fire.</p>
<p>I have compile a list of my top 10 favorite dotCMS features in 1.9, enjoy, and feel free to share you&#8217;re in the comments.</p>
<p>1) <strong>Brand New UI</strong> &#8211;  This might not seem like a new &#8220;feature&#8221; but trust me it is.  The old UI, was a bit clunky and unfamiliar, however, the new interface is very intuitive and easy to use.  Also, the inline editor makes best use of the power presented with dotCMS, I couldn&#8217;t be happier with the new UI, and I definitely think the designers should get some props!  The new layout uses <a title="DOJO Ajax Toolkit" href="http://www.dojotoolkit.com" target="_blank">Dojo AJAX Toolkit</a> for almost everything.</p>
<p>2)  <strong>Multi-Site/Tenant Management</strong> &#8211; This feature speaks for it&#8217;s self, but until you really see the interface and see the power it&#8217;s hard to see the benefit.  I have attached a small screencast below to show you the power in the multi-site management system.</p>
<p>
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/dy2jQAiMzHk&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dy2jQAiMzHk&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
</p>
<blockquote><p>In the words of dotCMS them selves:<br />
With dotCMS 1.9 multi-tenant capabilities, whole sites can be quickly created, shared and even be copied from existing web properties to help speed your &#8220;time to live&#8221;.  With our new host manager, administrators can provision hosts globally, changing permissions, themes, analytic code, able to make host-wide changes from a single friendly interface.</p></blockquote>
<p>3) <strong>WebServices and JSON API &#8211; </strong>This feature is huge for all of your developers out there who need to built onto dotCMS and make a more robust and custom solution.  This will allow you to access data from the site, manipulate your data and create your own tooling.  Need to create your own iPhone or Android app to interface with a site built on dotCMS 1.9?  If so, this feature is perfect for getting and passing data back and forth.</p>
<p>4) <strong>Internationalization &#8211; </strong>dotCMS 1.9 is now fully nationalized.  The product takes use of best practices and even allows localization of the administration panel.  dotCMS 1.9 will ship with English, Spanish, Romanian and German translations, but more will be coming soon and you can also create your own if need be.</p>
<p>5) <strong>Integrated Form Builder &#8211; </strong>This is another huge feature that frankly I&#8217;m surprised to see in this release.  With the amount of new features slated to be released in the new 1.9 version, it&#8217;s hard to believe that they found the time to integrate a new form builder product.  The Form Builder, does precisely what it sounds like; allows you to create your own forms using a GUI interface in the admin panel and then stores and reports the data back to you, the user.  This is very useful for large data collection projects, or anyone who ever uses forms.. Ever.. For any reason!  I&#8217;ve used Form Builders with previous CMS&#8217; like <a title="Joomla CMS" href="http://www.joomla.org" target="_blank">Joomla</a> but this implementation blows them all away.</p>
<p>6)  <strong>SUDO Logon Power &#8211; </strong> If you&#8217;re hosting multiple websites on this system, and for multiple owners/users this feature is a must.  I&#8217;m excited to get this feature in place, but basically this will allow you, the admin, to login as if you&#8217;re the other user.  You&#8217;ll see what they see, get restricted to what ever they&#8217;re restricted to, and you&#8217;ll really get a good feel for what your client is seeing.  Before, working in such environments you were forced to memorize or collect passwords while you were testing and tinkering around, but fumble with passwords no more, this feature will grow on you.</p>
<p>7) <strong>PHP &#8211; Ruby &#8211; Python &#8211; Groovy Plugin &#8211; </strong>Given the wide range of developers who use dotCMS I&#8217;m inclined to believe that this new plugin will be very popular.  This plugin will allow a developer to create code in <a title="PHP Language Home Page" href="http://www.php.net" target="_blank">PHP</a>, <a title="Ruby Programming Language" href="http://ruby-lang.org" target="_blank">Ruby</a>, <a title="Python Programming Language" href="http://www.python.org" target="_blank">Python</a>, or <a title="Groovy Programming Language" href="http://groovy.codehaus.org" target="_blank">Groovy</a> and integrate it into content.  This works similar to integrating JavaScript into HTML.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/102/7-new-features-in-dotcms-1-9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

