<?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; Java</title>
	<atom:link href="http://www.ethode.com/category/blog/development/java/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>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>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>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>10 Reasons to Choose dotCMS as Your CMS</title>
		<link>http://www.ethode.com/82/10-reasons-to-choose-dotcms</link>
		<comments>http://www.ethode.com/82/10-reasons-to-choose-dotcms#comments</comments>
		<pubDate>Fri, 28 May 2010 13:58:44 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[dotCMS]]></category>
		<category><![CDATA[EC2 CMS]]></category>
		<category><![CDATA[Magnolia]]></category>
		<category><![CDATA[Multi-Site CMS]]></category>
		<category><![CDATA[Multi-Site Hosting]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Velocity]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=82</guid>
		<description><![CDATA[As our business continues to grow we are constantly running in a wall with development of new sites.  Many sites re-use functionality that we've coded in the past and we find that we copy/paste, and re-invent the wheel quite often.  When Holmes-Media was finally changing over to ETHODE, one of our big decisions was to find a CMS platform that could handle multiple sites, and share functionality between sites but keep each site's permissions, content etc separate from other sites/users.]]></description>
			<content:encoded><![CDATA[<p>As our business continues to grow we are constantly running in a wall with development of new sites.  Many sites re-use functionality that we&#8217;ve coded in the past and we find that we copy/paste, and re-invent the wheel quite often.  When Holmes-Media was finally changing over to ETHODE, one of our big decisions was to find a CMS platform that could handle multiple sites, and share functionality between sites but keep each site&#8217;s permissions, content etc separate from other sites/users.</p>
<p>We did a great deal of testing, searching, installing, benchmarking systems and have finally decided to go ahead with <a title="dotCMS Content Management System" href="http://www.dotcms.org" target="_blank">dotCMS</a>.  Thus, I now present our ten reasons for choosing dotCMS.</p>
<ol>
<li>dotCMS is built in Java and is extremely fast as a compiled language compared to scripting languages such as <a title="PHP Home Page" href="http://www.php.net" target="_blank">PHP</a></li>
<li>It allowed us to host multiple sites on one system using CNAMEs to attach domains to hosts/alias&#8217;s.</li>
<li>It had an EXTENSIVE plugin framework which allows us to custom create functionality without having to change the core files.</li>
<li>Front End and Back-end page editing is leaps and bounds ahead of other CMS&#8217;s.  This was no comparison, dotCMS blew away the competition.</li>
<li>It has community and enterprise licensing.  We know for some this won&#8217;t matter, but without presenting a community edition the adoption of this system would be slim.  This is a fantastic way to get started, learn the system, understand it&#8217;s architecture and host some site on it.  If you love the system, and want to invest in your companies future, the next step up is a $4750 license which is a far cry cheaper then $12,000 or $22,000 which you see with systems like <a title="Magnolia CMS" href="http://www.magnolia-cms.com" target="_blank">Magnolia</a>.</li>
<li>Works with, MySQL, Postgres, Oracle, and even MS SQL.  This is outstanding, many CMS&#8217;s still tie you into <a title="MySQL Open Source Database Server" href="http://www.mysql.com" target="_blank">MySQL</a> such as Joomla and won&#8217;t give you the performance you&#8217;re looking for.</li>
<li>Has clustering and high availability architecture in place.  As we ramp up the number of sites we plan on hosting using dotCMS, being able to cluster the software or create a HA setup is crucial.</li>
<li>Exposes an external API for outside integration.</li>
<li>Comes with E-commerce in mind already.  The package already comes with a product manager, reporting and plugins for Authorize.net, PayPal etc.</li>
<li>Outstanding development cycle, updates, team involvement.  The dotCMS team is fantastic.  Having gotten the chance to talk to several of them a number of times, they really love what they do and they love with product.  They are extremely excited about this product and dedicated to seeing it expand it&#8217;s capabilities and squash bugs in a timely manner.  They are helpful, knowledgeable and pleasant. What more can you ask for?</li>
</ol>
<p><span style="color: #ffffff;">UUJYVUC5N3XA</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/82/10-reasons-to-choose-dotcms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MyPraize Moving to the Cloud!</title>
		<link>http://www.ethode.com/45/mypraize-moving-to-the-cloud</link>
		<comments>http://www.ethode.com/45/mypraize-moving-to-the-cloud#comments</comments>
		<pubDate>Sat, 22 May 2010 15:00:26 +0000</pubDate>
		<dc:creator>Joshua</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[MyPraize]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Spring MVC]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Apache Lucene]]></category>
		<category><![CDATA[Apache Solr]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Enterprise DB]]></category>
		<category><![CDATA[GlassFish]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[LiquidWeb]]></category>
		<category><![CDATA[My Praize]]></category>
		<category><![CDATA[Postgres]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[Storm on Demand]]></category>

		<guid isPermaLink="false">http://www.ethode.com/?p=45</guid>
		<description><![CDATA[MyPraize has been hosted on dedicated servers in California for almost 5 years.  We utilize PHP/MySQL on a custom LAMP stack and have since our beginning in the fall of 2005.  We have struggled for sometime to come up with a hosting solution that best suites our needs and is efficient.]]></description>
			<content:encoded><![CDATA[<p><a title="MyPraize - Christian Videos, Music and Social Networking" href="http://www.mypraize.com" target="_blank">MyPraize</a> has been hosted on dedicated servers in California for almost 5 years.  We utilize PHP/MySQL on a custom LAMP stack and have since our beginning in the fall of 2005.  We have struggled for sometime to come up with a hosting solution that best suites our needs and is efficient.</p>
<p>Because of the nature of <a title="MyPraize - Christian Social Network" href="http://www.mypraize.com" target="_blank">Social Networks</a> traffic tends to have huge spikes and then very low bandwidth usage during the night.  Up until a couple years ago this was just a thorn in the side of web developers across the world.  However, with the onslaught of Cloud Hosting companies coming to the forefront of the hosting arena, we have seen a huge problem solved!</p>
<p>Going with a cloud setup allows us to only pay for what we use.  This means we can expand the servers needed when we need, and then scale back when traffic dies down at night.  The move will take sometime but be worth every penny.  This summer we are hoping to release the new site which was built using <a title="Spring Source - Home of the Spring Framework" href="http://www.springsource.org" target="_blank">Spring MVC 3.0</a> and Java to replace our current <a title="PHP Home Page" href="http://www.php.net" target="_blank">PHP</a>/<a title="Joomla CMS Home Page" href="http://www.joomla.org" target="_blank">Joomla</a> setup.  The advantage with Java is that we will be working with a pre-compiled language finally.  Doing away with the many many layers of code caching and &#8220;accelerators&#8221; that have plagued us since 2005.</p>
<p>The new hosting platform will be Linux still (<a title="CentOS Linux Distribution Project" href="http://www.centos.org/" target="_blank">CentOS</a> or <a title="RedHat Linux Home" href="http://www.redhat.org" target="_blank">RedHat</a>) and will utilize <a title="GlassFish v3 Web Server" href="http://java.sun.com/javaee/community/glassfish/" target="_blank">GlassFish v3 web server</a>.  This setup allows us to cluster the site much easier and setup load balancing in a much more seamless solution which can be controlled from the world class GlassFish administration panel.</p>
<p>The site will likely still run on <a title="MySQL OpenSource Database" href="http://www.mysql.org" target="_blank">MySQL</a> for the time being however, we plan a move to <a title="Postgres - Enterprise DB" href="http://www.enterprisedb.com" target="_blank">Postgres</a> (Enterprise DB) to give us better scalability and speed for transactional data.</p>
<p>We will also be installing a new <a title="Apache Solr" href="http://lucene.apache.org/solr/" target="_blank">Apache Solr</a> server which will handle all of our search needs.  Currently we are utilizing full text searches in MySQL, and not only is this slow but severely crippled.  Solr was a project started by CNET for search on their tens of thousands of articles and utilizes <a title="Apache Lucene Project" href="http://lucene.apache.org/java/docs/" target="_blank">Apache Lucene</a> for it&#8217;s searching algorithms.</p>
<p>Have any questions about how or what we&#8217;re doing?  Post a comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ethode.com/45/mypraize-moving-to-the-cloud/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

