<?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>Propheris</title>
	<atom:link href="http://propheris.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://propheris.com</link>
	<description>Building innovative communications solutions for the health sector</description>
	<lastBuildDate>Wed, 16 May 2012 10:05:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Five rules for explaining complex ideas</title>
		<link>http://propheris.com/strategy-development/communication-planning/five-rules-for-explaining-complex-ideas/</link>
		<comments>http://propheris.com/strategy-development/communication-planning/five-rules-for-explaining-complex-ideas/#comments</comments>
		<pubDate>Fri, 04 May 2012 16:50:40 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Communication Planning]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[ideas]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=517</guid>
		<description><![CDATA[Explaining a complicated concept is an art form. It&#8217;s easy enough when you&#8217;re faced with like minded peers but when you go beyond that cosy world, things can quickly go awry. There are five basic rules you need to follow. Use these and you&#8217;ll usually communicate your intricate idea easily: assume no prior knowledge don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Explaining a complicated concept is an art form. It&#8217;s easy enough when you&#8217;re faced with like minded peers but when you go beyond that cosy world, things can quickly go awry.</p>
<p>There are five basic rules you need to follow. Use these and you&#8217;ll usually communicate your intricate idea easily:</p>
<ol>
<li>assume no prior knowledge</li>
<li>don&#8217;t patronise</li>
<li>entertain with analogies</li>
<li>distil, condense</li>
<li>test</li>
</ol>
<p>You have to assume no prior knowledge of the subject you&#8217;re discussing. This doesn&#8217;t mean you have to spend hours elaborating the basics. Most complex concepts can be communicated using simple analogies to everyday things in the real world.</p>
<p>There&#8217;s a very delicate line between patronising your audience with explanations that are pitched too simply and diving too quickly into complexities that some won&#8217;t understand. Too complex too soon and you&#8217;ve lost them. No one wants to communicate with an audience and lose half of them along the way. </p>
<p>Using analogies, especially novel ones, allows you to explain to those who don&#8217;t understand the basics whilst still entertaining those that do. King Solomon was supposedly the wisest man in the ancient world. That&#8217;s because he knew every fable and parable back to front. So, faced with any complex conundrum put to him by his subjects, he could call up an entertaining story to put forwards his point of view.</p>
<p>It&#8217;s always better to keep your initial descriptions simple and allow complex technicalities to come out through questioning. If your audience thinks there&#8217;s something missing or would like to delve into intricacies, they will ask.</p>
<p>When you&#8217;ve drawn up your explanation, make sure you test it on two very different people: Find someone who knows your subject area reasonably well and someone who has little idea of it. Listen to their feedback, particularly the person with little expertise.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/strategy-development/communication-planning/five-rules-for-explaining-complex-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating pdf newsletters automatically from WordPress: how to include a few pages and resolve memory limit errors</title>
		<link>http://propheris.com/web-development/extranet/wordpress-extranet/generating-pdf-newsletters-automatically-from-wordpress-how-to-include-a-few-pages-and-resolve-memory-limit-errors/</link>
		<comments>http://propheris.com/web-development/extranet/wordpress-extranet/generating-pdf-newsletters-automatically-from-wordpress-how-to-include-a-few-pages-and-resolve-memory-limit-errors/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 08:46:20 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[fivefilters]]></category>
		<category><![CDATA[Make PDF Newspaper]]></category>
		<category><![CDATA[Marios Alexandrou]]></category>
		<category><![CDATA[Martin Hawksey]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[simple pie]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=694</guid>
		<description><![CDATA[We&#8217;re using WordPress as a CMS for a client who was thinking of producing a newsletter, both for those without access and to promote the site itself. Rather than going through the rigmarole (and time &#038; cost) of desktop publishing we set about finding a clever way to do this automatically. Martin Hawksey at JISC [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/12/pdf-newspaper.jpg"><img src="http://propheris.com/wp-content/uploads/2010/12/pdf-newspaper-185x185.jpg" alt="" title="pdf-newspaper" width="185" height="185" class="alignleft size-thumbnail wp-image-698" /></a>We&#8217;re using WordPress as a CMS for a client who was thinking of producing a newsletter, both for those without access and to promote the site itself. Rather than going through the rigmarole (and time &#038; cost) of desktop publishing we set about finding a clever way to do this automatically.<span id="more-694"></span></p>
<p><a href="http://www.rsc-ne-scotland.org.uk/mashe/wordpress-plugins/make-pdf-newspaper-2/">Martin Hawksey at JISC RSC Scotland North &#038; East</a> has done a very good job of this with his Make PDF Newspaper plugin. It uses the <a href="http://fivefilters.org/pdf-newspaper/">fivefilters pdf newspaper facility</a> which itself centres on the <a href="http://simplepie.org/">Simple Pie RSS management toolkit</a>. There aren&#8217;t too many options available but if you&#8217;re prepared to accept limitations in layout, the tool is a remarkably easy way to generate a good looking pdf version of an RSS feed.</p>
<p>We&#8217;ve been working a little with the plugin to get the output we want. The structure of the site we have pdf newspaper running on is fairly straightforward &#8211; posts appear as departmental news items and a bunch of static pages serve guidelines and a simple document repository.</p>
<p>We wanted a few of these static pages appearing in the newsletter which presented a conundrum as WordPress RSS feeds only deliver the posts side of the CMS, leaving the pages out completely.  However, the <a href="http://www.mariosalexandrou.com/blog/include-pages-in-wordpress-rss-feeds/">RSS Includes Pages plugin</a> alters this behaviour. It&#8217;s perfect for our purposes. All we need to do is to temporarily invoke it whilst preparing the newspaper. To get the right pages appearing, all we have to do is alter the publication dates so they fit into just the right place in the RSS feed.</p>
<p>One problem I encountered is a memory limit when making pdfs more than a few pages long. To resolve this, add a line like:</p>
<p><code>ini_set("memory_limit","120M")</code>;</p>
<p>to the beginning of tcpdf_config.php in the pdf newspaper plugin package.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/web-development/extranet/wordpress-extranet/generating-pdf-newsletters-automatically-from-wordpress-how-to-include-a-few-pages-and-resolve-memory-limit-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging web scripts with the Firefox REST Client</title>
		<link>http://propheris.com/web-development/debugging-web-scripts-with-the-firefox-rest-client/</link>
		<comments>http://propheris.com/web-development/debugging-web-scripts-with-the-firefox-rest-client/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 08:08:33 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[dms]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=645</guid>
		<description><![CDATA[Because Web Scripts involve two computers talking to each other, they are potentially hard to debug. We&#8217;ve found that it pays to test the scripts from a web browser before writing any code. We iron out our exact understanding of what parameters the script needs and what it returns before doing it from within our application. There&#8217;s an [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_629" class="wp-caption alignleft" style="width: 292px"><a href="http://propheris.com/wp-content/uploads/2010/11/RESTClient.png"><img src="http://propheris.com/wp-content/uploads/2010/11/RESTClient-282x285.png" alt="Firebug REST Client" title="Firebug REST Client" width="282" height="285" class="size-medium wp-image-629" /></a><p class="wp-caption-text">The Firebug REST Client</p></div>Because Web Scripts involve two computers talking to each other, they are potentially hard to debug. We&#8217;ve found that it pays to test the scripts from a web browser before writing any code. We iron out our exact understanding of what parameters the script needs and what it returns before doing it from within our application. There&#8217;s an add-on to Firefox called <a title="REST Client for Firefox" href="https://addons.mozilla.org/en-US/firefox/addon/9780/" target="_blank">&#8220;REST Client&#8221;</a>. You specify the URL, method (PUT, POST, GET) and optionally any request headers and body (for example CMIS XML). The REST Client will  then tell you if the request succeeded and you can examine the response.  Take care to specify the correct content type in the header for xml or json.</p>
<p>In the example above you can see the URL, http://epsilon.nuhrise.org/alfresco/service/cmis/i/2c62291d-2e9f-4ac3-83a1-157406ffb2aa/children and the verbose response. In this case the response describes files in the Company Home space.</p>
<p>In the next article we&#8217;ll describe the web services our application Documas uses to view, upload and download files from Alfresco and we&#8217;ll also cover assigning and accepting/rejecting workflow tasks on documents from our external application.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/web-development/debugging-web-scripts-with-the-firefox-rest-client/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Analysing web content semantics with AlchemyAPI: Part One &#8211; The Semantic Web</title>
		<link>http://propheris.com/strategy-development/analysing-web-content-semantics-with-alchemyapi-part-one-the-semantic-web/</link>
		<comments>http://propheris.com/strategy-development/analysing-web-content-semantics-with-alchemyapi-part-one-the-semantic-web/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 16:20:29 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Marketing & Communications]]></category>
		<category><![CDATA[AlchemyAPI]]></category>
		<category><![CDATA[Kate Ray]]></category>
		<category><![CDATA[ontologies]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[Tim Berners-Lee]]></category>
		<category><![CDATA[Web 3.0]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=673</guid>
		<description><![CDATA[How do you methodically analyse the context of hundreds of web pages? It&#8217;s an issue of semantics. Tasked with looking at how a bunch of organisations are portraying themselves to their stakeholders, we soon moved to clever machine analysis thanks to semantic tools that are slowly appearing. The semantic web (sometimes called Web 3.0) is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/12/semantic-web.png"><img src="http://propheris.com/wp-content/uploads/2010/12/semantic-web-185x185.png" alt="" title="semantic-web" width="185" height="185" class="alignleft size-thumbnail wp-image-680" /></a>How do you methodically analyse the context of hundreds of web pages? It&#8217;s an issue of semantics. Tasked with looking at how a bunch of organisations are portraying themselves to their stakeholders, we soon moved to clever machine analysis thanks to semantic tools that are slowly appearing. </p>
<p>The semantic web (sometimes called Web 3.0) is a generic term for a whole range of approaches that are looking to deal with the overwhelming mass of unstructured data the web is generating. Soon, techniques like Google&#8217;s search algorithms won&#8217;t be able to keep up with the trillions of web pages being generated. There needs to be a better way of understanding what web pages mean so that we can organise the valuable information they contain. It&#8217;s part of a move towards building clever systems that can reason. </p>
<p><iframe src="http://player.vimeo.com/video/11529540?color=adaebe" width="500" height="375" frameborder="0"></iframe></p>
<p>If you&#8217;ve got 15 mins, Kate Ray has put together this compelling and instructive video about the semantic web, interviewing world wide web inventor Tim Berners-Lee amongst others along the way. There&#8217;s something of the <a href="http://www.bbc.co.uk/programmes/b006mgxf">Horizon</a> about it; in the sense that it&#8217;s refreshing when difficult scientific concepts are coherently, simply and entertainingly described through video.</p>
<blockquote><p>It&#8217;s part of a move towards building clever systems that can reason. </p></blockquote>
<p>We&#8217;re using but a tiny part of the work on semantics for our own ends. We want to analyse a mass of web content, reasoning that if this can be done objectively and comprehensively by machine then it is probably better than anything we can do as humans. At least once you go beyond a handful of web pages; understanding the entirety of a few hundred pages can be a pretty tough job, unless you&#8217;ve got some clever tools to hand.</p>
<p>In the next few posts, I&#8217;ll describe how we used <a href="http://www.alchemyapi.com/">AlchemyAPI</a> to do it. The tool enabled us to pull out context in terms of entities like people and keywords, places and subject matter. It helped us organise and rank all these things so we knew at a glance where each organisation&#8217;s focus was and how they were portraying this to the world at large.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/strategy-development/analysing-web-content-semantics-with-alchemyapi-part-one-the-semantic-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Ruby on Rails with Alfresco</title>
		<link>http://propheris.com/document-management/using-ruby-on-rails-with-alfresco/</link>
		<comments>http://propheris.com/document-management/using-ruby-on-rails-with-alfresco/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 08:04:21 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Bob the Builder]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[dms]]></category>
		<category><![CDATA[Documas]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=641</guid>
		<description><![CDATA[A large part of our Documas application concerns ordinary Create/Read/Update/Delete (CRUD) operations on a MySQL database. Really Documas is a hybrid application, part document management and part CRUD. Documas centres around a database model called Study. Studies are typically clinical trials that have dozens of properties reflecting their type and their progress. People such as administrators, lawyers, pharmacologists, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/11/rails-in-snow.jpg"><img src="http://propheris.com/wp-content/uploads/2010/11/rails-in-snow-185x185.jpg" alt="" title="rails-in-snow" width="185" height="185" class="alignleft size-thumbnail wp-image-650" /></a>A large part of our Documas application concerns ordinary Create/Read/Update/Delete (CRUD) operations on a MySQL database. Really Documas is a hybrid application, part document management and part CRUD.</p>
<p>Documas centres around a database model called <em>Study</em>. Studies are typically clinical trials that have dozens of properties reflecting their type and their progress. People such as administrators, lawyers, pharmacologists, nurses, researchers and clinicians act on these studies to progress them through a highly regulated approval process.</p>
<blockquote><p>We chose to use Ruby on Rails for the CRUD part of Documas because, to paraphrase Bob the Builder, it&#8217;s <em>the right tool for the job</em>.</p></blockquote>
<p>Much of the process is encapsulated in documents held in Alfresco, but equally a lot of the information is held in a normal database.</p>
<p>We chose to use Ruby on Rails for the CRUD part of Documas because, to paraphrase Bob the Builder, it&#8217;s <em>the right tool for the job</em>. Rails has easy ways to handle authentication (who), authorisation (what are they allowed to do), grids full of data, editing, validating and graphing. Above all, Rails is focused on the CRUD operations.</p>
<p>Rails also provides a http client to request &#8216;resources&#8217;, for  instance documents, user accounts and workflow tasks from RESTful servers, like Alfresco.</p>
<p>If I&#8217;ve been a bit negative about the web front end of Alfresco, I&#8217;m pleased to concede that they more than make up for that with the way they open up the internal document engine to external applications using a RESTful interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/document-management/using-ruby-on-rails-with-alfresco/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Employing Alfresco web scripts to answer RESTful calls</title>
		<link>http://propheris.com/web-development/employing-alfresco-web-scripts-to-answer-restful-calls/</link>
		<comments>http://propheris.com/web-development/employing-alfresco-web-scripts-to-answer-restful-calls/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 11:57:09 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[dms]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Web Scripts]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=643</guid>
		<description><![CDATA[REST is a set of ideas that promise to simplify communication between applications.  If you have not come across REST before, there is an entertaining description here. Conventionally applications use something like Remote Procedure Calls to call on each other for services, but every single call tends to have different parameters and return values making [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/11/services.png"><img class="size-full wp-image-628" src="http://propheris.com/wp-content/uploads/2010/11/services.png" alt="Example Alfresco Web Service" width="497" height="595" /></a></p>
<p><a title="REST" href="http://en.wikipedia.org/wiki/Representational_State_Transfer" target="_blank">REST</a> is a  set of ideas that promise to simplify communication between applications.  </p>
<blockquote><p>If you have not come across REST before, there is an <a title="How I explained REST to my wife" href="http://tomayko.com/writings/rest-to-my-wife">entertaining description here</a>.</p></blockquote>
<p>Conventionally applications use something like <a title="Remote Procedure calls" href="http://en.wikipedia.org/wiki/Remote_procedure_call" target="_blank">Remote Procedure Calls</a> to call on each other for services, but every single call tends to have different parameters and return values making it hard to generalise and fiddly to use. In REST, the interesting parts of an application are  available as &#8216;resources&#8217;.  Alfresco offers resources such as spaces  (folders), files, people, tasks etc. Each resource can only do a strictly limited number of things, it can be created, deleted, changed or just read.  That&#8217;s it.  (The technical success of the World Wide Web can be largely attributed to REST, the resources are things with URLs,  pages, pictures, tables of data, music etc. The operations in HTTP are PUT, POST and DELETE).</p>
<p>The designers of Alfresco have opened up the monolithic Java jungle inside Alfresco to expose the important resources. They have even documented it, a full list of approximately 370 Web Scripts (REST services) available from our Alfresco server is available at <a href="http://epsilon.nuhrise.org/alfresco/service/index" target="_blank">http://epsilon.nuhrise.org/alfresco/service/index</a>, but you need to log in with the admin password!</p>
<p>In my opinion Alfresco also clutters the REST API with methods that return GUI elements, strictly speaking this is not REST because the resources are embelished with javascript for the user interface. The Forms Service in v3.4 is an example.</p>
<p>Inside Alfresco, the units of code that answer RESTful calls are called <a title="How to write Alfresco Web Scripts" href="http://wiki.alfresco.com/wiki/Web_Scripts" target="_blank">Web Scripts</a>. They are written in Java and/or Javascript. The use of Javascript on the server side is clever because more people understand Javascript, and changes can be deployed with just a refresh of the web scripts rather than compiling and deploying Java class files. Otherwise one would have to maintain a Java build environment for the Web Scripts and employ at least half of somebody&#8217;s time just to develop and maintain the Java Web Scripts.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/web-development/employing-alfresco-web-scripts-to-answer-restful-calls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opening up Alfresco to other web applications</title>
		<link>http://propheris.com/document-management/opening-up-alfresco/</link>
		<comments>http://propheris.com/document-management/opening-up-alfresco/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 11:59:53 +0000</pubDate>
		<dc:creator>Guy</dc:creator>
				<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Alfresco Share]]></category>
		<category><![CDATA[CRUD]]></category>
		<category><![CDATA[dms]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=623</guid>
		<description><![CDATA[We&#8217;ve built a web application, Documas, on the solid foundation of the Alfresco Document Management system.   In this article we&#8217;ll explain why and how we did it. Using Alfresco from another web application Alfresco is a solid platform for managing documents and the events that happen to them during their lifecycle, but the &#8216;Web Client&#8217; user interface is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/11/web-client1.png"><img class="alignnone size-full wp-image-626" src="http://propheris.com/wp-content/uploads/2010/11/web-client1.png" alt="Example page from the Alfresco Web Client" width="600" height="391" /></a></p>
<p>We&#8217;ve built a web application, Documas, on the solid foundation of the <a title="Alfresco Document Management" href="http://www.alfresco.com" target="_blank">Alfresco Document Management system</a>.   In this article we&#8217;ll explain why and how we did it.</p>
<p><strong>Using Alfresco from another web application</strong></p>
<p>Alfresco is a solid platform for managing documents and the events that happen to them during their lifecycle, but the &#8216;Web Client&#8217; user interface is not suitable for most purposes because it was built by people like me, programmers, instead of by normal people. (The Web Client is also called Alfresco Explorer). As an example of the problems, try deleting ten files quickly.  There is no way to do a bulk operation and remove all ten in one go.</p>
<p><em>Alfresco Explorer</em></p>
<p>The Web Client is written in Java using a technology called Java Server Faces which in my opinion values  gratuitous complexity over getting the job done.   (I think the adoption of JSF was the very reason the Web Client had proved to be hard to use, so much attention went into the JSF that little resource was left for usability testing).</p>
<p>Alfresco have addressed this problem by developing  the &#8216;Share&#8217; front end, a very Web 2.0, responsive and popular alternative to the clunky Web Client. But the Share web application is very closely tied to Alfresco and the kinds of document operations that Alfresco does. Our application needs to do those things, but also something called CRUD. Share, being AJAX, Javascript and REST based, is a sound choice for pure document management  uses of Alfresco, but for our application we needed a little bit more. Over the next few articles I&#8217;ll explain how we went about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/document-management/opening-up-alfresco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDF manipulation and editing via the command line with pdftk</title>
		<link>http://propheris.com/web-development/open-source/linux/pdf-manipulation-and-editing-via-the-command-line-with-pdftk/</link>
		<comments>http://propheris.com/web-development/open-source/linux/pdf-manipulation-and-editing-via-the-command-line-with-pdftk/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 07:47:50 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=580</guid>
		<description><![CDATA[We recently had a small job to chop and reassemble a dozen or so pdfs and then include them into a website archive. Our client needed all the first pages exchanged with new first pages that had new information on them. A laborious task manually, but PDF Toolkit came to our rescue. It&#8217;s a cross [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/11/document-pile.jpg"><img src="http://propheris.com/wp-content/uploads/2010/11/document-pile-285x285.jpg" alt="" title="document-pile" width="285" height="285" class="alignleft size-medium wp-image-581" /></a>We recently had a small job to chop and reassemble a dozen or so pdfs and then include them into a website archive. Our client needed all the first pages exchanged with new first pages that had new information on them. A laborious task manually, but<a href="http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/"> PDF Toolkit</a> came to our rescue. It&#8217;s a cross platform GPL licensed powerhouse for pdf manipulation. We used the command line to get the job done doc by doc; if the task was any larger, it would be a very trivial thing to incorporate this into a script.</p>
<p>First remove the old first page:</p>
<p><code>pdftk OurDocument.pdf cat 2-end output OurDocumentMinusFirst.pdf</code></p>
<p>then combine the new first page with the remaining document:</p>
<p><code>pdftk NewFirst.pdf OurDocumentMinusFirst.pdf cat output NewOurDocument.pdf</code></p>
<p>Very simple indeed, but pdftk can do a whole lot more:</p>
<ul>
<li>Merge PDF Documents</li>
<li>Split PDF Pages into a New Document</li>
<li>Rotate PDF Pages or Documents</li>
<li>Decrypt Input as Necessary (Password Required)</li>
<li>Encrypt Output as Desired</li>
<li>Fill PDF Forms with FDF Data or XFDF Data and/or Flatten Forms</li>
<li>Apply a Background Watermark or a Foreground Stamp</li>
<li>Report on PDF Metrics such as Metadata, Bookmarks, and Page Labels</li>
<li>Update PDF Metadata</li>
<li>Attach Files to PDF Pages or the PDF Document</li>
<li>Unpack PDF Attachments</li>
<li>Burst a PDF Document into Single Pages</li>
<li>Uncompress and Re-Compress Page Streams</li>
<li>Repair Corrupted PDF</li>
</ul>
<p>The help manual that comes with the package gives a fairly comprehensive guide to options together with examples. Simply type<br />
<code>pdftk --help</code></p>
<p>Otherwise, there are plenty of guides available, <a href="http://segfault.in/2010/07/pdf-manipulations-and-conversions-from-linux-command-prompt/">like this one from segfault</a>.</p>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/web-development/open-source/linux/pdf-manipulation-and-editing-via-the-command-line-with-pdftk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google font API makes embedded web fonts easy, were it not for a bug</title>
		<link>http://propheris.com/strategy-development/design/google-font-api-makes-embedded-web-fonts-easy/</link>
		<comments>http://propheris.com/strategy-development/design/google-font-api-makes-embedded-web-fonts-easy/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 08:31:29 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Droid Sans]]></category>
		<category><![CDATA[fontsquirrel]]></category>
		<category><![CDATA[google font api]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=557</guid>
		<description><![CDATA[We&#8217;ve just been updating the design of one of our client&#8217;s sites and, as ever, fonts are a focus. Earlier this year, Google released a set of beautiful typefaces for use in web environments. It&#8217;s a simple matter of calling the font library from Google via a stylesheet header. Unless your choice includes Droid Bold. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://propheris.com/wp-content/uploads/2010/11/nuhrise-new-sq.png"><img src="http://propheris.com/wp-content/uploads/2010/11/nuhrise-new-sq-185x185.png" alt="" title="nuhrise-new-sq" width="185" height="185" class="alignleft size-thumbnail wp-image-558" /></a></p>
<p>We&#8217;ve just been updating the design of one of our client&#8217;s sites and, as ever, fonts are a focus. Earlier this year, <a href="http://code.google.com/webfonts">Google released a set of beautiful typefaces</a> for use in web environments. It&#8217;s a simple matter of calling the font library from Google via a stylesheet header.  Unless your choice includes Droid Bold.</p>
<p>Even easier, <a href="http://wordpress.org/extend/plugins/wp-google-fonts/">if you are using WordPress as a CMS, there are plugins available to implement the Google font API without much fuss</a>. This approach gets you going very quickly and it&#8217;s very handy for look-and-see building. </p>
<p>But for a production environment, I don&#8217;t like the mess it begins to create of your stylesheet set. The plugin simply adds your styles to each page&#8217;s header which isn&#8217;t very elegant. We&#8217;ll soon be looking to incorporate the relevant css within the stylesheets proper rather than layering plugins on top.</p>
<div id="attachment_559" class="wp-caption alignright" style="width: 195px"><a href="http://propheris.com/wp-content/uploads/2010/11/nuhrise.png"><img src="http://propheris.com/wp-content/uploads/2010/11/nuhrise-185x185.png" alt="" title="nuhrise" width="185" height="185" class="size-thumbnail wp-image-559" /></a><p class="wp-caption-text">The older design focused on Arial</p></div>
<p>Our implementation in question is for <a href="http://nuhrise.org/">Nottingham University Hospitals Trust R&#038;D</a>. Here, the site is run using WordPress using an old but very solid theme called The Morning After. The theme itself has long since been taken over and <a href="http://www.woothemes.com/2010/06/themorningafter/">incorporated into a commercial supplier&#8217;s portfolio</a>. We&#8217;ve kept with the original theme and have slowly updated it to suit our needs over time.</p>
<p>The redesign involved some font size changes and text colour modifications along with the big shifts which were to Google&#8217;s Droid fonts. These look beautiful and there&#8217;s a large family to pick from, including a serif set. Whilst Droid fully modernises the look compared to the previous Arial, we recoloured and resized front page headlines to match those at the BBC website. This helps deliver a familiar user experience. We also softened the body text to a mid to dark grey which makes reading less tiring on the eye and allows us to use darker greys for block quotes and other text emphasis.</p>
<p>There are some tweaks to come, especially amongst the internal pages but for now we&#8217;ve achieved a fresh contemporary look with relative ease&#8230; except for an evil little bug. If your chosen font is Droid Bold. Of course our chosen font is none other. For some undetermined reason, many browsers except Google&#8217;s own Chrome are not calling the font properly. <a href="http://code.google.com/p/googlefontdirectory/issues/detail?can=2&#038;q=&#038;colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&#038;sort=&#038;id=13">There&#8217;s a work around suggested by Alexandre Paquette over at Google Code</a></p>
<blockquote><p>I found a way to fix this issue. By saving a local copy of the .css generated by de webfont directory, you can change the web font name defined in your css. for example, you can change &#8220;Droid Sans&#8221; for &#8220;Droid Sans Web&#8221;. </p></blockquote>
<p>Bear in mind this will only happen if you make the local version that Alexandre mentions a priority; ie it has to be called before Droid Sans:</p>
<p>Put this in your stylesheet:</p>
<p><code>@font-face {<br />
  font-family: 'Droid Sans Web';<br />
  font-style: normal;<br />
  font-weight: normal;<br />
  src: local('Droid Sans Web'), url('http://themes.googleusercontent.com/font?kit=rS9BT6-asrfjpkcV3DXf__esZW2xOQ-xsNqO47m55DA') format('truetype');<br />
}<br />
@font-face {<br />
  font-family: 'Droid Sans Web';<br />
  font-style: normal;<br />
  font-weight: bold;<br />
  src: local('Droid Sans Web'), url('http://themes.googleusercontent.com/font?kit=EFpQQyG9GqCrobXxL-KRMQJKKGfqHaYFsRG-T3ceEVo') format('truetype');<br />
}</code></p>
<p>Then decide where it&#8217;s going to operate like this:</p>
<p><code>h1{<br />
  font-family: 'Droid Sans Web', 'Droid Sans', sans-serif;<br />
}</code></p>
<p>Ta-da &#8211; all your browsers will now show Droid Sand Bold almost properly. Almost? You&#8217;ll find that the <strong>strong</strong> tag doesn&#8217;t work consistently, leaving such things resolutely not bold for some browsers.</p>
<p>I haven&#8217;t noticed any overhead in making this external call but to be sure you should have alternative fonts specified, or at least specify a default sans-serif or serif as above; just in case there&#8217;s a connection problem.</p>
<p>An alternative is to host the fonts yourself. Defeats the object of using the Google API, but this is what you do:</p>
<ol>
<li>Go to <a href="http://www.fontsquirrel.com/fonts/Droid-Sans">Font Squirrel&#8217;s Droid Sans section</a></li>
<li>Download the @font-face Kit. Make sure you check off each format so that all browsers are catered for</li>
<li>Upload the font kit to your own website so that they are then served locally rather than directly from Google</li>
</ol>
<p>So, a spoiler workaround to an otherwise tidy idea. Judging by the bug report at Google Code, this problem with Droid Bold has been hanging around since the early summer and shows no sign of being fixed yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/strategy-development/design/google-font-api-makes-embedded-web-fonts-easy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The origins of cat herding, from television ads through Warren Bennis to Poul Anderson</title>
		<link>http://propheris.com/strategy-development/management/the-origin-of-cat-herding-from-television-ads-through-warren-bennis-to-poul-anderson/</link>
		<comments>http://propheris.com/strategy-development/management/the-origin-of-cat-herding-from-television-ads-through-warren-bennis-to-poul-anderson/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 11:48:10 +0000</pubDate>
		<dc:creator>Paul Syrysko</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[EDS]]></category>
		<category><![CDATA[herding cats]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[Poul Anderson]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[super bowl]]></category>
		<category><![CDATA[Tom Peters]]></category>
		<category><![CDATA[Warren Bennis]]></category>

		<guid isPermaLink="false">http://propheris.com/?p=490</guid>
		<description><![CDATA[The phrase herding cats comes from a tv ad for an IT company and if few people know that, even fewer know that the term was lifted from a rather obscure management self-help book. Herding cats is now a ubiquitous phrase that has come into management-speak to describe tasks that are tricky because things are [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://propheris.com/wp-content/uploads/2010/10/herding-cats-185x185.jpg" alt="herding-cats" title="herding-cats" width="185" height="185" class="alignleft size-thumbnail wp-image-496" />The phrase <em>herding cats</em> comes from a tv ad for an IT company and if few people know that, even fewer know that the term was lifted from a rather obscure management self-help book.</p>
<p>Herding cats is now a ubiquitous phrase that has come into management-speak to describe tasks that are tricky because things are changing and uncontrollable. Its recent popularity can be traced back to just a decade ago, during the peak of the dot com boom. It was used as the theme for an award winning commercial by <a href="http://www.fallon.com/">ad agency Fallon</a> for information management leaders EDS (now subsumed into HP), aired during the centre break of the annual Super Bowl baseball game. </p>
<p>Amongst the most expensive advertising slots in the world, this event regularly attracts an inordinate amount of effort from ad agencies and their clients. Little known outside the US and ad agency circles, viewers across the Atlantic will often find more entertainment during this ad break than the baseball game itself.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/m_MaJDK3VNE?fs=1&amp;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/m_MaJDK3VNE?fs=1&amp;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Although the tipping point for the phrase&#8217;s popularity was this IT services ad, its <em>real</em> origin was an obscure human resources reference book published a few years before, at the end of 1997. <a href="http://www.warrenbennis.com/">Warren Bennis</a>&#8216;s <em><a href="http://www.amazon.co.uk/Managing-People-Like-Herding-Cats/dp/096349175X">Managing People is Like Herding Cats</a></em> is a book about leadership in management.  Bennis was a pioneer of Leadership Studies in business and according to management guru Tom Peters:</p>
<blockquote><p>&#8220;His work at MIT in the 1960s on group behavior foreshadowed, and helped bring about, today&#8217;s headlong plunge into less hierarchical, more democratic and adaptive institutions, private and public.&#8221;</p></blockquote>
<p>The Financial Times named his classic book <a href="http://www.amazon.com/Leaders-Strategies-Collins-Business-Essentials/dp/0060559543/">Leaders: Strategies for Taking Charge</a> one of the top 50 books of all time. He believes there are six key qualities in becoming a successful leader:
<ol>
<li>Integrity</li>
<li>Dedication</li>
<li>Magnanimity</li>
<li>Humility</li>
<li>Openness</li>
<li>Creativity</li>
</ol>
<p>And maybe the ability to herd cats.</p>
<p>And where did Bennis get the phrase from? A very likely candidate is science fiction writer, Poul Anderson. His post apocalyptic novel <a href="http://www.amazon.co.uk/Orion-Shall-Rise-Poul-Anderson/dp/0671464922">Orion Shall Rise</a> dates from 1983.</p>
]]></content:encoded>
			<wfw:commentRss>http://propheris.com/strategy-development/management/the-origin-of-cat-herding-from-television-ads-through-warren-bennis-to-poul-anderson/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

