Index: qPloneGoogleSitemaps/trunk/Extensions/Install.py
===================================================================
--- qPloneGoogleSitemaps/trunk/Extensions/Install.py	(revision 49)
+++ 	(revision )
@@ -1,97 +1,0 @@
-import string
-from cStringIO import StringIO
-from Products.CMFCore.utils import getToolByName
-from Products.CMFCore.DirectoryView import addDirectoryViews
-from Products.qPloneGoogleSitemaps import qPGS_globals
-
-try:
-    from Products.CMFCore.permissions import ManagePortal
-except ImportError:
-    from Products.CMFCore.CMFCorePermissions import ManagePortal
-
-from OFS.ObjectManager import BadRequestException
-
-configlets = ({'id':'qPloneGoogleSitemaps',
-    'name':'Google Sitemaps',
-    'action':'string:${portal_url}/prefs_gsm_overview',
-    'condition':'',
-    'category':'Products',
-    'visible':1,
-    'appId':'qPloneGoogleSitemaps',
-    'permission':ManagePortal,
-    'imageUrl':'qplonegooglesitemaps.gif'},)
-
-def setupSkin(self, out, skinFolder):
-    skinstool=getToolByName(self, 'portal_skins')
-
-    addDirectoryViews(skinstool, 'skins', qPGS_globals)
-
-    for skin in skinstool.getSkinSelections():
-        path = skinstool.getSkinPath(skin)
-        path = map( string.strip, string.split( path,',' ) )
-
-        if not skinFolder in path:
-            try:
-                path.insert( path.index( 'custom')+1, skinFolder )
-            except ValueError:
-                path.append(skinFolder)
-            path = string.join( path, ', ' )
-            skinstool.addSkinSelection( skin, path )
-            out.write('  %s layer sucessfully installed into skin %s.\n' % (skinFolder, skin))
-        else:
-            out.write('  %s layer was already installed into skin %s.\n' % (skinFolder, skin))
-
-def install(self):
-    """ Install qPloneGoogleSitemaps """
-    out = StringIO()
-    if not hasattr(self.portal_properties, 'googlesitemap_properties'):
-        self.portal_properties.addPropertySheet('googlesitemap_properties', 'Google SiteMap properties')
-
-    props = self.portal_properties.googlesitemap_properties
-    portalTypes = ('Plone Folder', 'ATFolder')
-    new_portalTypes = ['Document', ]
-    sitemap_properties = (
-		('portalTypes', 'lines', new_portalTypes),
-		('states', 'lines', ['published', ]),
-    		('blackout_list', 'lines',[]),
-                ('reg_exp', 'lines',[]),
-		('urls', 'lines',[]),
-		('verification_filename','string','')
-	)
-        
-    types = self.portal_types.listContentTypes( by_metatype=1 )
-    for prop_id, prop_type, prop_value in sitemap_properties:
-        if not hasattr(props, prop_id):
-            props._setProperty(prop_id, prop_value, prop_type)
-
-    configTool = getToolByName(self, 'portal_controlpanel', None)
-    if configTool:
-        for conf in configlets:
-            configTool.registerConfiglet(**conf)
-            out.write('Added configlet %s\n' % conf['id'])
-
-    out.write('Call setupSkin... \n')
-    setupSkin(self, out, 'qPloneGoogleSitemaps')
-
-    return out.getvalue()
-
-def uninstall(self):
-    """ Uninstall qPloneGoogleSitemaps """
-    out = StringIO()
-
-    props = getToolByName(self,'portal_properties')
-    try:
-        props.manage_delObjects(['googlesitemap_properties',])
-    except BadRequestException: pass
-
-    configTool = getToolByName(self, 'portal_controlpanel', None)
-    if configTool:
-        for conf in configlets:
-            try:
-                configTool.unregisterConfiglet(conf['id'])
-            except BadRequestException,KeyError:
-                portal_icons = getToolByName(self,'portal_actionicons')
-                portal_icons.manage_removeActionIcon(conf['category'],conf['id'])
-            out.write('Removed configlet %s\n' % conf['id'])
-
-    return out.getvalue()
Index: qPloneGoogleSitemaps/trunk/Extensions/ping_googlesitemap.py
===================================================================
--- qPloneGoogleSitemaps/trunk/Extensions/ping_googlesitemap.py	(revision 49)
+++ qPloneGoogleSitemaps/trunk/Extensions/ping_googlesitemap.py	(revision 458)
@@ -1,7 +1,9 @@
-from Products.qPloneGoogleSitemaps.utils import ping_google
-from Products.CMFCore.utils import getToolByName
-def  ping_googlesitemap(state_change):
-    """ping sitemap to Google when document has published"""
-    plone_home = getToolByName(state_change.object, 'portal_url').getPortalObject().absolute_url()
-    ping_google(plone_home)
-    return 0 
+from zope.event import notify
+from Products.qPloneGoogleSitemaps.events import AfterTransitionEvent
+
+def pingGoogleSitemap(stch):
+    notify(AfterTransitionEvent(stch.object,
+           stch.workflow, stch.old_state, stch.new_state,
+           stch.transition, stch.status, stch.kwargs))
+    return 0
+
