This topic provides an overview of the purpose of tools and their usage in Sitefinity.
Tools are rather similar to Modules by their functionality and appearance. However, their purpose is what distinguishes tools from modules. Modules are small applications
used by the CMS users to create and manage content. Like them, tools are small applications used by the CMS users and administrators - however, all tools'
parts are invisible on the public side of the CMS.
In Sitefinity 3.2, there is only one built-in tool, namely the Export Tool. Its purpose is to allow administrators to export any
Sitefinity website and use it as a template when creating a new site. This illustrates quite well the functionality that tools are meant to provide. The Export tool helps CMS
administrator to create site templates and use these templates later on to create similar sites, without having to start from the scratch.
Creating New Tools for Sitefinity
Creating new tools for Sitefinity is a very simple task. Every tool (just as a module or a service) needs to be registered in the web.config file. The only other
requirement is that the class representing a tool implements the ITool interface.
Every tool will generally consist of one or more custom controls representing its user interface. It is good to know that like Modules, tools have a ControlPanel control, but,
unlike Modules, tools are not able to define their own CommandPanel.
When to Develop Tools?
There are cases when developers need to develop pieces of code that will not directly create content, but rather provide some auxiliary functionality. This is where tools
come into usage. Functionalities such as export tool, site analytics, reporting, and so on, are perfectly suitable to be developed as tools.
See Also