<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>blog</title><link>http://www.mark-constantine.co.uk:80/blog</link><description>blog</description><item><title>My Orchard Adventure</title><link>http://www.mark-constantine.co.uk:80/blog/my-orchard-adventure</link><description>&lt;p&gt;A good adventure it has been too.&lt;/p&gt;
&lt;p&gt;I must say I am very impressed with the CMS as a whole and the modules that are already appearing in the gallery. It is much easier to customise the layout than many other management systems that&amp;nbsp;I have used, including the much loved WordPress. Of course being a .NET techy and wanting to jump on the MVC band waggon I am sure to say that, but in honesty I believe those with even the minimal amount of&amp;nbsp;coding&amp;nbsp;knowledge would be able to hit the ground running once getting their heads around Razor.&lt;/p&gt;
&lt;p&gt;I would of course give a full walk-through but John Papa has already made a great tutorial in creating your first blog at &lt;a href="http://johnpapa.net/orchardpart1"&gt;http://johnpapa.net/orchardpart1&lt;/a&gt;. I am however going to give a quick overview of my own experiences, which may help you to make up your mind.&lt;/p&gt;
&lt;h2&gt;Designer Tools&lt;/h2&gt;
&lt;p&gt;One of the no.1 features of OrchardCMS for those wishing to create custom themes is the Designer Tools Plugin, which&amp;nbsp;provides you with an IE Developer Toolbar like feature to see what is going on in the current page. You can even create your alternative views directly from the Designer tool ready for editing in your chosen editor. The great thing with OrchardCMS is the ability to create custom views for Fields, Parts and Content Types making it them completely customisable and re-usable throughout your site.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/Media/Default/Blog/OrchardCMS/designer.png" width="600" height="212" /&gt;&lt;/p&gt;
&lt;h2&gt;Media Browser&lt;/h2&gt;
&lt;p&gt;Managing documents and inserting them into content can always be a pain but OrchardCMS makes it really easy. As a picture&amp;nbsp;is worth a 1000 words, I'll leave you to look at the following images.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/Media/Default/Blog/OrchardCMS/media1.png" width="486" height="115" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/Media/Default/Blog/OrchardCMS/media2.png" width="486" height="371" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="/Media/Default/Blog/OrchardCMS/media4.png" width="488" height="397" /&gt;&lt;/p&gt;
&lt;h2&gt;Custom Fields&lt;/h2&gt;
&lt;p&gt;On each page I have a title image and although there are probably many ways of doing this, one being to create a custom module, I wanted to keep my first experience simple. With this in mind I&amp;nbsp;used the integrated Custom TextField Property and then rendered&amp;nbsp;a custom view in the&amp;nbsp;Layout.&lt;/p&gt;
&lt;p&gt;First I placed the new PageTitle zone within the layout file&lt;/p&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&amp;nbsp;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"page-title"&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="background: yellow;"&gt;@&lt;/span&gt;Zone(Model.PageTitle)
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;div&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Once this&amp;nbsp;was in place&amp;nbsp;I created a new view that would be used to generate the new title image shape.&lt;/p&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="background: yellow;"&gt;@{&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&amp;nbsp;TitleImageUrl&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Empty;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&amp;nbsp;(Model.ImageContent&amp;nbsp;!=&amp;nbsp;&lt;span style="color: blue;"&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&amp;nbsp;imageUrlContainer&amp;nbsp;=&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((Orchard.ContentManagement.&lt;span style="color: #2b91af;"&gt;ContentItem&lt;/span&gt;)Model.ImageContent)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Parts.SelectMany(p&amp;nbsp;=&amp;gt;&amp;nbsp;p.Fields)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Where(f&amp;nbsp;=&amp;gt;&amp;nbsp;f.Name&amp;nbsp;==&amp;nbsp;&lt;span style="color: #a31515;"&gt;"TitleImageUrl"&lt;/span&gt;).FirstOrDefault();
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&amp;nbsp;(imageUrlContainer&amp;nbsp;!=&amp;nbsp;&lt;span style="color: blue;"&gt;null&lt;/span&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&amp;nbsp;imageUrl&amp;nbsp;=&amp;nbsp;imageUrlContainer.Storage.Get&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color: blue;"&gt;null&lt;/span&gt;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TitleImageUrl&amp;nbsp;=&amp;nbsp;Url.Content(Html.ThemePath(&lt;span style="color: #a31515;"&gt;"/Content/Images/"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;imageUrl));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&lt;span style="background: yellow;"&gt;}&lt;/span&gt;
&lt;span style="background: yellow;"&gt;@&lt;/span&gt;Display(&lt;span style="color: blue;"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;HtmlString&lt;/span&gt;(&lt;span style="color: blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515;"&gt;"&amp;lt;img&amp;nbsp;src='{0}'&amp;nbsp;/&amp;gt;"&lt;/span&gt;,&amp;nbsp;TitleImageUrl)))
&lt;/pre&gt;
&lt;p&gt;To render this in the correct zone in the content page view I used the following code, passing the current ContentItem into the TitleImage shape&lt;/p&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="background: yellow;"&gt;@{&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewBag.Title&amp;nbsp;=&amp;nbsp;Model.Title;
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WorkContext.Layout.PageTitle&lt;br /&gt;    .Add(New.PageTitleImage(ImageContent:&amp;nbsp;Model.ContentItem));
&lt;span style="background: yellow;"&gt;}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;If there is an easier way to do this, then please let me know.&lt;/p&gt;
&lt;h2&gt;Placement Info File&lt;/h2&gt;
&lt;p&gt;The problem with adding the custom field&amp;nbsp;included with Orchard CMS&amp;nbsp;is that it renders text to the content, unless someone can tell me otherwise. Either way, the best way to remove something in orchard that isn't required is by using the placement.info file included within the base directory as follows. I also made use of the Content:6 syntax, which made sure the ShareBar was placed after the bodypart within the blog post.&lt;/p&gt;
&lt;pre style="background: white; color: black; font-family: Consolas;"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Placement&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;!--&lt;/span&gt;&lt;span style="color: green;"&gt;&amp;nbsp;Customize&amp;nbsp;where&amp;nbsp;the&amp;nbsp;shapes&amp;nbsp;are&amp;nbsp;rendered&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;--&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;!--&lt;/span&gt;&lt;span style="color: green;"&gt;&amp;nbsp;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Place&amp;nbsp;Parts_Blogs_BlogArchives="Content:before"/&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Place&amp;nbsp;Parts_Blogs_RecentBlogPosts="Content:after"/&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Match&amp;nbsp;ContentType="Blog"&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Match&amp;nbsp;DisplayType="Summary"&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Place&amp;nbsp;Parts_Blogs_Blog_Description="Content:before"&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Parts_Blogs_Blog_BlogPostCount="Meta:3"/&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Match&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Match&amp;gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Match&amp;nbsp;Path="/About"&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Place&amp;nbsp;Parts_Common_Metadata="-"/&amp;gt;&lt;/span&gt;
&lt;span style="color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Match&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;--&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Place&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Parts_Share_ShareBar&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;Content:6&lt;/span&gt;"&lt;span style="color: blue;"&gt;&amp;nbsp;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Place&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Fields_Common_Text-TitleImageUrl&lt;/span&gt;&lt;span style="color: blue;"&gt;=&lt;/span&gt;"&lt;span style="color: blue;"&gt;-&lt;/span&gt;"&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Placement&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;h2&gt;Modules&lt;/h2&gt;
&lt;p&gt;Other than the obvious Blog module, there are some pretty good 3rd party tools that are freely available through the module gallery. The main ones&amp;nbsp;worth noting are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Contrib.GoogleAnalytics" target="_blank"&gt;Google Analytics&lt;br /&gt;&lt;/a&gt;&lt;/strong&gt;Nothing much more than the ability to place your analytics script on each page, nevertheless very useful.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.CyberStride.Contacts" target="_blank"&gt;CyberStride.Contacts&lt;br /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;span&gt;Does all the grunt work on saving contact forms and recieving emails.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;strong&gt;&lt;a href="http://orchardproject.net/Gallery/List/Modules/Orchard.Module.Heikura.SyntaxHighlighter/1.0.2" target="_blank"&gt;Syntax Highlighter for Orchard&lt;br /&gt;&lt;/a&gt;&lt;/strong&gt;Allows you to format your code nicely, as you can see in this post.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://orchardproject.net/gallery/List/Modules/Orchard.Module.Szmyd.Orchard.Modules.Sharing" target="_blank"&gt;&lt;strong&gt;Content sharing&lt;/strong&gt;&lt;br /&gt;&lt;/a&gt;The ability to share your pages and blog posts is made easy using this module and the &lt;a title="Add This" href="http://www.addthis.com" target="_blank"&gt;AddThis&lt;/a&gt; service.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;To take advantage of the full capabilities of Orchard CMS&amp;nbsp;I have a lot more researching to do, but turning my basic website into a fully fledged CMS / Blog site has been made a pleasureable experience and more importantly, pain free. Hope my first blog didn't bore you too much.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><pubDate>Fri, 17 Jun 2011 01:33:16 GMT</pubDate><guid isPermaLink="true">http://www.mark-constantine.co.uk:80/blog/my-orchard-adventure</guid></item></channel></rss>
