When adding Properties to a Component, the framework also tries to fill in any blanks left by the developer, in the same way as we saw it with the omission of certain attributes when constructing the MyComponent. Let us see this in action by creating a few Properties for the MyBlog: a string property called BlogTitle and a string property called Text.
...string _blogTitle = "Blog";
string _text;
public string BlogTitle {
  get {
    return _blogTitle;
  }
  set {
    _blogTitle = value;
  }
}
public string Text {
  get {
    return string.IsNullOrEmpty(_text) ? "": _text;
  }
  set {
    _text = value;
  }
}...
Notice once again that we have not added any attributes to the properties, but if we take a look at the properties in the BackOffice, we will notice that the framework defaults to using the Property's variable name when no caption has been specified. Similarly the framework will choose an appropriate property editor to display in the BackOffice, when one has not been set manually by the developer, which in our case means that the framework will choose a text input field for both of the string properties.

MyBlog Properties
MyBlog Properties

Now if we look at our Properties it would seem that a text area would be more suitable for the Text Property since it should contain a whole article. In the following section we will talk about how to fix this, by adding a new PropertyEditor.