Tuesday 10 July 2012

Umbraco Membership


Umbraco Membership is quite powerful but while working on the project I found that all the resources are quite scattered.  So, I am putting up these links that were quite useful fon my recent projects using Umbraco Membership.

Umbraco Membership uses ASP.NET Membership Provider Model. It has been extended with powerful API from Umbraco.

Umbraco Membership Videos are great place to start for basic understanding.

One can use these Umbraco Membership Templates to make a quick start.
http://www.blogfodder.co.uk/2011/12/31/umbraco-membership-templates

This link provides details on Umbraco Membership using Member, MemberType, MemberGroup API’s. http://our.umbraco.org/wiki/reference/api-cheatsheet/working-with-members

This link provides common tasks on ASP.NET Membership API.
http://our.umbraco.org/wiki/how-tos/membership-providers

I hope above links to be helpful for you. Further, I am happy to assist on any Umbraco CMS solutions.

Saturday 5 May 2012

CMS For Mobile And Web

Common CMS for Mobile and Desktop Sites!

Desktop Sites are not mobile-friendly when viewed from the Mobile devices. Mobile Sites need to provide users precisely what they are looking for quickly and simply.

A staggering 2 billion people worldwide have a mobile device. A majority of searches are now coming from these devices. Mobile friendly sites can boost site SEO and overall user experience.

If you need any further assistance please let me know at sk27279@hotmail.com and I will be glad to assist you.

Link:- http://our.umbraco.org/projects/starter-kits/mobileandweb

  • It allows mobile site to access from same link instead of building a separate m.url. Therefore, helping site to gain more traffic and benefit from SEO.
  • You can optimise your website for smartphones (and tablets);
  • As it’s a common CMS so cost of development gets reduced.
  • You can even manage content in an offline 'app'.

Some of the example sites are available below:-





Wednesday 15 February 2012

Umbraco New Data Type using User Control Wrapper and store as a class object


I have been reviewing article Usercontrol Wrapper and storing parseable XML data, and was interested to check out how a class object can be stored and retrieved.

I created this dummy class that will get populated using User Control Wrapper.


public class DDValues
    {
        public string Name { get; set; }
        public int ID { get; set; }
        public DDValues() { }
        public DDValues(string name, int id)
        {
            Name = name;
            ID = id;
        }
        //Other properties, methods, events...
    }

Here is an example on how to set it up.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using umbraco.cms.businesslogic.datatype;
using System.Data;
using umbraco.editorControls.userControlGrapper;

namespace MobileSite_Controls.usercontrols
{
    public partial class DropdownByTypeReturnClass : System.Web.UI.UserControl, umbraco.editorControls.userControlGrapper.IUsercontrolDataEditor
    {
        [DataEditorSetting("Type ID")]
        public string typeid { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                string connection = System.Configuration.ConfigurationManager.AppSettings["umbracoDbDSN"].ToString();
                ddcontrol.DataSource = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(connection, CommandType.Text, "SELECT id, Name FROM tblcustomDropdownValues where TypeID=" + (string.IsNullOrEmpty(typeid) ? "0" : typeid));
                ddcontrol.DataTextField = "Name";
                ddcontrol.DataValueField = "Name";
                ddcontrol.DataBind();

                ddcontrol.Items.Insert(0, new ListItem(string.Empty, string.Empty));
                ddcontrol.SelectedIndex = 0;

                if (_umbval!=null) { ddcontrol.SelectedValue = _umbval.Name; }
            }
        }

        private DDValues _umbval;
        public object value
        {
            get {
                    return SerializationHelper.ValueToXmlString(new DDValues("Boston", 1));
                }
            set {
                if (value != null && string.IsNullOrEmpty(value.ToString()))
                {
                    _umbval = new DDValues("", 0);
                }
                else
                {
                    try
                    {
                        _umbval = (DDValues)SerializationHelper.ValueFromXmlString(value, typeof(DDValues));
                    }
                    catch
                    {
                        _umbval = new DDValues("", 0);
                    }
                }
            }
        }
    }

    public class DDValues
    {
        public string Name { get; set; }
        public int ID { get; set; }
        public DDValues() { }
        public DDValues(string name, int id)
        {
            Name = name;
            ID = id;
        }
        //Other properties, methods, events...
    }
}

Now, above Data Type can be assigned to the new Document Type with an alias. Example alias can be StateDD

To output on the front-end using Razor script
<umbraco:Macro runat="server" language="cshtml">
@Model.StateDD.ID
@Model.StateDD.Name
</umbraco:Macro>



Thursday 2 February 2012

Umbraco Flexible Template


Umbraco provides great opportunity to develop the CMS as per exact needs of the client. We have been building Umbraco Flexible Template in most of our projects and it does suits all of them well.

Most of the site has fixed Header, Footer, Navigation Area. However, Centre Area needs flexibility and in some pages we might require just the Main Content Area with full width. While in other areas, Main Content Area can be surrounded by other widgets as below.

We prefer controlling width of main content area using CSS. So, if right widget is not available then increase the width to 100%. Also have flexibility to show/hide widgets. This technique will help developers to maintain single template but meet various combinations to change the layout of the page.


Monday 23 January 2012

Umbraco CMS - Image Gallery

Recently, we build an Image Gallery for one of our client. It has been a flexible Image Gallery with lot of options to align images left or right, change the image size, limit the number of images per row, show child links, etc.

We are using Umbraco CMS to built the site and Razor Scripts has been used to built the plugin. Below is a brief video to show the Image Gallery.


Sunday 22 January 2012

Tips on Umbraco CMS Development

We have been doing Umbraco Development and here are some tips on how you can improve your Umbraco Development. Please do contact us to share your experience or queries.

1. Razor Script is going to make things much easier for Umbraco Developers. I feel it’s much easier for .NET developers to understand it instead of XSLT. This will be significant leap for Umbraco popularity as their community will grow. So, I think one should start using Razor in new/ongoing development. There is a learning curve but it’s worth a call.

2. Standard Template:- Most of the sites require a standard template which can include Left Panel, Centre Panel, Right Panel. Each Panel can have further various sections in them. Sections can be a List items, featured image, left navigation, polls, weather panel, calculation panel, etc. We would suggest that one should create a Standard Template with Settings Tab that has option to show/hide each sections.

Based on active sections, we can show Panels on the pages. This gives user a standard template that can be used across many pages but ensuring one don’t need to create lot of templates based on the subtle changes on the pages. One of the ways to controlling development cost while building CMS.

3. Use of AJAX: Accessing Restful API’s is quite easy and they will dramatically increase the performance where partial page loading is an option. Again initial configuration may take time as you need .NET 4.0 framework atleast and need to use API of Umbraco but once we understand configuration steps then for a .NET developer it’s just another C# code.

4. USE DEAD LINKS: “DEAD LINKS” can really bring excellent SEO Optimisation technique to your site. These links will allow you to collaborate more content and therefore increasing the SEO for your site.

Example, a News Page can have Sections and News Items and by default Umbraco generates links for each of them. If these sections and News Items do not have their own templates then redirect them to News Page. Now, when these sections/news items links are accessed then it will redirect to News Template but with errors. Developers should write News Template in such a way that if pages are accessed using sections/News Items links then they scroll to that section/news item area using Anchor Name Tag.

5. .NET User Controls: .NET User Controls can share user entered information from site map using Macro properties. This is a good approach on how User Controls can listen to user information and accordingly apply logic to it.

6. Rich Text Editor: When I copy from Notepad then sometimes text appears in tag. These things can be configured from tinyMceConfig.config files. We would also suggest to use Dummy stylesheet for Related stylesheets rather than using your original stylesheet file.



One can add the relevant Dummy new styles back to your original stylesheet. It will avoid any background issues with your RichTextEditor.  

Tuesday 3 January 2012

Umbraco CMS (Innovative like LEGO Toys)

We have used various CMS over the years from WordPress, Joomla, Drupal, Telerik Sitefinity, DotnetNuke, etc. Recently, we are developing CMS using Umbraco and have found good reasons for it’s recommendations.
  • It’s a .NET open source and provides opportunities if you want to extend system with other Microsoft products/packages.
  • Umbraco CMS has amazing scalability. It can be used for smaller to medium level CMS development. It’s powerful yet simple to use.
  • Like, a classic LEGO toys that can be crafted to a structure by kids innovation. Umbraco CMS provides lot of power to their developers to build an engaging and scalable site. Developers can built separate building blocks and then can join it to built a site.
  • Umbraco Latest Releases comes with Razor Scripts and that has made things quite easier to develop.
  • It provides full control over design and markup.
  • It comes with plenty of ready to use plugins and this community is growing.
I am sure with latest set of releases this CMS is more user/developer friendly and is here to stay.

CMS for Multi Site & Multi Devices

Global Organisations would look-out for single CMS that can manage multi-language sites, different branding sites with some of the similar content, Mobile sites, Tablet sites, Mobile Apps on various devices (iPhone, Android, Nokia, Blackberry, Windows Mobile 7). Umbraco CMS can meet all these needs and we have built our skill-set and resources to meet all these needs.

Mobile application requires online/offline model. So, when users are out of internet range then can review apps from offline data and where internet is available can receive the updated data from the server.

Umbraco CMS can meet your needs to develop a brand image on various devices and can be easily integrated with other web-based systems (various eCommerce System, Microsoft SharePoint, Microsoft CRM, Salesforce.com, etc)

We have built CMS sites using WordPress, Joomla, DotNetNuke, Drupal, RedDot CMS and can assist you on the CMS review. Umbraco CMS has improvised their releases and because of its no-cost, open-source licensing, easy to use and vast potential is gaining lot of popularity.