In this chapter we discussed building CMS-aware controls and custom placeholder controls. Building a CMS-aware control is very similar to building other .NET controls, except a CMS-aware control "knows" how to react in the CMS environment (between authoring and live). This could be as simple as recognizing the various modes of the author or implementing features specific to a CMS object, like a posting. For our example, we demonstrated how to create a PlaceholderLabel user control and talked about how you could create a similar control as a composite server control.
We also built two custom CMS placeholders. In our examples, we demonstrated creating a custom placeholder that appeared to the author as a drop-down list. This control allowed the author to select the industry with which a specific case study was associated. In addition, we demonstrated how to create an authoring-only placeholder. The calendar placeholder we showed provided a mechanism for the content contributors to change the start-publish date of a posting while they were authoring.
Obviously our examples were presented within the context of the BOTS Consulting solution. However, the concepts and techniques shown here can be used across a wide variety of projects. What you should have seen here are the possibilities for custom controls to enhance and extend CMS. For additional examples of CMS-aware controls and custom placeholders, visit http://www.gotdotnet.com.