Thanks to visit codestin.com
Credit goes to dotnest.com

Blog

Show Orchard is back online, on DotNest

You may have heard of Show Orchard, but only if you've been in the Orchard CMS community for a longer time: Show Orchard is a showcase for great Orchard websites, but has been down for the better part of the last year. Now it's back online, but as a DotNest site, with a Media Theme, and maintained by Lombiq. Check it out for some of the nicest Orchard websites and if you know one that's not listed send it to guys at showorchard.com! Also, a case study is coming!

Develop themes for your DotNest sites with the DotNest SDK!

We've talked about this idea within Lombiq for quite a while and it's finally here! The DotNest SDK is the easiest way for developing themes for DotNest sites before deploying them as a Media Theme. It contains the same Orchard code base and all the open-source modules and themes on top of that as what's running on DotNest, so you can run your site locally with confidence that it's going to behave almost exactly the same as the live one. We also have a nice developer story with automatic updates from the SDK to your repository to make sure that you're able to work the latest code (make sure to read the Readme!). The DotNest SDK is available as a Git repository on GitHub and as a Mercurial repository on Bitbucket with continuous bi-directional synchronization powered by Git-Hg Mirror, another awesome Lombiq project.

New module added: Feed Aggregator

Most of the time you don't just want to have a website standing alone but you also want to hook it up with other services, social media integrations being the most basic example. Now we added the Feed Aggregator module to give you more options: It allows you to automatically sync content from RSS and Atom feeds to your DotNest site. So if you want to import content from other blogs, embed images from a remote image gallery or list videos from a YouTube channel, now you can do this easily. The new module also runs Orchard Blogs: Think of it as your Orchard-related feed reader. It automatically syncs blog posts from the Orchard blogosphere. So go ahead, create a DotNest site and check out how to sync some feeds!

New theme: Basic Blog Theme

There are a lot of modules available on DotNest, but not that many themes to style your sites. You asked for more, and we listened: the Basic Blog Theme by Márk Bartha is now available for all DotNest sites! The theme is simple but good-looking, and is (surprise!) especially well suited for styling a blog. Did you procrastinate on starting your own blog just because "nah man, DotNest still doesn't have a theme that I'd use on my blog"? You don't have to wait any more, add your blog for free!

Instant search for your sites with Algolia

Algolia is a pretty neat hosted indexing/search service, it's a bit like Lucene in the cloud, but extremely fast. Now it's available for all DotNest sites! Lombiq created the Orchard Algolia Search module, so now using Algolia search in Orchard is just a matter of installing and configuring a module. This module is also available now on DotNest, so you just need an Algolia registration to start! So if you want to play with the module, just create a free DotNest site! Oh, and what if you're even lazier then this? Then check out the Orchard Algolia Search Demo site here on DotNest!

Multi-user blog with proofreading tools and automated content sharing - Microsoft Student Partners case study

There is a blog for the Hungarian Microsoft Student Partners developed by Márk Bartha and Dominik Földi here on DotNest which is a great proof of how far you can get using only the built-in DotNest features and Media Theme for theming. Microsoft Student Partners are a group of university students who are enthusiastic about Microsoft technologies, regularly organizing meetups and workshops in their country. This blog has been written in Hungarian but it's still a really good example of a nice and heavily customized DotNest website. This is a guest post by Márk Bartha, software engineer at Lombiq. Click here to open the repository page of the theme project. Requirements Authenticated users who are using the website are in different roles. For example, the Student Partner role makes the user able to create a blog post, however, they are unable to publish it. Student Partner Mentors are proofreading the blog posts and hit the Publish button. Also, there are the Administrators who are able to create static pages (e.g. about page), event announcements or forms for contacting student partners. Let's see what features are implemented on this site hosted on DotNest. Create blog posts by student partners Publish blog posts by student partner mentors Set the status of blog posts (e.g. "Done", "Proofreading" or "Editing") Highlight a blog post on the home page Set header images for blog posts Create user profile pages to let the authors introduce themselves Create and publish event announcements and static pages by administrators Send emails to the student partners if a comment has been added anywhere on the site Create a contact page where the users can send a message to the student partners via email Share the blog posts on Facebook, Twitter, and Google+ automatically after a blog post has been published Other stuff like listing the posts and events in widgets and also be fancy using a nice customized Bootstrap theme Some of these features are pretty trivial to achieve in Orchard. To keep this case study exciting only the most interesting implementations will be described in-depth. Creating and displaying blog posts with proofreading possibility Fields as placeholders First of all, the BlogPost content type has been updated with a few additional fields. Most of these fields are functioning as placeholders (ie. their shapes has been overridden to display some data). For example, there are social share buttons displayed on the blog post detail page. To achieve this, an InputField has been added and overridden in the theme in the Fields.Input-Social-ContentSharing.liquid file containing the various share buttons. There is another field to display the author's name and profile link on both summary and detail pages. This one is in the Fields.Input-AuthorPart-ContentAuthor.liquid file that contains this code: <span class="content-author {{ Model.ContentItem.ContentType }}-author"> <a href="{% Href "~/Profile", Model.ContentItem.CommonPart.Owner.UserName %}">{{ Model.ContentItem.CommonPart.Owner.ProfilePart.FullName.Value }}</a> </span> Note, that these fields are on custom content parts to be able to reuse them on the Event content type. Highlighting a blog post To make it possible a BooleanField has been added to the BlogPost content type. Using this, the editor or the mentor can mark the post highlighted. There is a Query that fetches the posts with this field set ON and orders them by CreateDateUtc descending. It's using an unordered HTML list with a custom display type to render the items. Finally, a ProjectionWidget using this Query has been placed into the BeforeMain zone (can be Featured zone or anything) and only the first item has been displayed. Proofreading blog posts As mentioned above, the student partners are not authorized to publish blog posts. They can mark a blog post as "Done" by updating an EnumerationField attached to the BlogPost content type. After a mentor has logged in they see these posts and can review their content and publish them. If the post is not ready, they can mark it as "To be fixed". But how can the users see what status has a blog post been set to? The display shape of this field has been overridden in the Fields.Enumeration-StatusPart-Status.liquid that has been made visible in the admin summary from Placement.info. Since the theme stylesheets have no impact on Dashboard pages, this shape contains a liquid switch for assigning a background color for the status text container. Note, that it is possible to include static resources using the Liquid Markup. The following code section has been updated to show English status descriptions. {% if Model.ContentItem.VersionRecord.Published == false %} {% case Model.ContentField.Value %} {% when "In progress" %} {% assign bgColor = "gray" %} {% when "Waiting for proofreading" %} {% assign bgColor = "#fa6800" %} {% when "Proofreading in progress" %} {% assign bgColor = "#6a00ff" %} {% when "Can be published" %} {% assign bgColor = "#008a00" %} {% when "Has to be fixed" %} {% assign bgColor = "red" %} {% else %} {% assign bgColor = "transparent" %} {% endcase %} <div style="padding: 5px; background-color: {{ bgColor }}; width: auto; display: table-cell; color: white; font-weight: bold; width: 110px; text-align: center;"> {{ Model.ContentField.Value }} </div> {% endif %} Using workflows to send emails After a user commented on a blog post or an event announcement the student partners need to be notified about it. There is a pretty easy solution for this by using a workflow that is triggered by the Created Comment content item and followed by an Email activity. The Email activity is using tokens to display the author and their email address of the comment and the text itself. The visitors on the site may want to send a message to the student partners. DynamicForms feature is the best solution for this since it has a Workflows activity that is fired after a dynamic form has been submitted. One can use this activity as a workflow trigger followed by an Email activity that can send the form values via email to the student partners. Managing and displaying user profiles The authors need to have a profile page where they can show a bio and other personal details like social profile links and their roles at Microsoft. Also, they want to list the posts they have already created on the site. The Contrib.Profile module provides two pages where the users can edit and view their profiles outside the Orchard Dashboard. The User needs to have a ProfilePart where some fields have been attached to like FullName, Email, Bio and the social profile URLs. To be able to list the blog posts created by the user a ProjectionWidget is used. The Query has a filter that selects the content items matched by a search query in a search index. The query string is a token which gets the username from the route: {Request.Route:username}. Sharing blog posts on the social networks automatically To reach the followers and notify them the posts has to be announced on Facebook and Twitter. To make this happen automatically the well-known IFTTT has been used. It polls the RSS feed of the blog, and if it detects a new content it shares a post on Facebook and Twitter using the title and the URL of the content. Nice and simple. If you liked this case study and realized how cool features you have to create a nice website, just create your own site on DotNest for free. If you have any questions, then leave a comment below.

The DotNest idea board is now on GitHub

After introducing our (yet small) Support page the most important thing you'll notice that we retired the forum and introduced GitHub! More specifically you can add feature request and other ideas, ask questions, and post bugreports under the DotNest Support GitHub repository. Most of you will be already quite familiar with GitHub and its ticketing system; for the others: It's much better than the old forum and you'll like it! Under our GitHub repository now you can see what we have in mind currently for DotNest, what new things we'll introduce in the future. You can let your voice be heard there, add your ideas or concerns, anything you want to steer DotNest into a direction you want it to be headed. Sounds cool? Check out the existing issues to see what's in for DotNest!

Orchard Tricks case study: Create your personal blog on DotNest

George Roubie, an Orchard developer from Greece runs his personal development blog on DotNest as Orchard Tricks. Now he has summarized how he has created his site in this detailed case study. Enjoy! This is a guest post by George Roubie. Choose a template You can create your custom theme from scratch and upload with the Media Theme Deployment. On the other hand, if you don’t want to write everything yourself, you can choose one theme from the built-in ones. In Orchard Tricks I am using the PJS.ReTouch. Basic customization of the template Theme Options Some themes like PJS.ReTouch or other PJS themes have their own settings so you can change the appearance as you like. Change the favicon After you change the options of your theme you should change the favicon of your blog. Upload your favicon in the media folder. Go to Theme Override Settings and add your favicon URL. Features Analytics Every site needs Google Analytics, so if you want to track your users you have to enable the Simple Analytics module. After this you need to go to Settings and add the code that Google gave to you. Contact form A contact form is required if you want to have some feedback from your users. You have to enable the Dynamic Forms module so you can create a form with drag-and-drop. If you want to prevent bots from submitting your contact form you have to add a Re-Captcha element to your form, but first you have to enable the Anti-Spam Elements feature. The problem at this point is that you have to sign in to the dashboard every day to check if someone has sent you a message. This problem is solved if you create a workflow that notifies you with an email on form submit. You have to enable the Email Messaging and the Email Workflow Activities features for this. You don’t need to fill the STMP settings because DotNest has already filled that for you. Your workflow will look like this: Search form Every site needs one and the installation is so easy. Go to Modules > Recipes > Search and click Execute. The Search is now working but you can go to content definition and add more content that will appear in the search results. The final step is to go to Widgets and add the Search Form Widget. Useful Widgets The most useful widgets for a blog are: Recent Blog Posts Tag Cloud These I also added on Orchard Tricks. Customize blog posts Styling You can easily overwrite the styling of the blog post, by enabling the Theme Override feature, then going to Theme Override Settings and adding your CSS to Styles > Custom Styles. This stylesheet will be included last, so you can override any styling. Comments I actually don’t like Orchard Comments and I always remove the Comment Part from Blog Posts. Instead I add Disqus comments. You will have to enable Liquid Markup Templates module so that you can override how Blog Posts are displayed. I prefer to add the comments after the Body so I am overriding the Blog Post Body Part. You have to create a template with the name Parts_Common_Body__BlogPost: Your template should look like this: Liquid Markup is very powerful and you can do a lot of content customization. You can check out the public blog at https://orchardtricks.dotnest.com/. Go ahead and create your DotNest site for free to build your own blog!

You can easily build image carousels/sliders now!

It was a recurring request we received from all of you people running Orchard sites on DotNest that it should be easier to build image carousels/sliders. So we listened and added a module to allow just that! The newly released Lombiq Layouts module is now available for all DotNest sites. The module contains a Slider Element feature which, not too surprisingly, adds a slider/carousel Element to the Layouts editor. So now you can use the familiar layout editor you've already seen when editing pages to drag-and-drop a Slider Element onto the canvas. Then you can go on and drop Image Elements or really any other Element onto the Slider to build a configurable, easy to use carousel. Sounds good, right? So go ahead and add some kick-ass sliders!

Indian Orchard community site launched on DotNest

As announced recently a theme for Orchard community sites, as well as free custom domain usage for them is now available on DotNest. The first such community site to be moved to DotNest is the Orchard Project Indian Community website: Abhishek migrated the website from Azure to DotNest very quickly. You can read about his experiences in this blogpost!

Learn Orchard Core

Your center for Orchard Core training, information, newsletters, and valuable resources to boost your Orchard skills.

Need custom Orchard Core development?

Lombiq is a leading Orchard Core development agency with more than 10 years of experience. We build enterprise-grade solutions for clients worldwide.