Personal tools

release

May 04, 2010

New collective.funkload releases

I have recently released a new version of collective.funkload and collective.recipe.funkload. There is one major improvment - funkload recorder is now working properly with collective.funkload scripts.

Here @RedTurtle we are heavily using funkload for acceptance and benchmarking tests. We have started using it in 2008 just after Bristol Performance Sprint. We have found even more useful with buildout recipe. The only missing part was the recorder. It's built-in Funkload itself, but it was not enabled in the recipe. Well - now it is ;-)

/ If you want to know how to include funkload in buildout project - check my previous blog /

Starting a recorder is quite easy:

$ ./bin/funkload record -p 8080 MyTest


for full usage call:

$ ./bin/funkload record --help


This will start proxy on 8080 port and save all your browser requests to MyTest funkload scenario. Now open your browser, change proxy configuration to localhost:8080 and click-through test case. When you finish - stop the proxy with Ctrl-C. Funkload will generate a test_MyTest.py file and notify you where you can find it. It should be now collective.funkload compatible - you can lunch:

$ ./bin/funkload test /path/to/test_MyTest.py


To test it.

Another small improvement is a PloneFLTestCase. It extends default funkload test case, implementing two additional methods helping with Plone content creation. Right now instead of using this approach:

folder_portal_factory = self._browse(server_url + "/coreloadtests/Members/" + self.user_id +"/createObject?type_name=Folder",
                                             method='get', 
                                             follow_redirect=False,
                                             description = 'Get folder portal factory')

folder_edit_url = folder_portal_factory.headers.get('Location')        
folder_id = folder_edit_url.split('/')[-2]

folder_created = self.post(folder_edit_url, params=[
    ['id', folder_id],
    ['title', 'folder'],
    ['description', ''],
    ['description_text_format', 'text/plain'],
    ['subject_existing_keywords:default:list', ''],
    ['last_referer', 'http://localhost:8080/coreloadtests/Members/' + self.user_id + '/view'],
    ['form_submit', 'Save']],
    description="Post /coreloadtests/Members/user...280843853/atct_edit")

new_folder_id = folder_created.url.split('/')[-2]

 

you can just do:

new_folder_id = self.addContent(
        server_url, 
        portal_type='Folder', 
        params=[['id', 'id'],
                ['title', 'testing title'],
                ['description', 'testing description'],
                ['description_text_format', 'text/plain'],
                ['form.submitted', '1'],
                ['last_referer', ''],
                ['form_submit', 'Save']], 
        description='Create folder')

 

It doesn't do much, but for sure it helps you keep you test case readable.

Apr 26, 2010

I prodotti Plone di RedTurtle Technology: una panoramica sui rilasci pubblici

Filed Under:

Una pagina riepilogativa rivela l'impressionante ventaglio di soluzioni che RedTurtle ha condiviso con la Community Plone

Mentre tentavo di riassumere i rilasci pubblici di prodotti Plone sviluppati da RedTurtle, compilando la tabella ora disponibile sul nostro sito, mi sono reso conto di due cose:

  • prima di impegnarmi nella raccolta di informazioni sui nostri prodotti, non ero consapevole di quanto siamo stati capaci di fare: certamente, il resto del mondo ne sapeva ancora meno, così posso senz'altro affermare che la nostra lista di prodotti Plone va a sanare un punto dolente della nostra visibilità
  • il numero e la qualità dei nostri contributi è eccezionale, come testimoniato dal numero di download: Amberjack e Carneade, che hanno ottenuto visibilità internazionale all'ultima Plone Conference, sono la punta dell'iceberg, e soluzioni come l'integrazione dei Google Docs, RedTurtle Video, e l'integrazione con Google Maps sono egualmente meritevoli di menzione, per non parlare delle cose più tecniche come l'integrazione con ExtJS o i moduli, a quanto pare molto graditi, che supportano FSS.

In futuro, tornerò sull'argomento. Ora, prima di chiudere, mi piacerebbe farvi vedere qualche numero sui più scaricati tra i nostri prodotti:

redturtle.portletpage.views                  :    338  
collective.googlesystemstorage               :     40  
redturtle.smartlink                          :   1373  
redturtle.extjs                              :    323
collective.googlemodifycontent               :     37  
redturtle.speedupui.pathbar                  :    242
redturtle.custommenu.factories               :    100
redturtle.catalogmount                       :    330
collective.googlesharing                     :     36  
redturtle.maps.portlet                       :    392
redturtle.externalizelink                    :    214  
redturtle.imagedevent                        :    888  
redturtle.bent                               :    373
collective.flowplayer_toolbar                :    158
Products.Plone2FSS                           :    861  
redturtle.hide_subtypes                      :     76  
munin.plone                                  :     34
collective.googleauthentication              :     38  
redturtle.maps.core                          :   1479  
collective.relatedof                         :     14
Products.PloneboardPasteObject               :     38  
Products.AutoRoleFromHostHeader              :     50  
collective.navigationtoggle                  :     94  
redturtle.portlet.lightreviewlist            :    351  
munin.zope                                   :    142
redturtle.fss                                :    567  
redturtle.video                              :    817  
collective.discussionintegration.plonegazette:     77