 exportable objects ui creator most user interfaces for exportables are very similar so ctools includes a tool to provide the framework for the most common ui this tool is a plugin of the exportui type in order to create a ui for your exportable object with this tool you first need to ensure that your module supports the plugin function hookctoolsplugindirectory module plugin if module ctools plugin exportui return plugins plugin then you need to create a plugin inc file describing your ui most of the ui runs with sane but simple defaults so for the very simplest ui you don t need to do very much this is a very simple example plugin for the example export type plugin array the name of the table as found in the schema in hookinstall this must be an exportable type with the export section defined schema example the access permission to use if not provided it will default to administer site configuration access administer example you can actually define large chunks of the menu system here nothing is required here if you leave out the values the prefix will default to admin build and the item will default to the plugin name menu array menu prefix admin build menu item example title of the top level menu note this should not be translated as the menu system will translate it menu title example description of the top level menu which is usually needed for menu items in an administration list will be translated by the menu system menu description administer site example objects these are required to provide proper strings for referring to the actual type of exportable proper means it will appear at the beginning of a sentence title singular t example title singular proper t example title plural t examples title plural proper t examples this will provide you with a form for editing the properties on your exportable with validate and submit handler the item being edited will be in formstate item the submit handler is only responsible for moving data from formstate values to formstate item all callbacks will accept form and formstate as arguments form array settings examplectoolsexportuiform validate examplectoolsexportuiformvalidate submit examplectoolsexportuiformsubmit for a more complete list of what you can set in your plugin please see ctoolsexportuidefaults in includes exportuiinc to see what the defaults are more advanced uis the bulk of this ui is built on an class called ctoolsexportui which is itself stored in ctools plugins exportui as the default plugin many uis will have more complex needs than the defaults provide using oo and overriding methods can allow an implementation to use the basics and still provide more where it is needed to utilize this first add a handler directive to your plugin inc file handler array class ctoolsexportuiexample parent ctoolsexportui then create your class in ctoolsexportuiexampleclassphp in your plugins directory class ctoolsexportuiexample extends ctoolsexportui you can override any method found in the class see the source file for details in particular there are several list methods that are good candidates for overriding if you need to provide richer data for listing sorting or filtering if you need multistep add edit forms you can override editpage addpage clonepage and importpage to put your wizard in place of the basic editing system for an example of how to use multistep wizards see the importpage method  