<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
	<channel>
		<title>defunkt.nu blog</title>
		<link>http://defunkt.nu/blog-en/</link>
		
		<description />

		
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DefunktnuBlogen" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="defunktnublogen" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
			<title>Manage your own website</title>
			<link>http://defunkt.nu/blog-en/manage-your-own-website/</link>
			<description>&lt;p&gt;Don’t forget to check out the movie I’ve added next to this post. It shows you how the Content Management System (CMS) for this site works.&lt;/p&gt;
&lt;p&gt;With a CMS, you can easily edit your site. You don’t need to know complicated codes and you don’t need to be a programmer.&lt;/p&gt;
&lt;p&gt;Knowing your way around a word processor (like Word) can help, but it is no requirement either.&lt;/p&gt;
&lt;p&gt;The possibilities with a CMS are virtually limitless. I offer these for almost every site I create:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Adding and editing pages and changing their positions in your menu.&lt;/li&gt;
&lt;li&gt;Adding texts or images to a page.&lt;/li&gt;
&lt;li&gt; Managing images.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I usually develop these systems with SilverStripe, which is really flexible.&lt;/p&gt;
&lt;p&gt;Some sites are really advanced or have very specific requirements. For those, a different software package can be used. Or I can provide a completely tailor-made solution.&lt;/p&gt;
&lt;p&gt;By using a CMS, you can publish new content on a regular basis. This has quite a few advantages:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Google checks how often your site is updated. A site with more updates will get higher positions in Google.&lt;/li&gt;
&lt;li&gt;There’s more to it than just the amount of updates you do. Every article you post brings new keywords to your site. These keywords all represent potential visitors.&lt;/li&gt;
&lt;li&gt;It’s not just Google who follows the updates on your site. Turn occasional visitors into regular readers by continually offering new and relevant information.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Using a CMS, you can decide how and when you edit your site. It will become a lot more valuable and you’ll be able to take more strategic decisions.&lt;/p&gt;</description>
			<pubDate>Tue, 25 May 2010 10:09:29 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/manage-your-own-website/</guid>
		</item>
		
		<item>
			<title>Webpage Prototypes</title>
			<link>http://defunkt.nu/blog-en/webpage-prototypes/</link>
			<description>&lt;div id="prototypeIntro"&gt;
&lt;p&gt;A protoype is the first step in the design process of a website. It’s basically a blueprint for the site’s functionality.&lt;/p&gt;
&lt;p&gt;All major pages in a site get a prototype. It’s fully clickable and shows how the site will work. In hands-on sessions with the client, the prototype makes it simple to discover missing sections, or parts of the site that aren’t yet logical.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="prototypeExample"&gt;
&lt;p&gt;So, what does a prototype look like? Well, like they say on tv cookery shows: “Here’s one I prepared earlier!”. &lt;a href="http://www.defunkt.nu/prototype/example/index.html"&gt;Web page prototype example.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The above prototype has a homepage, news, product pages and a contact page.&lt;/p&gt;
&lt;p&gt;In this stage, it’s easy to make changes without completely reworking the design.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="prototypeConclusion"&gt;
&lt;p&gt;Using the protoype, me and the client decide the final functionality on a page-by-page basis. We choose exactly what will be on each page and how it will work, not what it will look like. That will be decided in the design stage of the project.&lt;/p&gt;
&lt;/div&gt;</description>
			<pubDate>Thu, 10 Jun 2010 12:11:12 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/webpage-prototypes/</guid>
		</item>
		
		<item>
			<title>Mood Board</title>
			<link>http://defunkt.nu/blog-en/mood-board-en/</link>
			<description>&lt;div id="intro"&gt;
&lt;p&gt;A mood board helps to find the site’s look and feel. This is done with cutouts, color samples and existing marketing material. Often, the mood board will also include values you can link to your brand or message.&lt;/p&gt;
&lt;p&gt;The mood board is used to find a direction for the design and copy. You might think look and feel has little to do with usability. But actually, finding the correct tone will enhance your message, make a user more at ease and more able to understand what you are saying.&lt;/p&gt;
&lt;p&gt;At best, a look and feel will connect on an emotional level between your product and your visitor. It then becomes a unique tool to get your story across and set you apart from your competitors.&lt;/p&gt;
&lt;p&gt;When I build the mood board; I do this simultaneously with the prototypes. This gives us two ways of thinking about your web site. With the mood board and the prototypes, everything is in place to start the actual designing.&lt;/p&gt;
&lt;/div&gt;</description>
			<pubDate>Mon, 14 Jun 2010 10:55:00 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/mood-board-en/</guid>
		</item>
		
		<item>
			<title>Graphic Design</title>
			<link>http://defunkt.nu/blog-en/graphic-design/</link>
			<description>&lt;p&gt;With the &lt;a href="http://www.defunkt.nu/blog-en/mood-board-en/"&gt;mood board&lt;/a&gt; and &lt;a href="http://www.defunkt.nu/blog-en/webpage-prototypes/"&gt;prototype&lt;/a&gt; done, work can begin on the design. If all went well, I know a direction for the style. It should also be clear what needs to be on each page.&lt;/p&gt;
&lt;p&gt;I start my designs in the browser. It doesn’t result in a static design, like you would have with a Photoshop mock up. You will see exactly how the site will look and work. If you’re using Firefox, click on the images above to check out the design process of &lt;a href="http://www.defunkt.nu/portfolio-overview/concepts-verde-en/"&gt;Concepts Verde&lt;/a&gt;. You’ll be able to see exactly what happens when you open a menu or hover over a link.&lt;/p&gt;
&lt;p&gt;Meeting up with the client is possible in every phase of the design process. Because the design is in the browser, it is easy to make changes while we are discussing it. We’ll be able to see how it looks and works immediately.&lt;/p&gt;
&lt;p&gt;Each browser (Internet Explorer, Firefox, Safari,…) has it’s own idiosyncrasies  and problems. By skipping Photoshop, I’m able to start testing for them from the start. It’ll also enables me to decide that some extra features will only be supported in the newest browsers.&lt;/p&gt;
&lt;h3&gt;Grid&lt;/h3&gt;
&lt;p&gt;Almost all of my designs are based on a grid. By doing so, I often use more interesting solutions that would be hard to find without a grid. A grid also brings more balance to a design. Want to see the grid for this page? &lt;a class="toggleGrid" href="http://defunkt.nu/#"&gt;Click here to view the grid for this page&lt;/a&gt;.&lt;/p&gt;</description>
			<pubDate>Tue, 22 Jun 2010 09:45:05 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/graphic-design/</guid>
		</item>
		
		<item>
			<title>Programming</title>
			<link>http://defunkt.nu/blog-en/programming/</link>
			<description>&lt;p&gt;Programming starts at the same time as the the design work. Most sites have a &lt;a href="http://www.defunkt.nu/blog-en/manage-your-own-website/"&gt;Content Management System&lt;/a&gt;, enabling the client to edit the site. To start this process, I decide which &lt;a href="http://www.defunkt.nu/blog-en/webpage-prototypes/"&gt;page types&lt;/a&gt; are needed. This is important to see what content needs to be on each page type. To accommodate  for this, each page type gets different input fields. A gallery, for instance, needs different input fields in comparison to a contact page.&lt;/p&gt;
&lt;p&gt;Some sites don’t have a classic page structure and might need extra work. Sometimes a custom system is needed.&lt;/p&gt;
&lt;p&gt;Not only the &lt;a href="http://blog-en/manage-your-own-website/"&gt;Content Management System&lt;/a&gt; needs programming work. The frontend (the area your users will see) might have forms, slide shows or orderforms that need extra work.&lt;/p&gt;
&lt;p&gt;During this part of the project, the customer will be able to start testing the system. By entering test data, customers are able to check (together with me) check if everything works as it should. If there are things that are not yet clear about the system, this is also the time to get more info about them.&lt;/p&gt;</description>
			<pubDate>Fri, 02 Jul 2010 17:10:52 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/programming/</guid>
		</item>
		
		<item>
			<title>Following your site’s results</title>
			<link>http://defunkt.nu/blog-en/following-your-site-s-results/</link>
			<description>&lt;p&gt;It’s absolutely necessary to follow up your website. The first part of the follow up starts after the &lt;a href="http://defunkt.nu/blog-en/webpage-prototypes/"&gt;planning&lt;/a&gt;, &lt;a href="http://defunkt.nu/blog-en/graphic-design/"&gt;design&lt;/a&gt; and the &lt;a href="http://defunkt.nu/blog-en/programming/"&gt;programming&lt;/a&gt; of the &lt;a href="http://defunkt.nu/blog-en/manage-your-own-website/"&gt;content management system&lt;/a&gt;. Clients can then start to add content through the &lt;a href="http://blog-en/manage-your-own-website/"&gt;content management system&lt;/a&gt;. If any problems should arise at this stage, they can be straightened out before the site launch. It’s also possible to get a small workshop to get used to the system.&lt;/p&gt;
&lt;p&gt;Even more important is the follow up after the launch. A site is a tool to reach goals. That’s why I’ll send you a free report every three months. This will show you how many visitors you have, which pages are popular and where visitors are clicking. We’ll use this to see if you are reaching the goals you set. The report will also include advice to further improve your site’s results.&lt;/p&gt;
&lt;p&gt;A report is also an excellent time to have a chat about the site. Maybe your expectations for your site have changed. Or maybe you’ve got questions about new functions or pages.&lt;/p&gt;
&lt;p&gt;The reports I create are based on &lt;a href="https://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;. You get this analytics tool free with any defunkt.nu site. If you’d like to check the results more frequently, I’ll be more than happy to give you access to the live results.&lt;/p&gt;
&lt;p&gt;You can get a whole lot of info from &lt;a href="https://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;, but there are other tools that can give you even more details about your site’s performance. Examples are &lt;a href="http://www.clickdensity.co.uk/"&gt;Clickdensity&lt;/a&gt;, &lt;a href="http://www.crazyegg.com/home2"&gt;Crazy Egg&lt;/a&gt; and &lt;a href="http://haveamint.com/"&gt;Mint&lt;/a&gt;. If you’re interested in extra analytics tools, be sure to &lt;a href="http://defunkt.nu/contact-en"&gt;contact me&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You’ll only know how good your site is doing by checking it’s performance with an analytics tool. It’s really easy to get info on your site and it can only benefit from using it.&lt;/p&gt;</description>
			<pubDate>Tue, 06 Jul 2010 16:34:43 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/following-your-site-s-results/</guid>
		</item>
		
		<item>
			<title>No Site is an Island</title>
			<link>http://defunkt.nu/blog-en/no-site-is-an-island/</link>
			<description>&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/islandSmallerBeach.png" alt="Illustration of an Island" title="Illustration of an Island" width="440" height="315"/&gt;&lt;/p&gt;
&lt;p&gt;It used to be simple. You created your website, put it on your business card and you were done. The site was an extension of that brochure you had been using for a while now. This was just the computer version of it. The Internet, however, is not really a big box of brochures. It works as a network that allows anyone to post, send and share information. That makes it all somewhat more complex in comparison to a brochure. It also makes it a lot more interesting.&lt;/p&gt;
&lt;p&gt;The web &lt;a title="History of the World Wide Web" href="http://en.wikipedia.org/wiki/World_Wide_Web#History"&gt;started&lt;/a&gt; as a way to quickly and easily share information. Since Social Media such as &lt;a title="Go to FaceBook" href="http://www.facebook.com/"&gt;FaceBook&lt;/a&gt; and &lt;a title="Geschiedenis van het world wide web" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; came on the scene, it became even easier for anyone to post and share information. The web is two-way street. Or actually more like a million-way street. People can take pieces of your content, reproduce it elsewhere and link to you. You can add content that appears about your organization to your site, or show your latest &lt;a title="Go to Twitter" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; posts. You can react to other people talking or answer questions about your company on &lt;a title="Go to FaceBook" href="http://www.facebook.com/"&gt;FaceBook&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This makes it really important to make sure your articles or product info is easy to share. Keep that in mind while you are creating content for your website. Your content being spread and reaching more people is a good thing. It’s impossible to build a wall around your site anyway.&lt;/p&gt;
&lt;p&gt;Participating actively in social media is certainly another interesting option. It makes it possible to streamline the official communication about your product or react to what other people are saying about it. This is more than a service to your (potential) customers. It’s also a great tool to find out more on what is happening on the market you are trying to reach. The web really offers a lot of possibilities no other media can give you. In all of this, your website is the focal point to which you refer in all your communication.&lt;/p&gt;</description>
			<pubDate>Thu, 15 Jul 2010 13:30:20 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/no-site-is-an-island/</guid>
		</item>
		
		<item>
			<title>Twitter: what is it good for?</title>
			<link>http://defunkt.nu/blog-en/twitter-what-is-it-good-for/</link>
			<description>&lt;p&gt;The latest Tour De France made it really clear. &lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; is being used a lot and the content that appears on it is spread around the web with ease. On &lt;a title="Sporza Tour De France pagina" href="http://www.sporza.be/cm/sporza/wielrennen/Tour"&gt;Sporza.be&lt;/a&gt; (Belgian sports site), had constant news updates in a Twitter Tour De France block. The news block was populated by a list of Twitter users that Sporza deemed important for the Tour De France. They also could have built a list of &lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; users that put &lt;a title="Twitter Tour De France Tweets." href="http://twitter.com/#search?q=%23tdf"&gt;#tdf&lt;/a&gt; in their message. That code is a hashtag. A topic that gets a lot of &lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; messages usualy also gets a specific code that makes it easy to tag and find messages about the subject. So, the &lt;a title="More info on hashtags" href="http://www.searchenginejournal.com/twitter-hashtags/9419/"&gt;hashtag&lt;/a&gt; for all Tour De France news is #tdf.&lt;/p&gt;
&lt;p&gt;On &lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt;, it’s easy to choose who’s messages you want to follow. More interestingly, you don’t have to follow a specific person. You can follow everyone who talks about &lt;a title="Apple Stock tweets" href="http://twitter.com/#search?q=apple%20stock"&gt;Apple Stock&lt;/a&gt;, &lt;a title="Massage tweets" href="http://twitter.com/#search?q=massage"&gt;massage techniques&lt;/a&gt;, &lt;a title="Tweets on badminton" href="http://twitter.com/#search?q=badminton"&gt;badminton&lt;/a&gt;… You can also respond to anything that is being said. This makes &lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt;Twitter&lt;/a&gt; a really powerful way of communicating. It becomes even more important when you have a well known brand or product. You really should follow up on what people are saying about you. And where necessary, join in on the conversation. If you don’t have a well known brand (yet), you can read and write messages that concern your companies activities. Does your company work with horses? Why not follow Twitter messages about &lt;a title="Tweets on horse racing" href="http://twitter.com/#search?q=horse%20racing"&gt;horse racing&lt;/a&gt;, &lt;a title="Tweets about horse stables" href="http://twitter.com/#search?q=horse%20stable"&gt;horse stables&lt;/a&gt;,…&lt;/p&gt;
&lt;p&gt;It’s a way to easily communicate with people within your line of work and (potential) customers. You can read these messages (also called Tweets) on the site of &lt;a title="Twitter homepage" href="http://www.twitter.com/ (www.twitter.com)"&gt;Twitter&lt;/a&gt;&lt;a title="Twitter homepage" href="http://www.twitter.com/"&gt; (www.twitter.com)&lt;/a&gt; or with a special application (like &lt;a title="Tweetdeck homepage" href="http://www.tweetdeck.com"&gt;TweetDeck&lt;/a&gt;). Another possibility is to feed your own Tweets (or Tweets of a list of Twitter users, or Tweets about a specific topic) to your website.&lt;/p&gt;
&lt;p&gt;Tweets are small pieces of information that really capture what people all around the world are saying about a subject. With the huge amount of software and other ways to share them, the opportunities to dive into the Twitter stream are virtually limitless. A nice example of how far you can take this is &lt;a href="http://www.flipboard.com/"&gt;FlipBoard&lt;/a&gt;. This application for the Apple iPad harvests all links from Tweets (and FaceBook messages) of people you follow and builds a magazine of articles from them:&lt;/p&gt;
&lt;p&gt;
&lt;object width="385" height="232" data="http://www.youtube.com/v/v2vpvEDS00o&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash"&gt;
&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowscriptaccess" value="always"/&gt;&lt;param name="src" value="http://www.youtube.com/v/v2vpvEDS00o&amp;amp;hl=en_US&amp;amp;fs=1"/&gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;Twitter’s base concept is really simple: a 140 characters message that you can share with friends. The ways people are using it are limitless. Some people enjoy the 140 character limit as a challenge akin to poetry. Tweets are also used for informal get-togethers. In Belgium, &lt;a title="Twunch homepage" href="http://twunch.be/"&gt;Twunches &lt;/a&gt;(Twitter users that go out to eat lunch together) and &lt;a title="Twoooze homepage" href="http://twoooze.be/"&gt;Twoozes&lt;/a&gt; (the same, but in a bar) are already well-known.&lt;/p&gt;
&lt;p&gt;Want to find out if your company can benefit from Twitter? &lt;a title="Twitter homepage" href="http://defunkt.nu/contact-en/"&gt;Contact me&lt;/a&gt;.&lt;/p&gt;</description>
			<pubDate>Fri, 06 Aug 2010 16:48:39 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/twitter-what-is-it-good-for/</guid>
		</item>
		
		<item>
			<title>Software to edit images for the web</title>
			<link>http://defunkt.nu/blog-en/software-to-edit-images-for-the-web/</link>
			<description>&lt;p&gt;Customers often ask me how they need to edit their images before they upload them to their site. The Content Management System already solves a lot of problems here. Sometimes, however, you want to choose exactly how the image will be cropped. Or maybe you want to do some basic color correction. When you are really interested in photo editing you can always use Photoshop or Gimp.&lt;/p&gt;
&lt;p&gt;There are easier programs for occasional image editing, however.&lt;/p&gt;
&lt;p&gt;On Windows, &lt;a href="http://download.cnet.com/IrfanView/3000-2192_4-10021962.html"&gt;InfranView&lt;/a&gt; is a good option. it doesn’t have thousands of features, but it is easy to crop an image, change it’s size or do other corrections&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.belightsoft.com/products/imagetricks/overview.php"&gt;Image Tricks&lt;/a&gt; does more or less the same on Mac.&lt;/p&gt;
&lt;p&gt;Another alternative is &lt;a href="http://pixlr.com/express/"&gt;Pixlr&lt;/a&gt;. This online image editor is very easy to use and has everything you need.&lt;/p&gt;
&lt;p&gt;Are these programs not what you are looking for? Sure, there are hundreds of other options, but the three applications featured here are basically all you need to get your images ready for the web.&lt;/p&gt;</description>
			<pubDate>Fri, 06 Aug 2010 18:10:21 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/software-to-edit-images-for-the-web/</guid>
		</item>
		
		<item>
			<title>SilverStripe: setting up flexible images</title>
			<link>http://defunkt.nu/blog-en/silverstripe-setting-up-flexible-images/</link>
			<description>&lt;p&gt;If you use the WYSYWYG Tiny MCE field, it's really easy to add images to your main text.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650553-tinyMCE.jpg" width="650" height="553" alt="" title=""/&gt;&lt;/p&gt;
&lt;p&gt;Mixing up your images with your text has it's limits. Say you want to create a list of images for a gallery. It quickly becomes very difficult to manage that in such a MS Word-like interface.&lt;/p&gt;
&lt;p&gt;It's also impossible to create relationships between your data and your images. What if you have a profile page for an employee:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/profilePage.jpg" alt="Example of an employee page." width="650" height="588" title=""/&gt;&lt;/p&gt;
&lt;p&gt;Maybe you want to use the same image on the overview page that lists all the employees:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/employeeOverview.jpg" alt="Example of an employee overview page." width="650" height="484" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;If you try to do this with the WYSYWYG, this will soon become a great mess. And it will also require a lot of work, keeping everything up to date in different locations.&lt;/p&gt;
&lt;h3&gt;Install SilverStripe and download the theme&lt;/h3&gt;
&lt;p&gt;Make sure you have a recent version of SilverStripe. You can download the latest version from &lt;a href="http://silverstripe.org/stable-download/"&gt;the SilverStripe Site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I created a simple theme based on the default Black Candy theme that has templates for an Employee Page and an Employee Overview Page. You can &lt;a href="http://defunkt.nu/assets/Uploads/flexibleImages.zip" target="_blank"&gt;download it here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Drag the theme to your templates folder and replace the current theme name in mysite/_config.php with the name of the new theme, 'flexibleImages'&lt;/p&gt;
&lt;pre&gt;SSViewer::set_theme('flexibleImages');&lt;/pre&gt;
&lt;h3&gt;Setting up the image for different sizes&lt;/h3&gt;
&lt;p&gt;On most installs, I extend the image class with functions that can generate the uploaded images at every size I will be needing it in my templates. Add a new file called CustomImage.php in your mysite/code folder:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class CustomImage extends Image {
	
	function generate470_Width($gd)
	{
		return $gd-&amp;gt;resizeByWidth(470);
	}
	
	function generate200_Width($gd)
	{
		return $gd-&amp;gt;resizeByWidth(200);
	}
}
&lt;/pre&gt;
&lt;p&gt;Each generate function you add will be able to create resized version of your image in your assets/Uploads/_resampled/folder&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/resampledFolder.jpg" alt="The _resampled folder" width="650" height="552" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The resampled files will only be generated once they are requested in the templates. You'll be able to get to the resampled versions through template code like this:&lt;/p&gt;
&lt;pre&gt;&amp;lt;img src="$ProfileImage.470_Width.URL" /&amp;gt;
&lt;/pre&gt;
&lt;p&gt;As you can see, the part after generate in the PHP function becomes the name though which you can retrieve the resampled image. I like to use the dimensions in the name, but you can just as easily call them mainimage, smallthumbnail or whatever you like.&lt;/p&gt;
&lt;h3&gt;Setting up the Employee Page&lt;/h3&gt;
&lt;p&gt;First, let's create an Employee Overview Page class. Add a file called EmployeeOverviewPage.php to your mysite/code folder and put this code in it:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class EmployeeOverviewPage extends Page
{

}

class EmployeeOverviewPage_Controller extends Page_controller {
	
}
&lt;/pre&gt;
&lt;p&gt;Add another file called EmployeePage.php to your mysite/code folder. We will be adding a CustomImage to this page type:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class EmployeePage extends Page
{
	
	static $has_one = array (
		'ProfileImage' =&amp;gt; 'CustomImage'
	);
	
	public function getCMSFields()
	{
		$f = parent::getCMSFields();
		$f-&amp;gt;addFieldToTab('Root.Content.Main', new FileIFrameField('ProfileImage', 'Profile Image'));
		return $f;
	}
}

class EmployeePage_Controller extends Page_controller {
	
}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The first (has_one) part sets up the relationship in the database. The function getCMSFields first gets the CMS fields as they appear on a standard page (Page.php). It then adds a field that lets us upload our CustomImage.&lt;/p&gt;
&lt;p&gt;Once you have added this to the code folder, don't forget to run www.yoursite.com/dev/build, this way SilverStripe will update the database. It will also become aware of the new classes we created.&lt;/p&gt;
&lt;p&gt;Once you have everything set up, first add an Employee Overview Page, then add a few Employee Pages below that:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650581-addEmployee.jpg" width="650" height="581" alt="" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;You should now be able to add an image to your employee page:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650582-addImage.jpg" width="650" height="582" alt="" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now, let's open up the template for EmployeePage.ss Look for a div with the id employeeImage. Add the following code:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div id="employeeImage"&amp;gt;
&amp;lt;!-- add the following code --&amp;gt;
&amp;lt;img src="$ProfileImage.470_Width.URL" /&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;You should now be able to see the image in the template. If not, you might have to add &lt;span style="white-space: nowrap"&gt;?flush=1&lt;/span&gt; to your URL to refresh the template.&lt;/p&gt;
&lt;h3&gt;Using the same image in the overview page&lt;/h3&gt;
&lt;p&gt;It's now really easy to use (a smaller version of) the image on the overview page. Open the EmployeeOverviewPage.ss file and look for the &amp;lt;div&amp;gt; with id employees. Add the following code:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div id="employees"&amp;gt;
	&amp;lt;!-- Add the following code: --&amp;gt;
	&amp;lt;% if Children %&amp;gt;
	&amp;lt;ul&amp;gt;
		&amp;lt;% control Children %&amp;gt;
		&amp;lt;li&amp;gt;
		&amp;lt;a href="$Link"&amp;gt;
		&amp;lt;img src="$ProfileImage.200_Width.URL" /&amp;gt;
		&amp;lt;/a&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;a href="$link"&amp;gt;$Title&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
		&amp;lt;/li&amp;gt;
		&amp;lt;% end_control %&amp;gt;
	&amp;lt;/ul&amp;gt;
	&amp;lt;% else %&amp;gt;
	&amp;lt;p&amp;gt;No employees yet.&amp;lt;/p&amp;gt;
	&amp;lt;% end_if %&amp;gt;
	&amp;lt;!-- Add the code above this line --&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;h3&gt;Uploadify&lt;/h3&gt;
&lt;p&gt;Now let's see how we can make things a bit easier for the people editing these pages. Uploadify is a great extra fieldtype from &lt;a href="http://www.leftandmain.com/"&gt;Uncle Cheese&lt;/a&gt;, a major contributor to SilverStripe. You can download it from &lt;a href="http://www.leftandmain.com/silverstripe-modules/2010/08/26/uploadify/"&gt;his site&lt;/a&gt; or clone it from &lt;a href="https://github.com/unclecheese/Uploadify"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Uploadify also needs the DataObjectManager module. We will use that module later on in the tutorial. Get DataObjectManager from from &lt;a href="http://www.leftandmain.com/silverstripe-modules/2010/08/23/dataobjectmanager/"&gt;Uncle Cheese's Site&lt;/a&gt; or from &lt;a href="https://github.com/unclecheese/DataObjectManager"&gt;Github&lt;/a&gt; (if you choose Github, make sure you rename the folder to dataobject_manager).&lt;/p&gt;
&lt;p&gt;Drag both modules to your site folder and run dev/build.&lt;/p&gt;
&lt;p&gt;With Uploadify, you get an interface that is a lot nicer. It's easier to browse files that are already uploaded, you get a progress bar and it's even possible to upload more than one image at once.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/uploadify.jpg" alt="Example of the Uploadify field." width="650" height="576" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;To use this field type, open up the EmployeePage.php in mysite/code and change the field type in the addFieldToTab line:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class EmployeePage extends Page
{
	
	static $has_one = array (
		'ProfileImage' =&amp;gt; 'CustomImage'
	);
	
	public function getCMSFields()
	{
		$f = parent::getCMSFields();
		// CHANGE THE LINE BELOW THIS ONE
		$f-&amp;gt;addFieldToTab('Root.Content.Main', new FileUploadField('ProfileImage', 'Upload a profile image'));
		return $f;
	}
}

class EmployeePage_Controller extends Page_controller {
	
}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;That's all there is to it, really. I always use Uploadify, as the user experience is a lot smoother. You can also set up a lot more options.&lt;/p&gt;
&lt;h3&gt;DataObjectManager&lt;/h3&gt;
&lt;p&gt;With SilverStripe 3 coming somewhere at the end of 2011, the DataObjectManager module will probably be replaced by the &lt;a href="http://groups.google.com/group/silverstripe-dev/browse_thread/thread/dbee37df0aa58dd"&gt;DataGrid&lt;/a&gt;. In the mean time, the DOM is one of the most important modules for SilverStripe.&lt;/p&gt;
&lt;p&gt;In SilverStripe, every entry in the database is a DataObject. You create a class for a new type of data by extending the DataObject class (sapphire/core/model/DataObject.php). This class handles almost all database interactions in SilverStripe.&lt;/p&gt;
&lt;p&gt;How will we use it? Let's say you want to be able to add pictures of your employees' holidays. There's no predefined number of pictures and you want to be able to add a small caption for every picture.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/holidayPictures.jpg" alt="Holiday Pictures on an Employee page." width="650" height="471" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Let's set up a DataObject that will hold our picture and its caption. Create a file called HolidayPicture in you mysite/code folder. Add the following code to it:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class HolidayPicture extends DataObject
{
	static $db = array (
		'Caption' =&amp;gt; 'Text'
	);
	
	static $has_one = array (
		'Attachment' =&amp;gt; 'CustomImage',
		'EmployeePage' =&amp;gt; 'EmployeePage'
	);
	
	public function getCMSFields_forPopup()
	{
		return new FieldSet(
			new FileUploadField('Attachment', 'Add a holiday picture'),
			new TextAreaField('Caption', 'Add a caption')
		);
	}
}
&lt;/pre&gt;
&lt;p&gt;The DataObject gets an extra database field (Caption) which will hold the text for our caption. It get also linked to a CustomImage and an EmployeePage.&lt;/p&gt;
&lt;p&gt;The getCMSFields_forPopup function defines the fields that will appear in the DataObjectManager.&lt;/p&gt;
&lt;p&gt;The next step is to link the HolidayPicture in our EmployeePage and add a DataObjectManager field to that class.&lt;/p&gt;
&lt;p&gt;Open up EmployeePage.php and add the following code:&lt;/p&gt;
&lt;pre&gt;&amp;lt;?php
class EmployeePage extends Page
{
	
	static $has_one = array (
		'ProfileImage' =&amp;gt; 'CustomImage'
	);
	
	/* Add the code below this line */
	// Add this to set up the DB link to the HolidayPicture DO
	static $has_many = array (
		'HolidayPictures' =&amp;gt; 'HolidayPicture'
	);
	/* Add the code above this line */
	
	public function getCMSFields()
	{
		$f = parent::getCMSFields();
		$f-&amp;gt;addFieldToTab('Root.Content.Main', new FileUploadField('ProfileImage', 'Upload a profile image'));
		
		/* Add the code below this line */
		// This adds a DataObjectManager to a new tab
		$manager = new ImageDataObjectManager(
			$this,
			'HolidayPictures',
			'HolidayPicture',
			'Attachment',
			array(
				'Caption' =&amp;gt; 'Caption'
			),
			'getCMSFields_forPopup'
		);
		$f-&amp;gt;addFieldToTab("Root.Content.HolidayPictures", $manager);
		/* Add the code above this line */
		
		return $f;
	}
}
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;As you can see, we used an ImageDataObjectManager. That is a subclass of the regular DataObjectManager. Now is the time to run dev/build again to finish setting everything up.&lt;/p&gt;
&lt;p&gt;You should now have an extra tab on your employee pages where you can add the holiday pictures:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/dom.jpg" alt="Example of the DataObjectmanager" width="650" height="574" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Add a few pictures so we can show them in the template. Open EmployeePage.ss and look for the div with the holidayPictures ID. Add the following code:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div id="holidayPictures"&amp;gt;
	&amp;lt;h3&amp;gt;Holiday Pictures&amp;lt;/h3&amp;gt;
	&amp;lt;!-- Add the following code --&amp;gt;
	&amp;lt;% if HolidayPictures %&amp;gt;
		&amp;lt;ul&amp;gt;
		&amp;lt;% control HolidayPictures %&amp;gt;
		&amp;lt;li&amp;gt;
		&amp;lt;img src="$Attachment.200_Width.URL" /&amp;gt;
		&amp;lt;p&amp;gt;$Caption&amp;lt;/p&amp;gt;
		&amp;lt;/li&amp;gt;
		&amp;lt;% end_control %&amp;gt;
		&amp;lt;/ul&amp;gt;
	&amp;lt;% else %&amp;gt;
	&amp;lt;p&amp;gt;This employee has no holiday pictures.&amp;lt;/p&amp;gt;
	&amp;lt;% end_if %&amp;gt;
	&amp;lt;!-- Add the code above this line --&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Because Attachment in HolidayPicture uses CustomImage, you get all the functions from CustomImage, including 200_Width.&lt;/p&gt;
&lt;h3&gt;Making HolidayPictures sortable&lt;/h3&gt;
&lt;p&gt;It's easy to make our holiday pictures sortable. Open _config.php in mysite/code and add this line:&lt;/p&gt;
&lt;pre&gt;SortableDataObject::add_sortable_class('HolidayPicture');
&lt;/pre&gt;
&lt;p&gt;You will need to run dev/build to add a field to the database. That will make a checkbox available at the bottom of your DataObjectManager:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650464-dragAndDrop1.jpg" alt="Sortable checkbox" width="650" height="464" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;When it's checked, you can change the order of the holiday pictures:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/dragAndDrop2.jpg" alt="Resorting the holiday pictures" width="650" height="470" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;SilverStripe is really flexible and this is just one way you can set this up. I use it a lot, because it makes it easy to change functions on my CustomImage class that trickle down to all the other classes.&lt;/p&gt;
&lt;p&gt;See an error in the tutorial? Have a better way of handling things? Be sure to let me know! &lt;/p&gt;</description>
			<pubDate>Mon, 16 May 2011 16:50:22 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/silverstripe-setting-up-flexible-images/</guid>
		</item>
		
		<item>
			<title>SilverStripe Newsletter Module</title>
			<link>http://defunkt.nu/blog-en/silverstripe-newsletter-module/</link>
			<description>&lt;p&gt;I am working on a new SilverStripe module that allows you to send newsletters through &lt;a href="http://www.sendgrid.com"&gt;SendGrid&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the moment, I have a very rough version ready. If you want to test it out, &lt;a href="https://github.com/dendeffe/Def_Newsletter/"&gt;get it at Github&lt;/a&gt;.&lt;/p&gt;</description>
			<pubDate>Thu, 26 May 2011 11:54:23 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/silverstripe-newsletter-module/</guid>
		</item>
		
		<item>
			<title>Silverstripe Newsletter Module v0.1 (includes tutorial)</title>
			<link>http://defunkt.nu/blog-en/silverstripe-newsletter-module-v0-1-includes-tutorial/</link>
			<description>&lt;p&gt;I told you about my Newsletter module for SilverStripe back in May. I finally got round to testing everything out and published a 0.1 version. You can &lt;a href="https://github.com/dendeffe/Def_Newsletter"&gt;download it from Github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Watch the tutorial video to get started (you can see it in HD &lt;a href="http://www.youtube.com/watch?v=F9bK8ydx5j4"&gt;on YouTube&lt;/a&gt;). I consider the module to be functional, but remember that is still an alpha relase. Let me know if you see problems in the code that should be fixed.&lt;/p&gt;
&lt;p&gt;Also, as the module is at such an early stage, functionality may drastically change in future versions.&lt;/p&gt;
&lt;p&gt;Some of the improvements I'm currently looking into:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Move controls away from SiteTree and into ModelAdmin.&lt;/li&gt;
&lt;li&gt;Start using the analytics from SendGrid.&lt;/li&gt;
&lt;li&gt;Make it possible to select different mail templates.&lt;/li&gt;
&lt;li&gt;Allow subscriber import.&lt;/li&gt;
&lt;li&gt;Insert a check when a user is added, to see if the user wasn't previously registered.&lt;/li&gt;
&lt;/ul&gt;</description>
			<pubDate>Tue, 12 Jul 2011 15:56:14 +0200</pubDate>
			
			<guid>http://defunkt.nu/blog-en/silverstripe-newsletter-module-v0-1-includes-tutorial/</guid>
		</item>
		
		<item>
			<title>SilverStripe 3.0 Alpha 1 - first impressions</title>
			<link>http://defunkt.nu/blog-en/silverstripe-3-0-alpha-1-first-impressions/</link>
			<description>&lt;p&gt;SilverStripe is the CMS that is responsible for putting a lot of bread on my table. Needless to say I was excited to check out the first &lt;a href="http://www.silverstripe.org/silverstripe-3-0-alpha-1-is-ready-to-download/"&gt;alpha release of version 3&lt;/a&gt; that was released last week. I have been following the &lt;a href="http://github.com/silverstripe/silverstripe-design"&gt;designs&lt;/a&gt; and the &lt;a href="http://www.silverstripe.org/silverstripe-3-0-preview-1-is-here/"&gt;preview release&lt;/a&gt; for a while. So I really wanted to know if this new version would be a real alpha, or maybe even an early beta.&lt;/p&gt;
&lt;h3&gt;Installation&lt;/h3&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650686-SilverStripe-CMS-Framework-Installation-1.jpg" alt="SilverStripe 3.0 alpha installation screen." width="650" height="686" title=""/&gt;&lt;/p&gt;
&lt;p&gt;The installation process is really similar to previous versions. I guess future versions may feature a design closer to the design of the new interface.&lt;/p&gt;
&lt;p&gt;One thing I noticed was the warning for PHP versions. The installer told me that PHP 5.3 was strongly recommended. I don't know if 5.3 will become a requirement in the final version.&lt;/p&gt;
&lt;h3&gt;First impression&lt;/h3&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/SilverStripe-CMS-Edit-Page.jpg" alt="SilverStripe Edit page." width="650" height="474" title=""/&gt;&lt;/p&gt;
&lt;p&gt;The admin sure looks a lot slicker and stays close to the mockups that were released earlier. The first thing you notice is that the main navigation tabs have moved from the top to the left. This is great for sites with lots of ModelAdmins and extra tabs. Things sometimes got a bit crowded in that top bar.&lt;/p&gt;
&lt;h3&gt;Managing content&lt;/h3&gt;
&lt;p&gt;When you enter the admin area, you are greeted with the new edit tab, showing the home page. At the moment there is no way to switch to another page from here.&lt;/p&gt;
&lt;p&gt;On Twitter, I heard that there are (luckily) plans to bring back the page tree on the edit tab. Something more like this design:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/ss3-uiSitetree+content.jpeg" alt="AilverStripe edit screen with site tree" width="650" height="454"/&gt;&lt;/p&gt;
&lt;p&gt;In the meantime, things are a bit akward, and you have to go via the Pages tab to switch to another page.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/SilverStripe-CMS-Pages.jpg" alt="SilverStripe pages screen." width="650" height="474" title=""/&gt;&lt;/p&gt;
&lt;p&gt;Speaking of that pages tab: that is a great improvement over what we have now. In previous versions, it sometimes was difficult to edit your content on sites with hundreds or thousands of pages.&lt;/p&gt;
&lt;p&gt;The pages sitetree was getting really cramped on the left and has now been moved to the right. I really like the fact that drag and drop is the default selection. Another unnecessary step removed. An improvement that would be nice to have would be modifier keys (shift and command) for Multi-selection, like how it works on Gmail.&lt;/p&gt;
&lt;p&gt;The Pages tab is really changing into a more specific Model Admin. I imagine big sites will probably use List View (not yet implemented in this alpha) a lot more:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650454-ss3-uipages-list-view.jpeg" alt="SilverStripe list view." width="650" height="454" title=""/&gt;&lt;/p&gt;
&lt;p&gt;Once that is added, it will be have a very flexible interface for large sites, while keeping all the hierarchy goodness from Site Tree.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650471-SilverStripe-CMS-Orders.jpg" alt="SilverStripe Model Admin" width="650" height="471" title=""/&gt;&lt;/p&gt;
&lt;p&gt;The basics of Model Admin also seem to be functional, but it's still very rough. As with some other parts of the alpha release, at the moment it's a bit of a mix up of the old and new CMS.&lt;/p&gt;
&lt;h3&gt;Editing content&lt;/h3&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/SilverStripe-CMS-Edit-Page.jpg" alt="silverStripe edit screen" width="650" height="474" title=""/&gt;&lt;/p&gt;
&lt;p&gt;When you start editing a page, you'll notice that the meta-tabs (Content, Settings and History) have also moved over to the side. This again frees up extra space for edit tabs you might add to a Page Type.&lt;/p&gt;
&lt;p&gt;Opening a preview of the page is now done through the button on the bottom right. You don't specify which state (draft or published) of the page you want to see. This is something you can choose when you are in the preview.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650474-SilverStripe-CMS-Edit-Page-2.jpg" alt="SilverStripe preview screen" width="650" height="474" title=""/&gt;&lt;/p&gt;
&lt;p&gt;In future versions, the side-by-side view will be implemented for larger screens:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/_resampled/resizedimage650365-sidebyside.jpg" alt="SilverStripe side by side preview screen" width="650" height="365" title=""/&gt;&lt;/p&gt;
&lt;h3&gt;Under the hood&lt;/h3&gt;
&lt;p&gt;Besides the interface improvements, a lot of work has been done under the hood. The &lt;a href="http://www.silverstripe.org/silverstripe-3-s-new-orm/"&gt;ORM&lt;/a&gt; and the JavaScript have been completely rewritten.&lt;/p&gt;
&lt;h3&gt;Fieldtypes&lt;/h3&gt;
&lt;p&gt;There are also a few new field types that come with this new version. Most anxiously awaited is probably GridField. This field type will be replacing the Complex Table Field. It will even replace Uncle Cheese's &lt;a href="https://github.com/unclecheese/DataObjectManager"&gt;DataObject Manager&lt;/a&gt;, as &lt;a href="https://twitter.com/#!/_UncleCheese_/status/100935474755026945"&gt;he said&lt;/a&gt; on Twitter.&lt;/p&gt;
&lt;p&gt;There is not much documentation on it yet, but I got the demo from the &lt;a href="https://github.com/silverstripe-scienceninjas/sapphire/wiki/grid-field"&gt;wiki&lt;/a&gt; working:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/SilverStripe-CMS-Edit-Page-3.jpg" alt="SilverStripe GridField example" width="650" height="474" title=""/&gt;&lt;/p&gt;
&lt;p&gt;Another nice field type is FieldList, a search drop down you can see in the pages tab. You can limit the values in the dropdown by typing a value in the search field:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="left" src="http://defunkt.nu/assets/SilverStripe-CMS-Pages-1.jpg" alt="SilverStripe FieldList example." width="650" height="238" title=""/&gt;&lt;/p&gt;
&lt;p&gt;These field types will obviously also be available for your own page types, modules or front end work.&lt;/p&gt;
&lt;h3&gt;Modules&lt;/h3&gt;
&lt;p&gt;I tried to install a few modules I use on a regular basis. As it won't be supported anymore, it came as no surprise to see that the DataObject Manager didn't work at all. This is quite a big concern for upgrading 2.x, though. As it's unlikely that there will be an automagic conversion to the new GridField in your sites.&lt;/p&gt;
&lt;p&gt;Uncle Cheese's &lt;a href="https://github.com/unclecheese/LangEditor"&gt;Lang Editor&lt;/a&gt; didn't work either. I could install it and open it in the admin, but it just gave me a blank edit field.&lt;/p&gt;
&lt;p&gt;SilverStripe is really flexible right out of the box. That is one of the reasons you don't see a huge plugin market for it (like you have for Expression Engine or WordPress, for example). There &lt;em&gt;are&lt;/em&gt; a few very usefull plugins, though. It does worry me a bit, that plugins seem to be going to need serious rewrites to function in SilverStripe 3. I hope to proven wrong here. And I hope SilverStripe is considering a strategy to make upgrades (of sites and modules) as painless as possible.&lt;/p&gt;
&lt;h3&gt;Framework&lt;/h3&gt;
&lt;p&gt;As of now, you can also download an alpha standalone version of the SilverStripe framework (formerly known as Sapphire). SilverStripe runs on this framework. It was already possible to work in Sapphire while completely ignoring the CMS.&lt;/p&gt;
&lt;p&gt;Now both have been decoupled, which makes it even easier to build non-CMS apps. I think a good comparison is Expression Engine (CMS), which is built on top of CodeIgniter (open source framework) and is maintained by the same company. As a developer you know how to work with the framework and you can choose to use the CMS on a per project basis.&lt;/p&gt;
&lt;p&gt;I sure hope SilverStripe will go the extra mile and make the user guide as good as the one CodeIgniter has. That is a major selling point for people who start using that framework.&lt;/p&gt;
&lt;h3&gt;Future&lt;/h3&gt;
&lt;p&gt;Obviously, this alpha version is really an alpha version and not an early beta. It shows a lot of promise and already has a lot of improvements. To move SilverStripe further along, another &lt;a href="http://www.meetup.com/SilverStripe-Wellington-Meetup-Group/events/40369292/"&gt;hackfest&lt;/a&gt; has been anounced. I hope this will help to keep the beta version on schedule (probably somewhere by the end of the 2011).&lt;/p&gt;
&lt;p&gt;As far as I know a real stable version is expected somewhere in early 2012.&lt;/p&gt;</description>
			<pubDate>Tue, 08 Nov 2011 11:57:40 +0100</pubDate>
			
			<guid>http://defunkt.nu/blog-en/silverstripe-3-0-alpha-1-first-impressions/</guid>
		</item>
		
		<item>
			<title>The week in SilverStripe (2011 - week 46)</title>
			<link>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-46/</link>
			<description>&lt;p&gt;Deadly Technology has been busy this week, with two nice modules (with tutorials):&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://deadlytechnology.com/silverstripe/bare-bones-silverstripe-image-gallery-module/"&gt;Easy ‘Under Construction’ pages for SilverStripe sites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://deadlytechnology.com/silverstripe/under-construction/"&gt;Bare bones SilverStripe image gallery module&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;silverstripe.org has an interview with Ingo Schommer: &lt;a href="http://www.silverstripe.org/core-developer-ingo-schommer-sees-silverstripe-maturing/"&gt;Core Developer Ingo Schommer sees SilverStripe Maturing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Cam Findlay has a good &lt;a href="http://www.camfindlay.com/blog/introduction-and-setting-up-apes-automated-provision-for-email-services-on-silverstripe-cms/"&gt;video introduction on APES&lt;/a&gt;, his SilverStripe/MailChimp synchronization module. It looks impressive. I hadn't realized before that it makes adding extra member fields (that sync up with MailChimp) so easy.&lt;/p&gt;
&lt;p&gt;And finally, some upcoming SilverStripe meetups:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.meetup.com/silverstripe-netherlands/events/40783352/"&gt;SilverStripe Netherlands: third meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.meetup.com/SilverStripe-Germany/polls/417192/"&gt;SilverStripe Germany: first meetup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
			<pubDate>Mon, 14 Nov 2011 08:34:38 +0100</pubDate>
			
			<guid>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-46/</guid>
		</item>
		
		<item>
			<title>The week in SilverStripe (2011 - week 47)</title>
			<link>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-47/</link>
			<description>&lt;p&gt;The biggest news, without a doubt, was the &lt;a href="http://www.leftandmain.com/silverstripe-screencasts/2011/11/17/an-update-on-silversmith-translations-template-genius-and-more/"&gt;update&lt;/a&gt; on UncleCheese's &lt;a href="http://www.silversmithproject.com/"&gt;SilverSmith&lt;/a&gt; project. It looks very impressive and will be a great way to develop SilverStripe projects. If you haven't done so already, be sure to watch his (20 minutes long!) screencast:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://player.vimeo.com/video/32298985?title=0&amp;amp;byline=0&amp;amp;portrait=0" width="400" height="250" frameborder="0"&gt;&amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Ingo also has a nice &lt;a href="http://www.silverstripe.org/the-3-0-ui-a-better-framework-for-your-ideas/"&gt;article&lt;/a&gt; describing the work on the SilverStripe 3.0 CMS UI. I like the way silverstripe.org now seems to be posting a new article on semi-weekly basis. Gives some great insight in the 3.0 process.&lt;/p&gt;
&lt;p&gt;Browsing GitHub, I also keep bumping into new and interesting SilverStripe modules. A few days ago, &lt;a href="https://github.com/lx-berlin/NetefxValidator"&gt;NetefxValidator&lt;/a&gt; was pointed out to me on IRC. Looks like a good extra tool for validation.&lt;/p&gt;</description>
			<pubDate>Fri, 18 Nov 2011 06:42:07 +0100</pubDate>
			
			<guid>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-47/</guid>
		</item>
		
		<item>
			<title>The week in SilverStripe (2011 - week 48)</title>
			<link>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-48/</link>
			<description>&lt;p&gt;So, let's see what has been happening in SilverStripe land the past week.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will Rossiter&lt;/strong&gt; has &lt;a href="http://bit.ly/siXHzH"&gt;an article in this month's PHP Architect&lt;/a&gt; about the Silverstripe template engine and MVC.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sam Minée&lt;/strong&gt;, on the other hand, gave an &lt;a href="http://bit.ly/rWwnXl"&gt;interview to Idealog&lt;/a&gt; about his career at SilverStripe, from being a co-founder  to becoming CEO.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="leftAlone" src="http://defunkt.nu/assets/_resampled/resizedimage600342-sam.jpeg" alt="Sam Minée" width="600" height="342" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I recently started to use &lt;a href="https://github.com/sporkd/compass-html5-boilerplate"&gt;the Sass version of HTML5 Boilerplate&lt;/a&gt; and like it a lot as a starting point. So it's nice to see that Chillburn has made &lt;a href="http://bit.ly/vPKAUo"&gt;a SilverStripe theme based on HTML5 Boilerplate&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img class="leftAlone" src="http://defunkt.nu/assets/_resampled/resizedimage60065-HTML5-Boilerplate-A-rock-solid-default-template-for-HTML5-awesome..jpg" alt="HTML5 boilerplate" width="600" height="65" title=""/&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Codem released a new and promising module: &lt;a href="http://bit.ly/sVR2Cm"&gt;Display Anything&lt;/a&gt;. It can be used to replace the Image Gallery module.&lt;/p&gt;</description>
			<pubDate>Mon, 28 Nov 2011 14:03:38 +0100</pubDate>
			
			<guid>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-48/</guid>
		</item>
		
		<item>
			<title>The week in SilverStripe (2011 - week 49)</title>
			<link>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-49/</link>
			<description>&lt;p&gt;&lt;a href="http://www.silvercart.org/"&gt;SilverCart&lt;/a&gt; is an ecommerce solution for SilverStripe. Some time ago they released an all-in-one installer which they now demonstrate in a new video. The project seems to be coming along really nice.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
&lt;object width="630" height="457" data="http://www.youtube.com/v/RVKXu2Kqit4?version=3&amp;amp;hl=en_US" type="application/x-shockwave-flash"&gt;
&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowscriptaccess" value="always"/&gt;&lt;param name="src" value="http://www.youtube.com/v/RVKXu2Kqit4?version=3&amp;amp;hl=en_US"/&gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://groups.google.com/group/silverstripe-announce/browse_thread/thread/1ddea8d7f854f121?pli=1"&gt;UserForms 4.0&lt;/a&gt; has been released, which is mainly a maintenance and security update.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Silverstripe seems to have heard me when I said I liked te weekly articles on the blog. This week, they have the personal story of a SilverStripe website builder: &lt;a href="http://www.silverstripe.org/silverstripe-can-change-your-life/"&gt;Colin Burns - SilverStripe can change your life&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;There has been some concern on &lt;a href="http://groups.google.com/group/silverstripe-dev/browse_thread/thread/f451c96676be5560#"&gt;the UI in SilverStripe 3&lt;/a&gt;. Some users even posted a &lt;a href="http://silverstripe.me/participation/"&gt;usability test&lt;/a&gt;. I'm also concerned about the site tree, but as has been said before: it will be put back in some form or another for navigation. Interesting to follow up on, though, as the beta is coming closer.&lt;/p&gt;</description>
			<pubDate>Mon, 05 Dec 2011 10:26:27 +0100</pubDate>
			
			<guid>http://defunkt.nu/blog-en/the-week-in-silverstripe-2011-week-49/</guid>
		</item>
		

	</channel>
</rss>
