lunes, 11 de mayo de 2009

Customizando una portal tool

Cuando se trabaja en sitios Plone, a menudo se trabaja desde la interfaz ZMI (Zope Management Interface). Por consiguiente, a veces es necesario cambiar el funcionamiento de alguna de estas 'tools' que fueron provistas por algun producto.
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

<?xml version="1.0"?>
<tool-setup>
<required tool_id="portal_salesforcebaseconnector"
class="salesforce.patch.salesforcebaseconnector.SalesforcePatched"/>
</tool-setup>
2) En un archivo python (salesforcebaseconnector) lo siguiente:

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

3 comentarios:

Santiago Bruno dijo...

Hola Frapell. Para el código, tendrías que meterlo entre tags <pre>, así de paso vas a solucionar el problema de la indentación que no se muestra en el código python.
Lo que podés hacer también, es exportarlo como HTML desde kate, así te hace el coloreado de sintaxis.

Saludos!

zarolalaatsch dijo...

Daniel used his numerous skills to 헤븐카지노 assist and/or lead the advertising departments of regulation companies, gaming firms, franchises and sports groups. Earlier this week South Korean authorities in Busan announced that they'd arrested 17 individuals, in connection with two online sports playing rings. Busan police imagine that the 2 rings had collected over $795 million USD in bets from locals. The suspects face costs of violating the National Sports Promotion Act.

dagnalaberge dijo...

Willie Wilcox, who’s Chief Sound Designer for Scientific Games out of Las Vegas, helps break it down. While this Goodness Ratio will be comparable for many of} slot machines, could be} startling to seek out|to search out} “sucker bet” slot machines that might not otherwise be avoided. If it's a poorly performing machine, a “tight” slot machine, it won’t pay 퍼스트카지노 out anything at all. This thrilling space has action from over 200 of the newest slots and your favorites. Enjoy games like Buffalo Diamond, Buffalo Link, Cash Express Luxury Line and Cash Falls.