Yo voy a mostrarlo tomando como ejemplo la tool provista por el producto que integra Plone con Salesforce, Product.salesforcebaseconnector.
Aqui como:
1) Agregar un archivo toolset.xml a nuestro profile/default (o el profile que esten usando) con lo siguiente
2) En un archivo python (salesforcebaseconnector) lo siguiente:
<?xml version="1.0"?>
<tool-setup>
<required tool_id="portal_salesforcebaseconnector"
class="salesforce.patch.salesforcebaseconnector.SalesforcePatched"/>
</tool-setup>
from Products.salesforcebaseconnector.salesforcebaseconnector import SalesforceBaseConnector
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from AccessControl import ClassSecurityInfo
from Products.CMFCore.permissions import ManagePortal
class SalesforcePatched(SalesforceBaseConnector):
def __init__(self):
super(SalesforcePatched, self).__init__()
security = ClassSecurityInfo()
security.declareProtected(ManagePortal, 'manage_config')
manage_config = PageTemplateFile('www/manageAuthConfigCustom', globals() )
3) Por ultimo en la carpeta www, un manageAuthConfigCustom.zpt con el template customizado
4) Instalar el producto y la tool se reeinstalara (cuidado aca, si habia datos que la tool mantenia, como en este caso el login a salesforce, todo eso se pierde, y hay que volver a cargarlos)
En realidad, en la clase SalesforcePatched piso un par de metodos de SalesforceBaseConnector, que no vienen al caso ahora.
Espero que a alguien le sirva esto.
Cheers
EDIT: Gracias Santiago por el comentario para poder meter codigo xml en el post y para colorear, aguante Kate :D