<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jack McIntyre » Online</title>
	
	<link>http://www.jackmcintyre.net</link>
	<description />
	<lastBuildDate>Sun, 18 Oct 2009 10:07:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/JackMcintyreOnline" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Wordpress Plugins: my ‘must have’ list</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/eS1ZNAMDHTA/</link>
		<comments>http://www.jackmcintyre.net/2009/07/08/wordpress-plugins-my-must-have-list/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:44:37 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=361</guid>
		<description><![CDATA[There are a number of plugins for Wordpress that will improve the quality and feature set of any site you want to build. This list includes my &#8216;must have&#8217; plugins. They get included in every site I build using Wordpress.
Flutter
I only found Flutter recently, and it is one of the best improvements to Wordpress I [...]]]></description>
			<content:encoded><![CDATA[<p>There are a number of <a href="http://www.jackmcintyre.net/tag/plugin">plugin</a>s for Wordpress that will improve the quality and feature set of any site you want to build. This list includes my &#8216;must have&#8217; plugins. They get included in every site I build using Wordpress.</p>
<p><a href="http://wordpress.org/extend/plugins/fresh-page/" target="_blank">Flutter</a></p>
<p>I only found Flutter recently, and it is one of the best improvements to Wordpress I have ever seen. This is the one to use if you want to completely transform <a href="http://www.jackmcintyre.net/tag/wordpress">wordpress</a> from a blogging tool to a proper CMS. It allows you to create custom content types with additional fields, image uploads, and more. It allows you to give a far better interface for managing custom fields. It seems to have a few bugs still, and the documentation is horrendous, but if you can figure it out and get it working, it is amazing.</p>
<p><a href="http://wordpress.org/extend/plugins/redirection/" target="_blank">Redirection</a></p>
<p>Very useful if you are migrating from an old site to Wordpress. As the name suggests, it redirects old URLs to new ones. It also tracks 404s. My normal process when re-launching a site on Wordpress is to map as many URLs as I can, then subscribe to the 404 error log by RSS. If I see pages getting a lot of 404s, I add additional redirects to redirect this traffic.</p>
<p><a href="http://wordpress.org/extend/plugins/plugin-central/" target="_blank">Plugin Central</a></p>
<p>Lets you install plugins easily from within Wordpress. This functionality is becoming available in native Wordpress installs, however this one is still useful if you know exactly what you want. This is what I use to install all my other plugins. I can paste my entire list (below) into plugin central, and they are all installed at once. A good time saver. I usually remove or deactivate it once everything is set up.</p>
<blockquote><p>All in one SEO pack<br />
Google Analyticator<br />
Google XML Sitemaps<br />
Login LockDown<br />
Redirection<br />
Stealth Login<br />
Tracked RSS<br />
Tracked Tweets<br />
Wordpress Automatic Upgrade<br />
WP Security Scan<br />
pageMash<br />
Flutter<br />
WP-Devel<br />
Capability Manager</p></blockquote>
<p><a href="http://wordpress.org/extend/plugins/wordpress-automatic-upgrade/" target="_blank">Wordpress Automatic Upgrade</a></p>
<p>This has started being phased out by native functionality, but is still useful for the backups and other functionality (maintainence mode, deactivating plugins, etc) it provides. A good timesaver when you have a number of installs to upgrade.</p>
<p><a href="http://wordpress.org/extend/plugins/pagemash/" target="_blank">Pagemash</a></p>
<p>Gives an excellent interface for setting page orders and parent/child relationships. Setting page orders in Wordpress (particularly in a long list of pages) is almost impossible with the native Wordpress functionality.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-devel/" target="_blank">WP-Devel</a></p>
<p>This plugin adds a toolbar for logged-in users that gives a lot of information about the page you are viewing. Very useful for checking post metadata and wordpress queries while developing the site.</p>
<p><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/" target="_blank">All in One SEO pack</a></p>
<p>Plenty has been written about this one, I don&#8217;t think I have done a build without it. I generally don&#8217;t touch it too much, just set and forget.</p>
<p><a href="http://wordpress.org/extend/plugins/google-analyticator/" target="_blank">Google Analyticator</a></p>
<p>One of the big Google Analytics plugins for Wordpress. This one seems to work, and is updated frequently. It also adds some advanced functionality like outbound click tracking.</p>
<p><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" target="_blank">Google XML Sitemaps</a></p>
<p>This one helps you get indexed and improve search rankings by telling Google exactly what to do with your site.</p>
<p><a href="http://wordpress.org/extend/plugins/login-lockdown/" target="_blank">Login Lockdown</a></p>
<p>A security plugin that locks people out if they try to access your site more than 3 times with the wrong password.</p>
<p><a href="http://wordpress.org/extend/plugins/stealth-login/" target="_blank">Stealth Login</a></p>
<p>I use this to move the default login page from yoururl.com/wp-admin to a custom location. This adds an additional hurdle for unauthorised people who want to gain access to your site.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-security-scan/" target="_blank">WP Security Scan</a></p>
<p>Another security plugin that tells you all the insecure things about your install, and provides some tools to fix them.</p>
<p>I hope this list is useful for you. The <a href="http://wordpress.org/extend/plugins/" target="_blank">Wordpress Plugin Directory</a> is constantly being expanded by thousands of Wordpress developers (<a href="http://wordpress.org/extend/plugins/profile/jmcintyre" target="_blank">myself</a> included!), which means that I am constantly trying new plugins. Most of the plugins in this list have been around for a while though, and should be useful in the forseeable future. Have a look at <a href="http://www.jackmcintyre.net/projects/">my own plugins</a> if you are interested in tracking Twitter/RSS traffic using Google Analytics.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/eS1ZNAMDHTA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/07/08/wordpress-plugins-my-must-have-list/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/07/08/wordpress-plugins-my-must-have-list/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wordpress-plugins-my-must-have-list</feedburner:origLink></item>
		<item>
		<title>New version of Tracked Tweets and Tracked RSS</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/3fwcP8w5M4M/</link>
		<comments>http://www.jackmcintyre.net/2009/05/25/new-version-of-tracked-tweets-and-tracked-rss/#comments</comments>
		<pubDate>Mon, 25 May 2009 03:00:57 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tracked RSS]]></category>
		<category><![CDATA[Tracked Tweets]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=346</guid>
		<description><![CDATA[I just released a small update to the code that sets the campaign name in Tracked RSS and Tracked Tweets. The updated code comes from Chris, and uses Wordpress code, rather than my own. It should solve the issue experienced by some users where the campaign name was not being set.
Let me know if you [...]]]></description>
			<content:encoded><![CDATA[<p>I just released a small update to the code that sets the campaign name in <a href="/projects/tracked-rss/">Tracked RSS</a> and <a href="/projects/tracked-tweets/">Tracked Tweets</a>. The updated code comes from <a href="http://www.dot-chris.com/" target="_blank">Chris</a>, and uses Wordpress code, rather than my own. It should solve the issue experienced by some users where the campaign name was not being set.</p>
<p>Let me know if you are experiencing any other issues, or want any new features.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/3fwcP8w5M4M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/05/25/new-version-of-tracked-tweets-and-tracked-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/05/25/new-version-of-tracked-tweets-and-tracked-rss/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-version-of-tracked-tweets-and-tracked-rss</feedburner:origLink></item>
		<item>
		<title>Tracked Tweets v 0.2.5 released – new features and bug fixes</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/bf2Fc78HX-s/</link>
		<comments>http://www.jackmcintyre.net/2009/05/08/tracked-tweets-v-025-released-new-features-and-bug-fixes/#comments</comments>
		<pubDate>Fri, 08 May 2009 07:20:56 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tracked Tweets]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=326</guid>
		<description><![CDATA[I have added a number of updates to Tracked Tweets:

Default &#8220;Tweet this&#8221; setting &#8211; you can now define this on a global level, then override it on a per-post level
If tweet is too long, characters are stripped off the title (in the tweet) until it is short enough to be tweeted (thanks Lionel)
If post is [...]]]></description>
			<content:encoded><![CDATA[<p>I have added a number of updates to <a href="http://www.jackmcintyre.net/tag/tracked-tweets">Tracked Tweets</a>:</p>
<ul>
<li>Default &#8220;Tweet this&#8221; setting &#8211; you can now define this on a global level, then override it on a per-post level</li>
<li>If tweet is too long, characters are stripped off the title (in the tweet) until it is short enough to be tweeted (thanks <a href="http://blog.websourcing.fr" target="_blank">Lionel</a>)</li>
<li>If post is saved as a draft, then published, tweet is now sent (this did not work previously) &#8211; thanks Michael</li>
</ul>
<p>Development has been a bit slow on this, due to both a lack of time, and confusion in learning PHP <img src='http://www.jackmcintyre.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://trackedtweets.uservoice.com/pages/16200-general" target="_blank">Let me know</a> if you have any feedback. Download from <a href="http://wordpress.org/extend/plugins/tracked-tweets/" target="_blank">Wordpress Plugin Directory</a>.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/bf2Fc78HX-s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/05/08/tracked-tweets-v-025-released-new-features-and-bug-fixes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/05/08/tracked-tweets-v-025-released-new-features-and-bug-fixes/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=tracked-tweets-v-025-released-new-features-and-bug-fixes</feedburner:origLink></item>
		<item>
		<title>When wp_list_pages() can’t do it…</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/A2L4m4uXeCo/</link>
		<comments>http://www.jackmcintyre.net/2009/05/07/when-wp_list_pages-cant-do-it/#comments</comments>
		<pubDate>Wed, 06 May 2009 14:31:19 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=321</guid>
		<description><![CDATA[I just fixed up my projects page to use a custom template rather than free text editing. To do this, I wanted to use wp_list_pages(), however this does not give you the ability to easily add text inside the &#60;li&#62;, but outside the &#60;a&#62;.
My solution was to use get_posts(), and a custom loop instead. The [...]]]></description>
			<content:encoded><![CDATA[<p>I just fixed up my <a href="http://www.jackmcintyre.net/projects/">projects</a> page to use a custom template rather than free text editing. To do this, I wanted to use wp_list_pages(), however this does not give you the ability to easily add text inside the &lt;li&gt;, but outside the &lt;a&gt;.</p>
<p>My solution was to use get_posts(), and a custom loop instead. The code below is the main customisation in my new &#8220;List Child Pages&#8221; template.</p>
<pre class="brush: php">
&lt;?php
	global $post;
	$myposts = get_posts(&#039;post_parent=&#039;.$post-&gt;ID.&#039;&amp;orderby=menu_order&amp;post_type=page&#039;);
	foreach($myposts as $post) : ?&gt;
	&lt;li&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;: &lt;?php echo get_post_meta($post-&gt;ID, descript, true) ?&gt;&lt;/li&gt;
	&lt;?php endforeach; ?&gt;
</pre>
<p>In this example, get_posts() is returning all posts (or confusingly, pages) that have a post parent of the current page (ie they are sub pages), ordered by the wordpress menu order, and of type &#8220;page&#8221;, as opposed to post. You can get your own attributes from the <a target="_blank" href="http://codex.wordpress.org/Template_Tags/get_posts">codex page</a>.</p>
<p>Once get_posts() is set up, each post is echoed in a list. This is where the custom field gets added, using <a target="_blank" href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta()</a>.</p>
<p>This solution is far simpler and neater then any method I saw of modifying wp_list_pages() to include a custom field. I don&#8217;t have much experience with custom loops, but I can&#8217;t see why there would be too many restrictions on where they can be used.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/A2L4m4uXeCo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/05/07/when-wp_list_pages-cant-do-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/05/07/when-wp_list_pages-cant-do-it/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=when-wp_list_pages-cant-do-it</feedburner:origLink></item>
		<item>
		<title>New Wordpress Plugin: Tracked RSS</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/ND3R0rQ9oyk/</link>
		<comments>http://www.jackmcintyre.net/2009/04/29/new-wordpress-plugin-tracked-rss/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 00:01:09 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tracked RSS]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=302</guid>
		<description><![CDATA[I just released a new plugin for Wordpress &#8211; Tracked RSS.
This plugin lets you track clicks from RSS items in Google Analytics, in a similar way to Tracked Tweets. It is a simple set and forget install, and should give you some extra insights on traffic sources for your website.
Download from the Wordpress Plugin repository.
]]></description>
			<content:encoded><![CDATA[<p>I just released a new plugin for Wordpress &#8211; <a href="http://www.jackmcintyre.net/projects/tracked-rss/" target="_blank">Tracked RSS</a>.</p>
<p>This plugin lets you track clicks from RSS items in Google Analytics, in a similar way to <a href="http://www.jackmcintyre.net/projects/tracked-tweets/">Tracked Tweets</a>. It is a simple set and forget install, and should give you some extra insights on traffic sources for your website.</p>
<p><a href="http://wordpress.org/extend/plugins/tracked-rss/" target="_blank">Download</a> from the Wordpress Plugin repository.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/ND3R0rQ9oyk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/04/29/new-wordpress-plugin-tracked-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/04/29/new-wordpress-plugin-tracked-rss/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-wordpress-plugin-tracked-rss</feedburner:origLink></item>
		<item>
		<title>My First Wordpress Plugin: Tracked Tweets</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/Ae6rwCh6SmQ/</link>
		<comments>http://www.jackmcintyre.net/2009/04/03/my-first-wordpress-plugin-tracked-tweets/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 03:28:46 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Tracked Tweets]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=248</guid>
		<description><![CDATA[I&#8217;ve been spending some time making a wordpress plugin that tweets when you make a wordpress post. I think it has a few new features that other plugins do not.
The key feature is automated insertion of Google Analytics tracking codes into the post link. The source and medium are able to be defined, the campaign [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending some time making a wordpress <a href="http://www.jackmcintyre.net/tag/plugin">plugin</a> that tweets when you make a <a href="http://www.jackmcintyre.net/tag/wordpress">wordpress</a> post. I think it has a few new features that other plugins do not.</p>
<p>The key feature is automated insertion of Google Analytics tracking codes into the post link. The source and medium are able to be defined, the campaign is set as the title of the post.</p>
<p>In the future I plan to add an option to insert hashtags on a per tweet basis.</p>
<p>Early testing version is available <a href="http://downloads.wordpress.org/plugin/tracked-tweets.zip" target="_blank">here</a>, let me know what you think. I am waiting for approval into the plugins directory.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/Ae6rwCh6SmQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/04/03/my-first-wordpress-plugin-tracked-tweets/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/04/03/my-first-wordpress-plugin-tracked-tweets/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-first-wordpress-plugin-tracked-tweets</feedburner:origLink></item>
		<item>
		<title>How to add macros to the Excel 2007 Ribbon</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/A3xatQHIAIg/</link>
		<comments>http://www.jackmcintyre.net/2009/04/02/how-to-add-macros-to-the-excel-2007-ribbon/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 11:20:02 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[salesforce.com]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=233</guid>
		<description><![CDATA[As much as I dislike using Microsoft products, sometimes, you have no choice. In our work with salesforce.com, the Excel Connector is a huge time saver. We use it for a number of things, and it is far superior to the data import functionality of salesforce.com.
In the upgrade from Office 03 to Office 07, custom [...]]]></description>
			<content:encoded><![CDATA[<p>As much as I dislike using Microsoft products, sometimes, you have no choice. In our <a href="http://www.jackmcintyre.net/tag/work">work</a> with <a href="http://www.jackmcintyre.net/tag/salesforcecom">salesforce.com</a>, the Excel Connector is a huge time saver. We use it for a number of things, and it is far superior to the data import functionality of salesforce.com.</p>
<p>In the upgrade from Office 03 to Office 07, custom toolbars were lost. I spent quite a while looking for the &#8216;custom ribbon&#8217; in Excel 07 &#8211; it does not exist. Here is what you need to do to build a tab in the ribbon, add buttons for your macros, and embed both the customisations and the macros in an add-in (for deployment). I still have a few little changes to make, but everything is working with it set up like this.</p>
<ol>
<li>Create a new workbook in Excel</li>
<li>If you do not already have your macros recorded, do that. If you do have them recorded, go into VB mode and copy the module(s) into your new blank workbook. Save the workbook as &lt;add-in name&gt;.xlam</li>
<li> Download and install the <a href="http://openxmldeveloper.org/articles/CustomUIeditor.aspx" target="_blank">Custom UI Editor Tool</a></li>
<li>Start the custom UI Editor, and open your .xlam file. Now you can start customising the appearance of the ribbon. My code looks like this at the moment:</li>
<pre class="brush: xml">
&lt;customUI xmlns=&quot;http://schemas.microsoft.com/office/2006/01/customui&quot;&gt;
&lt;ribbon startFromScratch=&quot;false&quot;&gt;
&lt;tabs&gt;
&lt;tab id=&quot;BienaltoCustomTab&quot; label=&quot;Bienalto&quot;&gt;
&lt;group id=&quot;BienaltoSDDCFormulae&quot; label=&quot;SFDC Formulae&quot;&gt;
&lt;box id=&quot;Formulaebox1&quot; boxStyle=&quot;vertical&quot;&gt;
&lt;button id=&quot;Button6&quot; size=&quot;normal&quot; label=&quot;CampaignMember&quot; onAction=&quot;AssignCampaignMembercallback&quot; /&gt;
&lt;button id=&quot;Button7&quot; size=&quot;normal&quot; label=&quot;Lookup Email&quot; onAction=&quot;sfemailcallback&quot; /&gt;
&lt;button id=&quot;Button8&quot; size=&quot;normal&quot; label=&quot;Lookup Account&quot; onAction=&quot;sfaccountcallback&quot; /&gt;
&lt;/box&gt;
&lt;separator id=&quot;FormulaeSeparator1&quot;/&gt;
&lt;box id=&quot;Formulaebox2&quot; boxStyle=&quot;vertical&quot;&gt;
&lt;button id=&quot;Button9&quot; size=&quot;normal&quot; label=&quot;Lookup Firstname Lastname&quot; onAction=&quot;FirstLastcallback&quot; /&gt;
&lt;/box&gt;
&lt;/group&gt;
&lt;group id=&quot;BienaltoTables&quot; label=&quot;SFDC Tables&quot;&gt;
&lt;button id=&quot;Button1&quot; size=&quot;normal&quot; label=&quot;Contact&quot; onAction=&quot;ContactTablecallback&quot; /&gt;
&lt;button id=&quot;Button2&quot; size=&quot;normal&quot; label=&quot;CampaignMember&quot; onAction=&quot;CampaignMemberTablecallback&quot; /&gt;
&lt;/group&gt;
&lt;group id=&quot;BienaltoCase&quot; label=&quot;Change Case&quot;&gt;
&lt;button id=&quot;Button3&quot; size=&quot;normal&quot; label=&quot;UPPER CASE&quot; onAction=&quot;UpperCasecallback&quot; /&gt;
&lt;button id=&quot;Button4&quot; size=&quot;normal&quot; label=&quot;lower case&quot; onAction=&quot;LowerCasecallback&quot; /&gt;
&lt;button id=&quot;Button5&quot; size=&quot;normal&quot; label=&quot;Title Case&quot; onAction=&quot;TitleCasecallback&quot; /&gt;
&lt;/group&gt;
&lt;/tab&gt;
&lt;/tabs&gt;
&lt;/ribbon&gt;
&lt;/customUI&gt;
</pre>
<li>Once you have edited the xml for your ribbon customisations, save and exit the Custom UI Editor Tool, and start <a href="http://www.jackmcintyre.net/tag/excel">excel</a>. Next, activate your add-in. That code should get you something that looks like this:</li>
<p><a href="http://www.jackmcintyre.net/wp-content/uploads/2009/04/screenshot-1.png"><img class="aligncenter size-full wp-image-241" title="Custom Ribbon" src="http://www.jackmcintyre.net/wp-content/uploads/2009/04/screenshot-1.png" alt="Custom Ribbon" width="500" /></a></p>
<li>Here is an example of how each of my macros is coded. Note the main macro, and the smaller one above that references it:</li>
<pre class="brush: vb">
&#039;Callback for Button7 onAction
Sub sfemailcallback(control As IRibbonControl)
sfemail
End Sub

Sub sfemail()
ActiveCell.Formula = _
&quot;=SFEMAIL(RC[1])&quot;
End Sub
</pre>
<li>Once you are happy with it, you can distribute your .xlam file, complete with macros and ribbon enhancements. All the recipient needs to do is activate the add-in.</li>
</ol>
<p>To be completely honest, I don&#8217;t fully understand the reason for using callbacks in macros. I believe it is so that you can continue referencing the original macro elsewhere (without the &#8220;control As IRibbonControl&#8221; bit).</p>
<p>The ribbon has copped a lot of hate since its launch, but I don&#8217;t think it&#8217;s all that bad. I&#8217;m actually getting used to it. While the process of customising it is challenging (to say the least), I think the results are pretty professional. You have far more power than is demonstrated in my example.</p>
<p>It looks like you can get pretty creative in your ribbon design &#8211; there are plenty of options for button types, images, etc on <a href="http://msdn.microsoft.com/en-us/library/aa338202.aspx" target="_blank">this page</a>. It took me long enough to get it this far though <img src='http://www.jackmcintyre.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>UPDATED:</p>
<p>Here is a template to use in the custom UI editor. Replace &#8220;onAction&#8221; text with callbacks to your macros, and change the label to suit.</p>
<pre class="brush: xml">
&lt;customUI xmlns=&quot;http://schemas.microsoft.com/office/2006/01/customui&quot;&gt;
&lt;ribbon startFromScratch=&quot;false&quot;&gt;
&lt;tabs&gt;
&lt;tab id=&quot;BienaltoCustomTab&quot; label=&quot;Bienalto&quot;&gt;
&lt;group id=&quot;BienaltoSDDCFormulae&quot; label=&quot;SFDC Formulae&quot;&gt;
&lt;box id=&quot;Formulaebox1&quot; boxStyle=&quot;vertical&quot;&gt;
&lt;button id=&quot;Button1&quot; size=&quot;normal&quot; label=&quot;Button Text&quot; onAction=&quot;Button1MacroCallback&quot; /&gt;
&lt;button id=&quot;Button2&quot; size=&quot;normal&quot; label=&quot;Button Text 2&quot; onAction=&quot;Button2MacroCallback&quot; /&gt;
&lt;button id=&quot;Button3&quot; size=&quot;normal&quot; label=&quot;Button Text 3&quot; onAction=&quot;Button3MacroCallback&quot; /&gt;
&lt;/box&gt;
&lt;separator id=&quot;FormulaeSeparator1&quot;/&gt;
&lt;box id=&quot;Formulaebox2&quot; boxStyle=&quot;vertical&quot;&gt;
&lt;button id=&quot;Button4&quot; size=&quot;normal&quot; label=&quot;Button Text 4&quot; onAction=&quot;Button4MacroCallback&quot; /&gt;
&lt;/box&gt;
&lt;/group&gt;
&lt;/tab&gt;
&lt;/tabs&gt;
&lt;/ribbon&gt;
&lt;/customUI&gt;
</pre>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/A3xatQHIAIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/04/02/how-to-add-macros-to-the-excel-2007-ribbon/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/04/02/how-to-add-macros-to-the-excel-2007-ribbon/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-to-add-macros-to-the-excel-2007-ribbon</feedburner:origLink></item>
		<item>
		<title>A bad online experience</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/NGQeOAwGvSc/</link>
		<comments>http://www.jackmcintyre.net/2009/03/23/a-bad-online-experience/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 10:28:13 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[whinge]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=228</guid>
		<description><![CDATA[When I have the option, I generally do things online. Shopping, paying bills, communicating, and countless other actions are simplified through the internet. The online banking experience is currently a bit broken with my bank. What I have done so far:

Applied (and was instantly approved) for a 3 month term deposit. This was 3 months [...]]]></description>
			<content:encoded><![CDATA[<p>When I have the option, I generally do things online. Shopping, paying bills, communicating, and countless other actions are simplified through the internet. The online banking <a href="http://www.jackmcintyre.net/tag/experience">experience</a> is currently a bit broken with my bank. What I have done so far:</p>
<ol>
<li>Applied (and was instantly approved) for a 3 month term deposit. This was 3 months ago. I got a great rate (&gt;3% higher than they are now offering), and the process of moving money into the account could not be simpler. So far so good.</li>
<li>Received a letter from the bank about a week ago, saying that I needed to &#8220;contact a branch&#8221; if I wanted to close the account, or it would be automatically renewed. How do I contact a branch? they don&#8217;t publish phone numbers for branches anywhere, so I went to the bank, queued, and explained why I did not want to renew. The teller filled out a form, and I signed. I was told that the cash would be back in my keycard after the account matured.</li>
<li>Saw a missed call and a voicemail on my mobile today &#8211; from the bank. Decided it would be easier to go in and sort it out than call back. Got to the bank, and they realised it was an <em>online</em> term deposit. They said I can close it online, and didn&#8217;t need to come in. Apparently it has been closed now, but I will find out tomorrow I guess.</li>
</ol>
<p><strong>Problems:</strong></p>
<ol>
<li><strong>Auto-renewal</strong> &#8211; Typical bank behavior, but still annoying</li>
<li><strong>Sending me a letter to contact a branch</strong> &#8211; The worst thing about this was that I didn&#8217;t actually need to contact a branch (apparently) and I could (apparently) do it all online. Even if this was the case, it is meant to be an <em>online</em> account. For me, email gets done, mail gets put in a pile and dealt with later. Please email.</li>
<li><strong>Ohhh, it&#8217;s an <em>online</em> account</strong> &#8211; This went unnoticed on trip #1 to the bank. A bit irritating.</li>
<li><strong>I cannot find, after extensive searching, a way to close the account online.</strong> There are plenty of links for renewing it, but not closing it. Either they were lying straight to my face, they have hidden the &#8220;close account&#8221; button, or they have some of the worst information architecture I have ever seen.</li>
</ol>
<p>If you are going to offer a product online, offer the whole product online. As wrong as it is, one of the reasons I have all of my accounts with this bank is so that I can manage all my finances in one place. That actually played a part in my opening the account &#8211; part of the value I saw in the offer was the simplicity of it. This experience was one of the most inconvenient &#8220;online&#8221; processes I have ever been through (a few ebay purchases come close!).</p>
<p>Hopefully all will be fixed tomorrow.</p>
<p><strong>Update:</strong></p>
<p>Sigh. I should have known it wasn&#8217;t over.</p>
<p>I logged in this morning to check that everything had been sorted out. Turns out, my term deposit was renewed, at the generous rate of 1.5%! I earn twice that rate with my online savings account, at the same bank.</p>
<p>After trip #3 to the bank, I have been promised that I am &#8220;in the queue&#8221; and that &#8220;it will be fixed within an hour&#8221;. They have 40 minutes.</p>
<p>Confidence? Low.</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/NGQeOAwGvSc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/03/23/a-bad-online-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/03/23/a-bad-online-experience/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=a-bad-online-experience</feedburner:origLink></item>
		<item>
		<title>The life of the word processor</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/m-w6jwxSD2A/</link>
		<comments>http://www.jackmcintyre.net/2009/03/12/the-life-of-the-word-processor/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 11:28:12 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=209</guid>
		<description><![CDATA[Word processors have been around for a while. Aparrently IBM invented the term in the 60s. A certain product springs to mind  &#8211; Microsoft Word &#8211; an immensely successful and popular piece of software.
I have not used a traditional word processor this year, as far as I can remember. I have barely even used Google [...]]]></description>
			<content:encoded><![CDATA[<p>Word processors have been around for a while. <a href="http://en.wikipedia.org/wiki/Word_processor#History" target="_blank">Aparrently</a> IBM invented the term in the 60s. A certain product springs to mind  &#8211; Microsoft Word &#8211; an immensely successful and popular piece of software.</p>
<p>I have not used a traditional word processor this year, as far as I can remember. I have barely even used Google Docs word processor (which is not traditional, in my opinion).</p>
<p>Any documentation I produce at work is now done in <a href="http://sites.google.com/" target="_blank">Google Sites</a>, one of the lesser-known products in the Google lineup. The rest of the team at <a href="http://www.bienalto.com" target="_blank">Bienalto</a> are also moving this way (I think it was <a href="http://twitter.com/pureandapplied" target="_blank">@pureandapplied</a>&#8217;s idea, <a href="http://twitter.com/hurol_inan" target="_blank">@hurol_inan</a> definately likes it).  We are not only producing work in a <a href="http://www.jackmcintyre.net/tag/wiki">wiki</a>, we are also sharing it with client throughout the process. This means that if a client has some information that is relevant to our work, they can easily add it in to the working document.</p>
<p>Moving to a wiki has had a number of benefits so far:</p>
<ul>
<li><strong>Collaborative</strong>: Multiple people in multiple locations can work on the same piece of work simultaneously. While Sites doesn&#8217;t allow multiple people to edit the same page simultaneously (as Google Docs does), this has not been a major issue for us.</li>
<li><strong>Versioning/Location management</strong>: There is no need to search through a filesystem to find what you are looking for! Also, there is no chance of multiple copies of a document &#8211; there is one clear source of truth</li>
<li><strong>Licensing &amp; Compatibility</strong>: Free! Also, works across operating systems, in a consistent way.</li>
<li>(there are plenty of other benefits of Wiki use in businesses, <a href="http://allthewikis.com/wiki-faqs/benefits-business-wiki/" target="_blank">here</a> is a good list)</li>
</ul>
<p>There are a few challenges as well:</p>
<ul>
<li><strong>Formatting</strong>: Word gives endless formatting options, Wikis do not. This has not been a major issue for me so far, but for documents that need to be presented well (eg Proposals), a wiki does not work</li>
<li><strong>User Access: </strong>Because we are using Google Sites, users log in with their Google account. I use one account for personal and work use &#8211; so that I don&#8217;t have to log in &amp; out all day. This is annoying when giving access to clients, as you need to ask if they already have an account to link to &#8211; which often leads to confusion. We are actually setting up an alternative, self hosted wiki, to overcome this and other issues.</li>
</ul>
<p>For me, the pros of using a wiki outweigh the cons, hands down. How long does the traditional word processor have left? I know Microsoft are planning to release an online version of Office, will this solve the traditional problems?</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/m-w6jwxSD2A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/03/12/the-life-of-the-word-processor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/03/12/the-life-of-the-word-processor/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=the-life-of-the-word-processor</feedburner:origLink></item>
		<item>
		<title>My problem with CMSs</title>
		<link>http://feedproxy.google.com/~r/JackMcintyreOnline/~3/3U9vgpc_BoI/</link>
		<comments>http://www.jackmcintyre.net/2009/02/03/my-problem-with-cmss/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 12:03:30 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Online]]></category>
		<category><![CDATA[cms]]></category>

		<guid isPermaLink="false">http://www.jackmcintyre.net/?p=68</guid>
		<description><![CDATA[Lately I&#8217;ve been getting annoyed with CMSs. Not a particular CMS, but CMS&#8217;s in general. For all the problems they solve, there is one major issue that they create.
People with no online experience can create content, and have an easy mechanism to publish it.
This is great in some ways. It reduces strain on parts of [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been getting annoyed with CMSs. Not a particular CMS, but CMS&#8217;s in general. For all the problems they solve, there is one major issue that they create.</p>
<p>People with no online experience can create content, and have an easy mechanism to publish it.</p>
<p>This is great in some ways. It reduces strain on parts of the business that can be used more effectively elsewhere. It makes it easy to manage multiple authors on a site. It means that people with no concept of HTML, or any other language, can update a website in a few minutes! and, you can get pretty nice CMSs for free!</p>
<p>My problem is businesses who think that because they have a CMS, they don&#8217;t need a web person/team. This is true about 5% of the time (in my experience). No matter how many templates you build, there will always be exceptions to the rules. The most common solutions to this problem (from the client&#8217;s point of view) are to give it to someone else to do (good idea) or write their copy in MS Word, then copy-paste it into the CMS (horrible, terrible idea).</p>
<p>Word HTML is the devil. Word is the one of the biggest hurdles that CMSs need to overcome.</p>
<p>While I don&#8217;t have <em>heaps</em> of experience, I understand that it wasn&#8217;t <em>that</em> long ago that web people managed websites. They know about the perils of MS Word, and that it should never ever ever be used to create content online. I think CMSs have prematurely removed the webmaster/web team role. If a company has a website, and they are maintaining it themselves, they need someone who knows HTML.</p>
<p>CMS&#8217;s are a great tool for web teams, no questions. For people without web experience, I think they are a mixed blessing.</p>
<p>&lt;/whinge&gt;</p>
<img src="http://feeds.feedburner.com/~r/JackMcintyreOnline/~4/3U9vgpc_BoI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.jackmcintyre.net/2009/02/03/my-problem-with-cmss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.jackmcintyre.net/2009/02/03/my-problem-with-cmss/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=my-problem-with-cmss</feedburner:origLink></item>
	</channel>
</rss>
