First I think it’s better to explain the terminology we are using to avoid any confusion. Any piece that is a UserControl (.ascx) or CustomControl in terms of ASP.NET we refer to as a control.
Controls do not need to implement any specific interfaces in order to work with Sitefinity. You can add any type of controls to Sitefinity’s toolbox through the web.config.
What you are describing here is what we refer to as a module. Modules are independent applications hosted by Sitefinity. Usually modules are comprised of groups of controls that work together to form some business logic. They are not required to use the same provider or configuration model as Sitefinity. The only interface that is required for a module in order to be hosted by Sitefinity is IWebModule. We will provide an example with detailed explanations of all aspects.
Now let’s get your questions answered.
Section handlers are used to read configuration settings from the web.config file.
You are not required to use providers.
Toolbox Panel and Control Panel are used in administration. No specific interfaces are required for Control Panel. ToolboxItem class is used to provide information for public controls. You are not required to have your own implementation of ToolboxItem. You can use it like this “new ToolboxItem(typeof(MyControl))”.
It is a bit more complex implementing Toolbox Panel for the administration and I can’t explain it here.