<?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>Greg Smart &#187; Business</title>
	<atom:link href="http://www.gregorysmart.com/category/business/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gregorysmart.com</link>
	<description>Web development, modx, css, standards, managed web hosting, business class email solutions.</description>
	<lastBuildDate>Sun, 15 Jan 2012 06:33:59 +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>Proof Viewer with MODx Revo</title>
		<link>http://www.gregorysmart.com/2011/02/27/proof-viewer-with-modx-revo/</link>
		<comments>http://www.gregorysmart.com/2011/02/27/proof-viewer-with-modx-revo/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 21:32:39 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1533</guid>
		<description><![CDATA[We have been experiencing quite a bit of growth at Pleth lately. As we have expand we have been turning to systems like MODx, internally, to meet our workflow needs. The Need Our Creative Director, @steventrotter was looking for a system that would provide members of our development team a means to quickly and easily [...]]]></description>
			<content:encoded><![CDATA[<p>We have been experiencing quite a bit of growth at <a title="Pleth, LLC" rel="external" href="http://www.pleth.com">Pleth</a> lately. As we have expand we have been turning to systems like MODx, internally, to meet our workflow needs.</p>
<h2>The Need</h2>
<p>Our Creative Director, <a title="@steventrotter" rel="external" href="http://twitter.com/#!/steventrotter">@steventrotter</a> was looking for a system that would provide members of our development team a means to quickly and easily upload design proofs as images and then provide clients with easy URL access to preview the proofs in a web-centric manner.</p>
<h2>Admin Side</h2>
<p>What we ultimately decided upon was a template that only displayed the Document Title Field and Resource Alias along with 3 Template Variable (TV) fields, repeated 5 times within a single document. This included an Image Title (Text TV input type),  an Image (Image TV input type) and a Description (Textarea TV input type).</p>
<p>I was able to use the <a title="MODx Form Customization" rel="external" href="http://rtfm.modx.com/display/revolution20/Customizing+the+Manager">MODx Form Customization</a> process to place/hide the appropriate fields/TVs into a single document tab for quick and easy access. Now, a new project proof would require only creating a single, new document, uploading some images and filling in a few fields.</p>
<p><img class="float-right" src="http://www.gregorysmart.com/images/ss-proof-viewer.jpg" alt="Proof Viewer, Admin Side" /></p>
<h2>Front Facing</h2>
<p>Now that I had all of my fields in place I needed to move my attention to the front-end design. The design was to use the Image Title TVs to create a navigation point for from 1 to 5 proofs. We then used <a title="jQuery" rel="external" href="http://jquery.com/">jQuery</a> to fade in each design proof as each navigation point is activated.</p>
<p>To create the navigation I used the <a title="MODx, If Snippet" rel="external" href="http://rtfm.modx.com/display/ADDON/If">If Snippet</a> (see below):</p>
<pre>&lt;span id="nav"&gt;
Currently Displaying: &lt;!-- Title 1 --&gt;&lt;a href="#one" title="[[*title1]]"&gt;[[*title1]]&lt;/a&gt;
&lt;!-- Title 2 --&gt;[[!If? &amp;subject=`[[*title2]]` &amp;operator=`!empty` &amp;then=` | &lt;a href="#two" title="[[*title2]]"&gt;[[*title2]]&lt;/a&gt;`]]
&lt;!-- Title 3 --&gt;[[!If? &amp;subject=`[[*title3]]` &amp;operator=`!empty` &amp;then=` | &lt;a href="#three" title="[[*title3]]"&gt;[[*title3]]&lt;/a&gt;`]]
&lt;!-- Title 4 --&gt;[[!If? &amp;subject=`[[*title4]]` &amp;operator=`!empty` &amp;then=` | &lt;a href="#four" title="[[*title4]]"&gt;[[*title4]]&lt;/a&gt;`]]
&lt;!-- Title 5 --&gt;[[!If? &amp;subject=`[[*title5]]` &amp;operator=`!empty` &amp;then=` | &lt;a href="#five" title="[[*title5]]"&gt;[[*title5]]&lt;/a&gt;`]]
 &lt;/div&gt;</pre>
<p>To create the associated page divs I had to use a combination of the above If Snippet and this <a title="getSize Snippet" rel="external" href="http://www.captaincodemonkey.com/blog/2011/02/23/modx-revo-snippet-to-get-the-size-of-a-tv-image/">getSize Snippet</a> that our programmer, <a title="@captcodemonkey" rel="external" href="http://twitter.com/#!/captcodemonkey">@captcodemonkey</a>, put together. This allows us to retrieve the height or width of any Image TV. With this value it can then be inserted inline (in this case) or into a <a href="http://www.gregorysmart.com/2010/02/11/create-a-dynamic-css-file-in-modx/" title="Create a Dynamic CSS File in MODx">Dynamic CSS document</a>.</p>
<pre>&lt;div id="content_wrapper"&gt;
&lt;!-- Image 1 --&gt;&lt;div id="one" style="z-index:5;height:[[!getSize? &amp;type=`height`&amp;tv=`image1`]]px;background: url([[++site_url]]assets/images/[[*image1]]) top center no-repeat #111;width: 100%;" &gt;&lt;/div&gt;
&lt;!-- Image 2 --&gt;[[!If? &amp;subject=`[[*image2]]` &amp;operator=`!empty` &amp;then=`&lt;div id="two" style="z-index:3;height:[[!getSize? &amp;type=`height`&amp;tv=`image2`]]px;background: url([[++site_url]]assets/images/[[*image2]]) top center no-repeat #111;width: 100%;"&gt;&lt;/div&gt;`]]
&lt;!-- Image 3 --&gt;[[!If? &amp;subject=`[[*image3]]` &amp;operator=`!empty` &amp;then=`&lt;div id="three" style="z-index:3;height:[[!getSize? &amp;type=`height`&amp;tv=`image3`]]px;background: url([[++site_url]]assets/images/[[*image3]]) top center no-repeat #111;width: 100%;"&gt;&lt;/div&gt;`]]
&lt;!-- Image 4 --&gt;[[!If? &amp;subject=`[[*image4]]` &amp;operator=`!empty` &amp;then=`&lt;div id="four" style="z-index:3;height:[[!getSize? &amp;type=`height`&amp;tv=`image4`]]px;background: url([[++site_url]]assets/images/[[*image4]]) top center no-repeat #111;width: 100%;"&gt;&lt;/div&gt;`]]
&lt;!-- Image 5 --&gt;[[!If? &amp;subject=`[[*image5]]` &amp;operator=`!empty` &amp;then=`&lt;div id="five" style="z-index:3;height:[[!getSize? &amp;type=`height`&amp;tv=`image5`]]px;background: url([[++site_url]]assets/images/[[*image5]]) top center no-repeat #111;width: 100%;"&gt;&lt;/div&gt;`]]         
&lt;/div&gt;</pre>
<p>The design also called for a method for displaying a set of design notes with each proof. To create this a jQuery modal was used to display the notes for each proof as the client navigated to it.</p>
<pre>&lt;div id="description_wrapper"&gt;
&lt;!-- Description 1 --&gt;[[!If? &amp;subject=`[[*description1]]` &amp;operator=`!empty` &amp;then=`&lt;div id="one_description"&gt;[[*description1]]&lt;/div&gt;`]]
&lt;!-- Description 2 --&gt;[[!If? &amp;subject=`[[*description2]]` &amp;operator=`!empty` &amp;then=`&lt;div id="two_description"&gt;[[*description2]]&lt;/div&gt;`]]
&lt;!-- Description 3 --&gt;[[!If? &amp;subject=`[[*description3]]` &amp;operator=`!empty` &amp;then=`&lt;div id="three_description"&gt;[[*description3]]&lt;/div&gt;`]]
&lt;!-- Description 4 --&gt;[[!If? &amp;subject=`[[*description4]]` &amp;operator=`!empty` &amp;then=`&lt;div id="four_description"&gt;[[*description4]]&lt;/div&gt;`]]
&lt;!-- Description 5 --&gt;[[!If? &amp;subject=`[[*description5]]` &amp;operator=`!empty` &amp;then=`&lt;div id="five_description"&gt;[[*description5]]&lt;/div&gt;`]]         
&lt;/div&gt;</pre>
<p>This post is a great example of why I am such a fan of MODx. With a couple of hours of development we were able to take a simple design and quickly put together a system that will improve our development process and have an immediate impact on our workflow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2011/02/27/proof-viewer-with-modx-revo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Pigeonhole Yourself</title>
		<link>http://www.gregorysmart.com/2010/09/17/dont-pigeonhole-yourself/</link>
		<comments>http://www.gregorysmart.com/2010/09/17/dont-pigeonhole-yourself/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 14:21:46 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Thinking Out Loud]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1356</guid>
		<description><![CDATA[I have been suffering from a slight case of writer&#8217;s block lately. In terms of learning I am still familiarizing myself with Revo and haven&#8217;t felt confident enough yet to try out any new, large sites on it. Which, usually helps feed my writing for this blog. I did come across a Red Toad Media [...]]]></description>
			<content:encoded><![CDATA[<p>I have been suffering from a slight case of writer&#8217;s block lately. In terms of learning I am still familiarizing myself with Revo and haven&#8217;t felt confident enough yet to try out any new, large sites on it. Which, usually helps feed my writing for this blog.</p>
<p>I did come across a Red Toad Media article worth mentioning yesterday: <a href="http://www.redtoadmedia.com/blog/?p=345" title="The Difference between MODx and WordPress" rel="external">The Difference between MODx and WordPress</a>. This is a well written article and reflects many of the arguments I have found myself making, less eloquently, regarding both WordPress and MODx (yes, I&#8217;m speaking to you <a href="http://www.twitter.com/cottonr" title="Cotton Rohrscheib" rel="external">Cotton</a>).</p>
<p>I know that I tend to write pretty exclusively about using MODx, but as a developer I would encourage anyone just starting out to develop familiarity with many of the CMS/Framework options out there. This includes MODx, WordPress and even Drupal. </p>
<p>This has come into play recently as we have hired a new <a href="http://twitter.com/steventrotter" title="Steven Trotter">Creative Director</a> and a <a href="http://twitter.com/captcodemonkey" title="Craig McCoy">Programmer</a> who are well versed in Drupal. Adding Drupal to our <a href="http://www.pleth.com" title="Pleth">Pleth</a> lineup has been nice in that it allows us an attractive, integrated eCommerce option in <a href="http://www.ubercart.org/" title="Ubercart" rel="external">Ubercart</a>. While there is promising work on the horizon for MODx in terms of eCommerce there isn&#8217;t a comparable solution available today.</p>
<p>By broadening our knowledge base and adding another tool to our repertoire, Pleth has been able to pursue new business opportunities that we might have traditionally shied away from.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/09/17/dont-pigeonhole-yourself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MODxpo and Revolution</title>
		<link>http://www.gregorysmart.com/2010/05/14/modxpo-and-revolution/</link>
		<comments>http://www.gregorysmart.com/2010/05/14/modxpo-and-revolution/#comments</comments>
		<pubDate>Fri, 14 May 2010 13:21:44 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Thinking Out Loud]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1097</guid>
		<description><![CDATA[As I write this post I am sitting at my desk following a trip to Dallas to attend the 1st MODxpo. Going into this trip I was really excited about this opportunity to meet some of the cornerstone members of the MODx community and expand on my MODx knowledge. On the former point I can [...]]]></description>
			<content:encoded><![CDATA[<p><img class="float-right" src="http://www.gregorysmart.com/images/modxpo_2010.jpg" alt="Modxpo, Dallas 2010" />As I write this post I am sitting at my desk following a trip to Dallas to attend the 1st MODxpo. Going into this trip I was really excited about this opportunity to meet some of the cornerstone members of the MODx community and expand on my MODx knowledge.</p>
<p>On the former point I can say I was not disappointed. The venue was good and everyone involved was great. It was nice to put a face on many of the community members that I have been communicating with over recent years. I can honestly say that I had no appreciation for how long and how hard everyone at Collabpad has been working on the MODx project. All in all it was a positive experience.</p>
<p>On the latter point, coupled with an updated perspective on Revolution, my response was a little mixed. I would characterize the conference as being &#8220;programmer-centric&#8221;. The impression I also walked away with was that Revolution, at least in the short-term, is also &#8220;programmer-centric&#8221;. I have stated on many occasions that I am not a programmer, I am a developer. As a developer I tend to be the middleman between the graphic designer and a programmer. MODx is the tool that I use to bridge that particular gap, but for the most part I don&#8217;t write programming code.</p>
<p>I don&#8217;t want my comments here to be interpreted as being negative on the direction of Revolution, rather constructive in that they/we still have a long way to go with this project. I don&#8217;t know that as a non-programmer if I will be able to rapidly deploy Revolution, at least not until more of the commonly used resources are developed. Even after a full release there will still be a lot of community work to be done, on many fronts.</p>
<p>Right now Revolution seems to be squarely focused on meeting the needs of programmers and I realize that this may be a necessary stage in a larger process. After all, who else will develop our snippets, plugins, modules and widgets? I personally feel that if widespread adoption of MODx Revolution is to occur, it will likely be fueled by developers such as myself who tend not to create the tools (code), but who tend to successively deploy them in new and creative ways. I think that is likely one of the reasons why CMS systems like WordPress have enjoyed a broader appeal comparatively. We don&#8217;t want developers to become disenfranchised because MODx is perceived as a programmers tool with an overwhelming learning curve. Just don&#8217;t forget that we are sitting in the audience too. I hope everyone contributing to MODx keeps that in mind as this project moves forward and as more MODxpos are planned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/05/14/modxpo-and-revolution/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Thrash &amp; Whitfield Interview</title>
		<link>http://www.gregorysmart.com/2010/05/03/thrash-whitfield-interview/</link>
		<comments>http://www.gregorysmart.com/2010/05/03/thrash-whitfield-interview/#comments</comments>
		<pubDate>Tue, 04 May 2010 01:57:10 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1077</guid>
		<description><![CDATA[I was really excited to come across this recent interview posted on Patrick Ortman&#8217;s site. With MODxpo coming up next week I thought it was definitely worth posting.]]></description>
			<content:encoded><![CDATA[<p>I was really excited to come across this recent interview posted on <a href="http://blog.patrickortman.com/?s=vlog" title="Partick Ortman's Thrash &amp; Whitfield Interview" rel="external">Patrick Ortman&#8217;s site</a>. With <a href="http://modxpo.modxcms.com/" title="MODxpo" rel="external">MODxpo</a> coming up next week I thought it was definitely worth posting.<br />
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/u6yiktB1wUQ&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/u6yiktB1wUQ&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/05/03/thrash-whitfield-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monit &amp; Server Monitoring</title>
		<link>http://www.gregorysmart.com/2010/04/27/monit-server-monitoring/</link>
		<comments>http://www.gregorysmart.com/2010/04/27/monit-server-monitoring/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 14:00:09 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1062</guid>
		<description><![CDATA[On a day-to-day basis my primary focus is on development, but since Pleth, LLC is a hosting company as well, I have lots of opportunities to be exposed to server management techniques and technologies. One of the more impressive tools we have been working with over the past 7-8 months is Monit. Monit is a [...]]]></description>
			<content:encoded><![CDATA[<p>On a day-to-day basis my primary focus is on development, but since <a href="http://www.pleth.com" title="Pleth, LLC" rel="external">Pleth, LLC</a> is a hosting company as well, I have lots of opportunities to be exposed to server management techniques and technologies. One of the more impressive tools we have been working with over the past 7-8 months is <a href="http://mmonit.com/monit/" title="Monit" rel="external">Monit</a>.</p>
<blockquote><p>
Monit is a free open source utility for managing and monitoring, processes, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations&#8230; Monit can start a process if it does not run, restart a process if it does not respond and stop a process if it uses too much resources. You can use Monit to monitor files, directories and filesystems for changes, such as timestamp changes, checksum changes or size changes. You can also monitor remote hosts; Monit can ping a remote host and can check TCP/IP port connections and server protocols. Monit is controlled via an easy to use control file based on a free-format, token-oriented syntax. Monit logs to syslog or to its own log file and notifies you about error conditions and recovery status via customizable alert.
</p></blockquote>
<p>Matt &#8220;Critch&#8221; Critcher&#8217;s post, <a href="http://www.mcritch.com/content/unix_system_monitoring" title="Matt Critcher" rel="external">UNIX System Monitoring</a>, from last September was written as we were just becoming familiar with Monit and had installed it on one of our more lightly trafficked servers for a testing phase.</p>
<p>Well, after more than a half of year of use I can say that we have been pleased enough with Monit that we have decided to install it in all of our shared environments. As Critch related, Monit is lightweight and uncomplicated to use. It simply runs in the background as a daemon. If server monitoring and management is on your plate, I would definitely recommend taking a look at it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/04/27/monit-server-monitoring/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>MODx Calendar Integration</title>
		<link>http://www.gregorysmart.com/2010/04/08/modx-calendar-integration/</link>
		<comments>http://www.gregorysmart.com/2010/04/08/modx-calendar-integration/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 19:18:09 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=1008</guid>
		<description><![CDATA[One of the most common requests I hear from MODx developers is an integrated calendar solution. There are a few good options, including one I spoke about in A MODx Calendar &#38; Pilot Group recently (MXCalendar). While this project has definite promise, since it is a completely integrated MODx solution, I am still a little [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most common requests I hear from MODx developers is an integrated calendar solution. There are a few good options, including one I spoke about in <a title="A MODx Calendar &amp; Pilot Group" rel="external" href="http://www.gregorysmart.com/2010/03/19/a-modx-calendar-pilot-group/">A MODx Calendar &amp; Pilot Group</a> recently (MXCalendar). While this project has definite promise, since it is a completely integrated MODx solution, I am still a little hesitant to whole heartedly adopt a solution that doesn&#8217;t meet the majority of my criteria for a commercial client calendar.</p>
<h2>My Criteria</h2>
<ol>
<li>The calendar must be easy to integrate into the site design.</li>
<li>The calendar solution must allow for intuitive updating, by the end user, of dates/events.</li>
<li>The calendar administration area must be accessible seamlessly from the MODx admin area.</li>
</ol>
<p>It is the 2nd point that I almost always get stuck on. Based on my experience, end users understand and can function in a calendar best when they update from a graphical, month view. Documents and lists simply do not work for them. They need to see a &#8220;calendar&#8221;.</p>
<h2>Easy PHP Calendar</h2>
<p>Take a look at <a title="Easy PHP Calendar" rel="external" href="http://www.easyphpcalendar.com">Easy PHP Calendar</a>. Please understand that my experience with this solution constitutes 1 ongoing project, but my experiences so far have been so good enough that I felt the need to share them.</p>
<p>First of all, this is a licensed product and costs $19.95 per domain. There are additional options available (which I purchased) which brought the total cost to $49.90. In my opinion it is well worth it, especially given that the site seems to have a well attended support forum.</p>
<h2>Integration into Site Design</h2>
<p>The calendar has a great set of <a title="supporting documents" rel="external" href="http://docs.easyphpcalendar.com/">supporting documents</a> that will walk you through the installation and site integration.</p>
<p>What it boils down to is that you can install the calendar in a directory (let&#8217;s say /calendar/) and then using 3 separate includes (you will find these in the supporting documents) you can call the calendar directly onto the page. I placed these includes in 3 separate snippet calls on my Calendar page. </p>
<p><strong>That pretty much takes care of criteria #1</strong>.</p>
<h2>Intuitive Updating</h2>
<p>The calendar updating is done from the events (/calendar/events/) directory and these tasks are performed from a graphical, calendar view with some slick AJAX sprinkled in for usability. It&#8217;s as straight forward to update as any calendar solution I have seen.</p>
<p><strong>That pretty much takes care of criteria #2</strong>.</p>
<h2>Calendar Administration inside of MODx</h2>
<p>Now, it gets interesting (thank you <strong>@swscripts</strong>!). The calendar allows you to <a title="bypass the login screen" rel="external" href="https://www.easyphpcalendar.com/support/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=31&amp;nav=0,6">bypass the calendar login screen</a> by placing the appropriate Username and Password in the URL. I will again refer to the supporting documentation for setting up a user account within the calendar.</p>
<p>I also came across this <a title="MODx forum post by goldsky" rel="external" href="http://modxcms.com/forums/index.php?topic=42971.0">MODx forum post by goldsky</a> which outlines how to embed another script login inside of the MODx admin.</p>
<p>So, following the instructions above, a &#8220;Calendar Events&#8221; module was created using the following line of code:</p>
<pre>header("Location: ". $modx-&gt;config['site_url'] . "calendar/events/index.php?name=yourusermane&amp;pwd=yourpassword");</pre>
<p>Now, with the module created, all my end users have to do is login to the MODx admin, click on the module and they are editing calendar events. The events manager is less than 700px wide, so it fits great inside of the frames of the MODx admin. All I had to do was change a couple of CSS attributes and edit a couple of images and the calendar admin looked completely integrated into the MODx admin area. </p>
<p><strong>That pretty much takes care of criteria #3</strong></p>
<p>One of my favorite aspects of this approach is that the end user is ultimately relying on MODx for authentication and MODx allows you to use the permissions system to control user access to modules as well. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/04/08/modx-calendar-integration/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>MODX (at) Bindings, @EVAL</title>
		<link>http://www.gregorysmart.com/2010/03/26/modx-at-bindings-eval/</link>
		<comments>http://www.gregorysmart.com/2010/03/26/modx-at-bindings-eval/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 15:18:48 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[CMS]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=981</guid>
		<description><![CDATA[I have had a couple of requests lately for posts related to the uses of MODx Bindings. All of my references here are for MODx Evolution. If you are looking for resources on the topic I would suggest starting with these links: Susan Ottwell&#8217;s Using TV Bindings MODx Evolution 1.0 (at) Binding Personally, I have [...]]]></description>
			<content:encoded><![CDATA[<p><img class="float-right" src="http://www.gregorysmart.com/images/modx_snippet.jpg" alt="Modx" />I have had a couple of requests lately for posts related to the uses of <a title="MODx Bindings" rel="external" href="http://svn.modxcms.com/docs/display/MODx096/What+are+(at)+Bindings">MODx Bindings</a>. All of my references here are for MODx Evolution. If you are looking for resources on the topic I would suggest starting with  these links:</p>
<ul>
<li><a title="Susan Ottwell's Using TV Bindings" rel="external" href="http://www.sottwell.com/tv-bindings.html">Susan Ottwell&#8217;s <em>Using TV Bindings</em></a></li>
<li><a title="MODx Evolution 1.0 (at) Binding" rel="external" href="http://svn.modxcms.com/docs/display/Evo1/(at)+Binding">MODx Evolution 1.0 <em>(at) Binding</em></a></li>
</ul>
<p>Personally, I have not used <strong>(at) Bindings</strong> extensively in my developments thus far. I do believe that they can be a powerful tool with your MODx projects. What I am planning on doing is creating a series of posts on each of the five types of data source bindings available to all template variables:</p>
<ul>
<li>@FILE <em>file_path</em></li>
<li>@DOCUMENT <em>document_id</em></li>
<li>@CHUNK <em>chunk_name</em></li>
<li>@SELECT <em>sql_query</em></li>
<li>@EVAL <em>php_code</em></li>
<li>@DIRECTORY _path_to_folder</li>
</ul>
<p>While I always try and focus on techniques and practical implications, please understand that these posts may be as representative of research on my part as actual experience (Interpretation-&gt;Please understand if I get it wrong). I will start with <strong>@EVAL</strong>.</p>
<h2>@EVAL</h2>
<p>@EVAL allows you to execute php code within a <strong>Template Variable (TV)</strong>.  The example given on the SVN:</p>
<pre>@EVAL return "The time stamp is now ".time();</pre>
<p>While this use is pretty straightforward where I have found I use this particular binding is to execute snippets from inside of TVs. If you have followed some of my earlier posts on creating directories I have used directory tree containers to serve as categories that can be selected via a TV. It is through the use of the @EVAL binding that this comes to fruition.</p>
<p>The Quill (with this example you could also use a Ditto call) call below was placed in a TV with an input type of <strong>Listbox (Single-Select)</strong>.</p>
<pre>@EVAL return $modx-&gt;runSnippet('Quill',array('parent'=&gt;'personnel-directory','depth'=&gt;'0'));</pre>
<p>What this allowed me to do was to run my Quill snippet call from within my TV. My end user could then choose one of the &#8220;Categories&#8221; from the Listbox TV when the document was edited. If a new &#8220;Category&#8221; (document) was then added by the user it would be reflected as a new, additional choice within same TV. The @EVAL provides me with what I need to create a truly dynamic TV.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/03/26/modx-at-bindings-eval/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Responsibility &amp; Customer Service</title>
		<link>http://www.gregorysmart.com/2010/02/19/responsibility-customer-service/</link>
		<comments>http://www.gregorysmart.com/2010/02/19/responsibility-customer-service/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 17:00:55 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Thinking Out Loud]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=859</guid>
		<description><![CDATA[I have been a little torn this week as to the topic of my post. I have been looking over a couple of snippets that are new to me, but am really wanting to tell a story about responsibility and customer service. For the sake of keeping this a positive post I will resist the [...]]]></description>
			<content:encoded><![CDATA[<p>I have been a little torn this week as to the topic of my post. I have been looking over a couple of snippets that are new to me, but am really wanting to tell a story about <strong>responsibility</strong> and <strong>customer service</strong>.</p>
<p>For the sake of keeping this a positive post I will resist the urge to rant about the customer service I have received from <a href="http://www.goodmanmfg.com/" title="Goodman Air Conditioning and Heating" rel="external">Goodman Air Conditioning and Heating</a> company.</p>
<h2>The Background</h2>
<p>Almost 2 years ago, in August, I purchased one of Goodman&#8217;s units through a local vendor (a one man show), had it installed, loved the unit and life was great. A few months later as the transition into winter began I realized that the heating portion of the unit didn&#8217;t function appropriately. So, we made the call to the vendor and received a service call to no avail. Well, the problems persisted and the service calls continued throughout the winter.</p>
<p>As spring time came around I found out that my local vendor was having health problems and was going to have to retire. He did the &#8220;right thing&#8221; and handed me off to the company above him in the distribution chain. </p>
<p>Well as you can probably guess, this new scenario didn&#8217;t work out very well and following a single, unsuccessful service call the owner of the new company told me he was &#8220;washing his hands&#8221; of the whole thing. He related that he was not going to lose any more money on me. I found this really odd since he had promised me he would stay with me until the situation was resolved, I was the one with the cold house, I was out about $3000 and was facing having to completely replace the defective unit out of my own pocket.</p>
<p>As my second winter with the unit began to roll around I started calling the manufacturer directly. To say this was an exercise in futility would be an understatement.</p>
<h4>The Point</h4>
<p>A by-product of my dozens of phone calls with the manufacturer was that they inadvertently called my original, local vendor who was unaware that the situation was ongoing and that I had essentially been hung out to dry.</p>
<p>This is the same man who had, 2 years earlier, sold and installed the unit into my house. In the mean time he had experienced serious health issues, sold his company and had retired. He had taken care of his responsibilities and handed me off to a company that should have taken care of my situation and here <em>he</em> was standing in my doorway. Not only has he now taken up my cause with the manufacturer, but he has purchased replacement parts on my behalf and has installed those parts on his own time. I am now confident that this will be resolved since recently learning that this problem is a &#8220;known issue&#8221;. A new computer board is en route.</p>
<p>For the sake of winding down a long post I just want to relate how grateful I am that someone stepped up and took responsibility for this situation (thank you Billy Trivitt). </p>
<p>In business, the value of good customer service cannot be underestimated. I often think people in technology struggle with customer service and treat it as if it were something elusive and puzzling. From where I sit it&#8217;s not, it&#8217;s often a matter of doing right by your customers and staying with them until they are satisfied. I know it&#8217;s not always easy, but I can tell you that from my experience it&#8217;s what your customers expect. And honestly, isn&#8217;t it what they deserve?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2010/02/19/responsibility-customer-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Survey</title>
		<link>http://www.gregorysmart.com/2009/12/18/the-survey/</link>
		<comments>http://www.gregorysmart.com/2009/12/18/the-survey/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 15:29:14 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=746</guid>
		<description><![CDATA[I just took the List Apart, 2009 survey. In previous years they have returned/shared really good information from this survey: Whether you call yourself a user experience consultant, web developer, or content strategist; whether you design customer flows, buttons, or brands; no matter what title you hold as a full- or part-time web professional, your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alistapart.com/articles/survey2009" rel="external" title="List Apart, 2009 survey"><img class="float-right" src="http://www.gregorysmart.com/images/i-took-the-2009-survey.gif" border="0" alt="List Apart, 2009 survey" /></a>I just took the <a href="http://www.alistapart.com/articles/survey2009" rel="external" title="List Apart, 2009 survey">List Apart, 2009 survey</a>. In previous years they have returned/shared really good information from this survey:</p>
<blockquote><p>
Whether you call yourself a user experience consultant, web developer, or content strategist; whether you design customer flows, buttons, or brands; no matter what title you hold as a full- or part-time web professional, your work shapes our future and ought to command the world’s respect. But we won&#8217;t win that respect without understanding, and we can&#8217;t hope for understanding without data and the knowledge it reluctantly yields to the patient hand and steady eye.
</p></blockquote>
<p>So, if you are a web professional go take the <a href="http://www.alistapart.com/articles/survey2009" rel="external" title="List Apart, 2009 survey">survey</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2009/12/18/the-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gaining Perspective on Social Media</title>
		<link>http://www.gregorysmart.com/2009/10/29/gaining-perspective-on-social-media/</link>
		<comments>http://www.gregorysmart.com/2009/10/29/gaining-perspective-on-social-media/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 15:00:13 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Thinking Out Loud]]></category>

		<guid isPermaLink="false">http://www.gregorysmart.com/?p=690</guid>
		<description><![CDATA[I have always felt that while fraught with potential, the breadth of opportunities that may be created through the use social media have been greatly overstated for most businesses. So when I heard this Roy H. Williams audio, Social Media: Myth or Miracle?, I just had to post it.]]></description>
			<content:encoded><![CDATA[<p>I have always felt that while fraught with potential, the breadth of opportunities that may be created through the use social media have been greatly overstated for most businesses. So when I heard this Roy H. Williams audio, <a href="http://www.mondaymorningmemo.com/?ShowMe=Latest" title="Roy H. Williams">Social Media: Myth or Miracle?</a>, I just had to post it.<br />
<object type="application/x-shockwave-flash" data="http://flash-mp3-player.net/medias/player_mp3.swf" width="200" height="20"><param name="movie" value="http://flash-mp3-player.net/medias/player_mp3.swf" /><param name="bgcolor" value="#ffffff" /><param name="FlashVars" value="mp3=http%3A//memos.mondaymorningmemo.com/MMM091026-SocialMedia.mp3" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gregorysmart.com/2009/10/29/gaining-perspective-on-social-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

