Personal Blog
Roberto Allende, entrepreneur and software developer. Co-founder of Menttes and HomeViva. Passionate about Python, Zope and Plone CMS, web techs and Open Source.
Just a week for Plone Symposium South America 2011
Just read the schedule, 16 talks with most of the hot topics on Plone community: Diazo, Dexterity, Transmogrifier, Scalability, Caching, development tools for Plone, success stories, etc. Same with speakers, we'll have developers comming from Argentina, Brazil, United States and more.
But the best is for the end, on October 1st, Python and Plone community will have the first "Caipirinha with Zope Sprint". During that day, we'll work to migrate ZTK components to Python 3 and to integrate webob With Zope.
You're invited, see you on Sao Paulo!
ZodbBrowser released!
During Python Argentina Camp 2010 (PyCamp) i started to work on a set of tools with the aim to make Zope2 developer life easier. The first of those is a ZodbBrowser. On that time the idea was to build something like:

Right now ZodbBrowser let's you browse the whole ZODB content tree and for every object you can get:
- Its class and ancestors source code.
- Its attributes values and callables source code
- Its Interface class source code
These are the features included on the 0.1 experimental version release. Although there are many fixes and improvements to do, there's a minimal set of features working enough to go ahead with a experimental version for testing and to get feedback from community.
Watch it working
Try it!
If you already have a buildout for Zope2.13 or Plone4 running, edit buildout.cfg to add zope2.zodbbrowser to eggs and zcml sections at buildout and instance parts respectively.
[buildout]
...
eggs = zope2.zodbbrowser
...
[instance]
...
zcml = zope2.zodbbrowser
Then run bin/buildout to make the changes effective. To access zodbbrowser add /zodbbrowser in your zope instance url, for example: http://localhost:8080/zodbbrowser.
Acknowledgments
ZodbBrowser wouldn't be possible without the support and help of Python and Plone Community, PyCamp and the 2nd Plone Symposium South America, where it was held the last sprint and i attended to Steve McMahon's JQuery training where i got the "magic knowledge" to get this idea working.
Feedback and issues
If you find an issue you can report it at http://code.google.com/p/zodbbrowser. As always, comments, ideas and questions are very welcome!.
World Plone Day 2011 Call for Champion
After three editions working on World Plone Day, I decided it's time to handover the challenge. If You're a person who likes to think global and act local, have new ideas about global Plone promotion, just have time or You like to get fun promoting Plone, this call is for You.
Organizing WPD is simpler than you imagine. The most difficult part of the job is to agree a good date suitable for most members of community. Once you get that, You must remember dates, keep track of local hosts, promote the event, make a list of the hosts and so on. If this sounds hard, don't worry, most of the job have reusable material and it's public available at http://www.coactivate.org/projects/plone-marketing/project-home (see bottom WPD).
How to Apply
Simple, send me a mail to rallende at menttes dot com and answer:
- Why you want to be the WPD Champion,
- What are your plans for WPD
Proposals will be received until October 17th.
Why am I making the change
Organizing World Plone Day is a great experience and I believe it really worth to share it. Also, there are new activities to promote Plone that I want to try so i've to make choices, but if no one is interested, don't worry I'm going to keep moving WPD forward until I find someone or We don't have at least one host with at least one speaker and one person listen to him/her :).
As a WPD Champion You're going to meet and get the support of many awesome people, don't miss the opportunity, You only have to send a mail to start the adventure.
Projections for Plone Symposium South America
Potential attendees residence
Although PSSA is a Sotuh American regional event, many people from other regions answered and showed their interest to come. We're planning to have talks and activities in Spanish, Portuguese and English. Speaking Spanish is not a must to come and enjoy PSSA.
- Argentina 27%
- Brazil 23%
- United States 10%
- Venezuela 10%
- Spain 7%
- Netherlands 7%
- Mexico 7%
- Others 9%
Plone Experience
During last years, Plone Community had grown in South America. We had very big and important projects, students takin part on core development programs such as Google Summer of Code and recently, the first Plone book written in the region had been published. This grow may be reflectted on potential attendees' experience:
- Advanced Developer 31%
- New Developer 19%
- New User 12%
- Advanced User 12%
- System Administrator 11%
- Core Developer 8%
- Others 7%
Preferred topics
If technical level grows, so do they topics preferences, moving to more advanced ones.
- System Administrator 23,3%
- Framework 23,3%
- Integration with other techs 26,7%
- Success Stories 6,7%
- New Features 10,0%
- Others 10,0%
Survey still open, You are invited to answer and come to Cordoba
These results are not closed yet, the survey will remain open, so you can let us know your preferences. If you're planning to come, please take five minutes to share your opinion and help us make the best PSSA ever. The survey is available at http://www.surveymonkey.com/s/pssa2010. And of course, You are invited to follow news and updates about the Symposium at http://plonesymposium.com.ar
What about a developer kit for Plone or Zope 2.12 ?
When i was working on this new application (to be published soon), i was following several documentation, including Zope Book. Reading the Zope Book i had the feeling ZMI was a great tool to accomplish tasks TTW. If I'm not wrong, that was the idea on the beginning, ie to develop ttw. During last years, with Zope3, Five and so on, Zope development became more through the file system and although ZMI may be a great tool for system administration/maintenance, and considering also there are third party products to assist developers, specially in Plone such as clouseau, gloworm. Sometimes i remember my sources as developer (ie Smalltalk) and i miss a good set of tools to assist me.
The tools i'm talking about might be at least:
- System or Class Browser (see example here and here)
- ZODB Browser
- ZTK Component Browser (ie something to see in Zope a list of registered components, utilities, viewlet managers and so on)
Let's do it
Why not ?.
During next 3 days it's going to be held Python Argentina (PyAr) Camp (aka PyCamp) in Veronica, Buenos Aires, and I plan to work on this idea. I don't pretend to do anything new necessarily. I'm already aware there are products that offers some of the features of the case, so the first thing to do is to research and take a look at them (Friday morning). In the best case, the job to be done might turn these tasks into documentation and defining a couple of howto as deliverable or deliverables might be a long todolist as a worst case. I'm not to ambitious neither, you can't do magic in just one weekend but my plans is to have a deliverable for this Sunday so, if you have any suggestion, advice, comment, do or don'ts, ideas, inspiration-source or anything else i'd appreciate a lot you share them in a comment here. Also if you're interested to join on this crazy crusade, we're going to meet at #pyar channel at irc.freenode.net during next 3 days.
WPD Experiences from Sao Paulo, Brazil
In which WPD event did you take part as a local host and what kind of activities did you do?
Our company organized the Sao Paulo WPD editions for 2008 and 2009. On the first edition we used a usual approach hosting the event in a hotel and inviting few customers and prospects. Talks were all streamed on UStream.tv, which gave us an amazing response and mindshare -- we had guys like Sidnei da Silva interacting online, bringing the event to a whole new level.
What strategy did you use to meet with people from these sectors?
On 2008 we basically invited customers and prospects that were close to us at the time.
How much effort is needed to be a WPD local host?
It depends. On our experience, both times we put a lot of effort in order to make things happen. We, basically, spent 2 or 3 full company days in preparing and hosting WPD.
And what about the results?
The results paid the efforts, for sure. Just to mention, one of the deals WPD2008 helped us to close turned to be our biggest customer on 2009.
In your experience, do you think you have a distinctive characteristic that may be of interest to the rest of the hosts?
We try, every year to make it different. Simples Consultoria is located at the largest city in Brazil and on any given day the city hosts a dozen or so IT-related events, so we really need to avoid doing the same as Oracle, Microsoft and IBM do or no one will pick our event.
What are your plans for wpd 2010?
We are still brainstorming what to do, but we will have another edition of WPD in Sao Paulo.
Watch photos from WPD Sao Paulo here.
If you've been a WPD host, you're invited to share your experiences as well. Answer these questions or make comments in your blog or just send them to me through mail at rover at menttes dot com.
Experiences as a WPD local host
In which WPD event did you take part as a local host and what kind of activities did you do?
In both, 2008 and 2009. In 2008 we held several simultaneous events, in Buenos Aires, in Cordoba and in Salta, and in 2009 we went to the city of La Rioja. What audience did the initiatives target? We mainly targeted the government and developers.
What strategy did you use to meet with people from these sectors?
For developers we organized talks in universities. At the National University of Cordoba, Emanuel Sartor gave an introductory talk on Plone. At the University of Buenos Aires, I gave an introductory course, for example. Other sites were free software events. In 2008 and 2009 events were held in Argentina that coincided with the WPD date and which were large spaces for dissemination. In the case of government, the strategy remained the same, to knock at the government’s door and ask them if they were interested in receiving a free talk from Plone. In 2008 we were able to do this at the Ministry of Planning of the Nation.
How much effort is needed to be a WPD local host?
It really depends a lot on what you want to do. Rather than think how much effort it takes, I guess it is better to consider how much effort I can put into it and plan on the basis of that. In giving a talk or demo in an organization, a minimum of effort is involved. NGOs and the government tend to encourage these kinds of activities. One can also organize one’s own event – renting the hall, printing the brochures – and it’s really interesting. But not always necessary.
And what about the results?
Our WPD initiatives were done with sponsorship from Menttes. In the case of the government we wanted to generate new projects and within the developers audience we wanted to contact potential collaborators. I believe we were successful with both audiences. And the effort involved was small when compared to other initiatives that gained the same results.
In your experience, do you think you have a distinctive characteristic that may be of interest to the rest of the hosts?
What I think may be interesting is how we administer our efforts. When one thinks of an event, one normally starts by worrying about the logistics: the venue, the talks, the catering, etc. When in fact what is central is promoting the event. In our case we made the greatest effort in disseminating the initiatives and organizing many small ones. The logistics we got from third parties interested in learning about Plone and all our organizational effort was directed primarily towards making the day, venue and program of the event known.
What are your plans for WPD 2010?
We want to organize a single event and bring together the local community in order to strengthen the bond with colleagues. In the second semester of this year, a South American Plone Symposium will be held in Cordoba and we plan to start visualizing how we want the event to develop.
World Plone Day 2010 T-Shirt
The Plone Foundation will reimburse people wearing the t-shirt at PyCon. To take advantage of this special operation, people need to order their shirt by the end of this Thursday, February 4th at http://www.sixfeetup.com
Please pass the word around using all the tools you can think of: email, twitter, facebook, word of mouth, pigeon, owl, etc.
Five years’ entrepreneurship with Free Software
Why would one want to be an entrepreneur?
- To be able to choose one’s own timetables
- To be one’s own boss and not have to report to anyone else
- To earn a lot of money
- Because of an addiction to adrenaline
- Or for the simple pursuit of happiness
One of my first bosses, Don Ernesto Dominguez, believed and eventually convinced me that happiness consisted in achieving a balance between:
- That which we must accept in life
- That which we can change, which we commit ourselves to changing and which we eventually do change.
The Argentinian Difficulty
Now, the number of things to accept can be rather large in our country, because living here is difficult.
How difficult? Let us take a look at a specific case: setting up a business. This is the procedure by means of which a new organization is formed with legal and fiscal status. This procedure takes:
- About one day in the USA.
- One week in New Zealand.
- In Cordoba, for us at least, it took 21 months, that is to say, one year and nine months.
It may be rather an exaggeration to generalize on the basis of this specific case, but since we generally have to work with professionals and companies from abroad, we have really come to believe that living in Argentina is:
- 84 times harder than living in New Zealand, and
- 588 times harder than living in the USA.
So?
If living and setting up a business in Argentina is that complex, why on earth would we want to complicate our existence in this way? Because setting up in business is precisely not simply conforming with “what there is”. It involves taking risks to transform the reality that surrounds us, to create our own working environment. Redefining “personal happiness”.
Menttes
We founded Menttes because we wanted to work in a company whose production and business models were defined on the basis of Free Software. Because we wanted to be ‘core developers’ of a technology, working in what we are passionate about; in other words, we wanted to have fun in a sustainable manner, avoiding the task of having to restrict ourselves to solving issues that bored or frustrated us simply for the sake of earning money.
One of the pillars upon which we built the company is that each of us can choose how to work. Because choice maximizes fun – it fosters passion and excellence. Therefore, each person, regardless of their role or seniority in the company, can choose to work from home, choose his or her own working schedule, make decisions and have some bearing on the company’s future, even become its owner. All of this without sacrificing social security and job stability.
Limited Company
Today the company has clients in Argentina and exports its services to more than five countries for the government sector, for NGOs and for the private sector. It has established local, nationwide and international agreements.
Free Software
We believe we have become one of the Argentinian companies that has published the most GPL licensed code, with at least 11 products for the Plone Content Management System. Members of the company have taken part and often led the organization of more than 50 dissemination activities in South America, the United States, Europe and even at a global level, such as the World Plone Day. Company members have been accepted as members of the Plone Foundation and even named ambassadors for Spanish America.
We have been able to reach these accomplishments even while each member of the company is able to choose how to work and how much to become involved. Because Menttes is made up of a team of entrepreneurs.
And the difficulty?
The level of difficulty is a serious problem in our society. Argentina has about 40 million inhabitants. Of these, 18 million make up the economically active part of the population and of these 18 million, 2.2 million are unemployed and 4.3 million work in what is called the informal economy, that is, those without access to social security or pension funds and have no job stability. Therefore, only 11.5 million are left in the formal economy. That is to say, a mere third of the population.
Despite this discouraging scenario, we IT workers are a privileged bunch. According to estimates made by employers themselves, there are 35,000 new work places from one year to the next within this sector. However, only 3,600 people manage to graduate from the universities. This indicates the existence of a growing unsatisfied demand.
What happens in the IT RP market may not have a lineal relationship with the demand of IT services or of products. But I do think we can safely say that there is a margin or market. Compared to other sectors, I believe there is more space for entrepreneurs and it should therefore be less risky or less difficult. In other words, I believe we are facing an opportunity not easily found in our society: the chance for us to define for ourselves what our own happiness should be like and make it come true.
If we, who can do it, don’t – then who will transform our reality?
Quick and easy Plone theming with XDV
Testing new stuff
Plone is evolving. Future versions will support new and very easy ways to customize different part of the CMS. XDV is one of them, as a result of the maturity of deliverance, XDV let's you use a static set of resources as Plone theme using xpath rules. If that sounds awkward, believe me, describing is harder than do it.
At the end of Plone's theming documentation, the author encourages you to try it, after all "the best way to learn is by doing". At that point i found the approach easy enough give it a try and even if i'm kinda reluctant to explore new ways of doing certain tasks, i was very curious to test if XDV promises were true. I didn't spend to much time looking for a design, and i just picked the first one among a list of four:
xdvtheme.inventions
The idea behind XDV is very simple, you put a facade in front of Plone. That facade, named theme, is built with a set of static htmls, css and js and it is wired with Plone by a set of rules that maps Plone's original skin with the theme.
Invention a two-column layout theme, is very simple and so the rules required to do the job, all you have to do is write a list of rules and voila, you get Inventions working in Plone.
In my case, i decided to modify the CSS because i wanted to clear the code a little bit. Although it wasn't necessary at all, sometimes it is easier to modify the theme's css than writing a rule, if the code is under your control you might do this, but that's not always the case as i knew from a Matt Hamilton's talk, where he uses deliverance to integrate a .net portal, Plone and Moodle.
The rules are stored in a file called rules.xml. In this case i need just 5 rules, one for the title, content, global navigation, right column and the last one to remove images in portlets, respectively:
<rules xmlns="http://openplans.org/deliverance"> <!-- title --> <replace content='/html/head/title' theme='/html/head/title' />
<!-- content area -->
<copy content='//*[@id="content"]' theme='//*[@id="leftcolumn"]' /> <copy content='//*[@id="portal-globalnav"]' theme='//*[@id="links"]' /> <!-- Portlets --> <copy content='//*[@id="portal-column-two"]' theme='//*[@id="rightcolumn"]' /> <drop content='//*/dl/dd/a/img' /> </rules>
There are five kind rules: copy, replace, drop, prepend and append. Combining them with XPath expressions you manipulate each element and merge both themes. They're not very hard constructions and you can use two tools to make the job even easier. The first one is firebug, firebug let's you select an element and get the Xpath construction. The other one is banjo, following a post by Nate Aune:
"Banjo is a web-based tool which loads in the browser. The browser window is divided into three panes: one pane that loads the Plone site, one pane that loads the theme, and one pane that we’re calling the control panel. You simply click on the element in your Plone site, and then click on the corresponding element in your theme to “map” these elements together. The resulting mappings are written out as rules in the rules.xml file, which is used by Deliverance to insert Plone’s HTML in the proper placeholder in the theme’s HTML".
Performance
When I got the inventions theme working and I started to test it, I found it very fast. How fast ?, let's see some tests made at home. The first one was against my predictions. Using apache's benchmark tool i got:
| xdvtheme.inventions |
Plone's default skin |
|
|---|---|---|
| Server Software: Zope/(Zope) Server Hostname: dev.menttes.com Server Port: 14777 Document Path: /demo Document Length: 13299 bytes Concurrency Level: 1 Time taken for tests: 2.749304 seconds Complete requests: 10 Failed requests: 0 Write errors: 0 Total transferred: 135810 bytes HTML transferred: 132990 bytes Requests per second: 3.64 [#/sec] (mean) Time per request: 274.930 [ms] (mean) Time per request: 274.930 [ms] (mean, across all concurrent requests) Transfer rate: 48.01 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 270 274 3.6 274 281 Waiting: 269 273 3.9 272 281 Total: 270 274 3.6 274 281 |
Server Software: Zope/(Zope) Server Hostname: 200.68.91.21 Server Port: 14777 Document Path: /demo Document Length: 23605 bytes Concurrency Level: 1 Time taken for tests: 2.541178 seconds Complete requests: 10 Failed requests: 0 Write errors: 0 Total transferred: 238870 bytes HTML transferred: 236050 bytes Requests per second: 3.94 [#/sec] (mean) Time per request: 254.118 [ms] (mean) Time per request: 254.118 [ms] (mean, across all concurrent requests) Transfer rate: 91.69 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 242 253 12.3 248 272 Waiting: 241 252 12.3 247 271 Total: 242 253 12.3 248 272 |
So, using xdvtheme.inventions, the transfer rate is nearly the half than the default skin. It seems my machine needs more time to apply the rules, and even if xdvtheme.inventions requires to transfer half of data, 12,98Kb against 23,05Kb, the result favors to Plone's default skin since it takes 242ms against 270ms. Then, from server side, default approach seems to be better.
Although the results I got with ab, I still found inventions faster in my browser. The key here seems to be that variable ab calls document length. Using YSlow I compared time to load the home page, data being transfered in kilobytes and per components.
Quick thought: length matters. Even paying the price at server side, Plone's default skin takes 3 times more to get loaded in Firefox 3.5. It requires more than 100Kb of Javascript, where i had no need to use js in inventions.
This remind me a talk gave by Joel Burton in Naples, where he started saying Plone is not slow, it just performs to many tasks. And I find these simple comparisons supporting that idea because we're comparing a general purpose skin, elastic, with editor and multiple layout support against a fixed-layout one, no edition support and it covers a very particular case. Anyway, if you don't need such general purpose solution for certain scenarios, now there's an alternative and it's easier and more flexible than existing approaches.
Testing, feedback welcome
xdvtheme.inventions runs with Plone 3.3rc5, it requires collective.xdv and a web server or Products.Reflecto to make available the static content. If you want to try it, just run:
$svn co http://svn.plone.org/svn/collective/xdvtheme.inventions/trunk/ themes
and then just follow readme.txt's instructions. Any comment, question or feedback is always welcome.
Resources
- Lipstick on a Pig, Matt Hamilton's talk. Slides with audio.
- Theming Plone with XDV - Limi's tutorial to get started with xdv.
- collective.xdv package documentation at pypi
- Banjo, creating deliverance/xdv rules TTW - Blog post and video, by Nate and friends.
- Deliverance Project
- Deliverance Demo and Deliverance Tutorial efforts at Sorrento Sprint - another implmentation for inventions, in this case using deliverance, i found this example after i finished xdvtheme.inventions.
- Products.Reflecto - a tool to incorporate part of the file system into a Plone site by Jarn.
- Apache Benchmarking tool
- YSlow - performance benchmarking tool by yahoo
- Plone Users mailing list - thanks to Jon Stahl for the Reflecto tip
- Menttes' team
Happy Plone Day!
The second edition of World Plone Day is here. Becase the we decided to change the date from second semester to the first, Plone community had less than 6 months to setup a worldwide event and even such constraint we've a very succefull edition.
If it is not clear why we call WPD as 'a follow the sun event' you can red the World Plone Day twitter account and check how the post are being entered according the sun was giving the light to our Planet.
World Plone Day, a web 2.0 event
You can follow WPD2009 through the web at twitter, delicious, flickr and facebook. Just check the urls at worldploneday.org or look for our web2.0 tag: wpd2009.
Thanks again
Plone community is awesome, watching so many people working in the same idea at the same day, no matter the place, religion or belief, gives us and incredible energy. Thanks all the people who is supporting World Plone Day 2009.
Twitting from PyCon
BTW i'm microblogging from PyCon. If you're interested, you can follow http://twitter.com/robertoallende
See you in PyCon 2009, Chicago, USA
Plone at PyCon 2009
Some of the talks that i won't miss are the ones related with Plone:
- Plone in the Cloud : an on-demand CMS hosted on Amazon EC2 by Nate Aune
- A winning combination: Plone as a CMS, your favorite Python web framework as a frontend by Carlos de la Guardia
- Giving back and helping expand the Python community. A roadmap for South America and Africa. by Kamon Ayeva and Roberto Allende
Non Plone talks to attend
After a quick read, i found some others that i would like to attend:
- Python 2.6 and 3.0 compatibility by Lennart Regebro
- Metaprogramming with Decorators and Metaclasses by Bruce Eckel
- Designing a web framework: Django's design decisions Jacob Kaplan-Moss
Evangelism and PyCon
Members of the Plone Evangelism and Marketing teams are talking to join Python evangelization efforts. One way to do that it could be to work in a Evangelism Sprint. Andrew M Kuchling is opening PyCon with a pure evangelism talk called How to Give a Python Talk and members of Python community are making a great job promoting Python, so i believe PyCon could be a great opportunity to join effort and look forward to work on new initiatives in the near future.World Plone Day T-Shirt
Here are the user action shoots:
World Plone Day, November 7, 2008
Auckland, Wellington, Christchurch
Thanks a lot to Chris for the gift and also thanks to all the New Zealand team who made an awesome job promoting Plone!
World Plone Day 2009 moves forward
As published on the mailing list the agenda, we met to talk about WPD 2008 and 2009 editions. The complete log of the meeting is available here.
World Plone Day 2008
Schlepp wrote a very nice post morten report and during the meeting we approved it as the official one.
Since Donna Snow asked for formats worked for various events and how people drew more attendees, we discussed about it. Few words about it:
- Bristol and Pisa ran at the university and they were focused to students
mainly
- Enfold targeted to companies, and its agenda seemed really nice
World Plone Day 2008 was a great event, just watch the photos at Flickr, the slides at Slideshare and the locations at Google Maps.
WPD 2009 global organization
Regarding WPD 2009 there's no much to say but I asked for feedback about the event itself, the way the global team is organized and if it is good idea to meet again to keep talking about WPD 2009.
Bonus: Plone Eastern Europe
At the end of the meeting, ree gave a great news, the announcement of a new user group for Eastern Europe, the new group was created to:- publicize the Budapest conference, and the participation grants
- on the long term, use this to organize consortia for EU proposals, since these countries are desired in joint projects and the more countries are the more chance for winning.
Congratulations to ree and all the Plone community from Eastern Europe!
Content Mirror and Pylons
According documentation, Content Mirror supports MySql and Postgresql at least, but I'm too lazy to setup a relational database, so i started using sqlite. Anyway my laziness goes beyond that, I even wanted not to think how to do that and i found a document at eletztrick.de with the lines to setup ContentMirror and Sqlite. Cool!.
Following those very simple steps, i got Plone's content in a relational database. The generated tables are very intuitive. For example, in a Plone default's site you'll get something like:
table|content|content|3|CREATE TABLE content (
content_id INTEGER NOT NULL,
id VARCHAR(256) NOT NULL,
uid VARCHAR(36) NOT NULL,
portal_type VARCHAR(64),
status VARCHAR(64),
type VARCHAR(64),
container_id INTEGER,
title TEXT,
description TEXT,
subject TEXT,
location TEXT,
contributors TEXT,
creators TEXT,
creation_date TIMESTAMP,
modification_date TIMESTAMP,
effectivedate TIMESTAMP,
expirationdate TIMESTAMP,
language TEXT,
rights TEXT,
PRIMARY KEY (content_id),
FOREIGN KEY(container_id) REFERENCES content (content_id)
)
.....
table|atdocument|atdocument|22|CREATE TABLE atdocument ( content_id INTEGER NOT NULL, text TEXT, presentation BOOLEAN, tablecontents BOOLEAN, PRIMARY KEY (content_id), FOREIGN KEY(content_id) REFERENCES content (content_id) ON DELETE CASCADE )
Just to show two of them. The complete SQL is available here. That's a default Plone site, Content Mirror also supports custom archetypes but I haven't test that yet. Using those tables we dump the database. Here's available a dump for sqlite3.
Regarding the Pylons app... there's not much to say, but it is a proof of concept project, some lines aren't very nice but my idea was to test what is possible to do in a couple of hours and it works(tm). The result is available here. And you can watch it running here -this is a test url and it may not work in future-.
My goal is keep working with Plyne to cover at least two base cases, this blog and menttes' website.
Gov, edu and floss community met Plone in Argentina
Government: Buenos Aires
Our day began one block away from the Casa Rosada (Pink House), the place where the Argentinian president works. We gave a Plone and PloneGov introductory talk in the National Planning Ministry. Most of the attendees were from the national ministries, agencies and others gubernamental organizations.
The Casa Rosada (Pink House),
just one block away from the WPD Host
A Plone and PloneGov talk in the
Planning Ministry of the Argentinian National Government
Education: Buenos Aires and Cordoba
After midday we focused on education. Emanuel Sartor gave a talk at the Faculty of Mathematics, Astronomy and Physics of the National University in Córdoba. And I gave an open and free, as in beer, Plone Introductory course at the Library of Natural Sciences of the University of Buenos Aires.
Emanuel Sartor in
National University of Cordoba
A Plone introductory course in the
University of Buenos Aires
Floss Community: Salta
After flying 1800km and as bonus track of the World Plone Day, during Saturday 8th, i gave a Plone talk and the Plone introductory course, also for free, in a Free Software Convention in Salta, a city in northwestern Argentina and the capital city of the Salta Province.
A Plone talk in a Free Software Convention in Salta
Press and WPD promotion
As I said before, reaching medias is very important and it takes time. 20% of the media we contacted gave World Plone Day coverage. One traditional and important newspaper from Cordoba, where i live, and a very important argentinian IT magazine:
- Comercio y justicia (english version translated by google)
- Canal-ar (english version translated by google)
And of course, we had the support of many free software communities in Southamerica. Some of these were USLA, Solar, Free Software Community of Bolivia and many others who knew from us and Eneko's post in Barrapunto.
Conclusions
Our activities in Argentina met 50 persons aprox. and we gave training for another 25. We reached two important medias in Argentina and Eneko made an awesome job reaching the spanish version of Slashdot. Considering its the first edition of the World Plone Day, we are very excited for the results. Now we start to work and think how to double these numbers in 2009 :).
One day left for World Plone Day
Everything started with a simple mail in the Plone Evangelism mailing list. The idea was to promote Plone on a global scale. Now, with only one day left to the first Plone World Day, we are happy to say that we are expecting more than 2000 attendees in meetings all over the world. This fantastic event is a testimony of the enthousiasm of the Plone community, and I would like to thank all the people who have supported it right from the start. It wouldn't have been possible without all of you!
Just few words before the WPD begins:
- Remember to show your pride of being part of this awesome community
- Take photos, and upload them to flickr (our wpd-web2.0 champion can give you details about it)
- Count how many people attend to your local event and let us know that number!
The energy and enthusiasm of the Plone community is awesome. You guys and gals rock!
World Plone Day in spanish speaking medias
Thanks to Eneko from CodeSyntax, Spain. The World Plone Day was in Barrapunto's home page last Friday. Barrapunto is something like slashdot for spanish speakers.
Reaching the medias, no matter if big or small, is very important. Just consider the audience they have. In a meeting or talk, you usually meet between 10 and 300 persons. In a media you can spread your message to thousands persons. Being in sites like barrapunto or slashdot is important because many news sites uses them as sources. Just see how the news in barrapunto spreads in just three days:
So, following this idea and at the same time, we're contacting as many medias we can in Argentina. And the event was published in:
- CanalAr
- USLA - Free Software User of Argentina
- Nespapers (more info comming soon)
- and of course, we sent invitations to the most important free software communities in Argentina.
No matter where you are, meet Plone on Nov 7th

If you are considering to start a project with Plone or just want to know what and how is Plone, the artifact, and Plone, the community, you are invited to assist the World Plone Day.
Find your local WPD host at: http://plone.org/wpd
If you are member of Plone Community already, join us, and organize a WPD event: http://plone.org/events/wpd/wpd#join-and-contribute
Also you can contribute a lot with WPD just spreading the word!
The World Plone Day is a "follow the sun" event, a global initiative involving 59 countries around the world that wouldn't be possible without the amazing work and support of the World Plone Day Team, Plone Evangelism Group, and the Plone Community.South American tour of training and spreading of Plone and Python
FISL9.0 and the Plone’s talk in the School of Astronomic and Geophysical Sciences from La Plata National University , were the beginning of a quite busy year, plain of events. We have travelled many kilometres thanks to the support of menttes and other organizations.
Plone’s spreading in San Francisco, Córdoba
May, 16th. and 17th. – Second Conference on Free Software in San Francisco
The National Technological University group has held the second edition of its Free Software event.
Menttes has given two talks in the program: “Why and how governments, scientists, universities and artists use Plone” by Roberto Allende and, “Introdution to Development of Plone” by Emanuel Sartor. In addition, members of Plone Southern cone held the Third Meeting of Plone Southern Cone.
menttes’ members in San Francisco, Córdoba
Plone’s spread in Buenos Aires University
July, 23th, School of Exact Sciences, Buenos Aires University. Held by Plone Southern Cone and IT professionals.
Roberto Allende gave a talk “Plone 3: a Swiss pocketknife to build portals and extranets. Professionals and students of computing and information sciences participated in the meeting.
Plone’s spread in Mérida, Venezuela
July, 7th to 11th, Mérida, Venezuela
Menttes was invited to take part in the Second Conference of Reflection, Research and Development of Free Technologies and the First Meeting Phyton Venezuela (PYVE), held by National Centre of Development and Research on Free Technologies (Centro Nacional de Desarrollo e Investigación en Tecnologías Libres, CENDITEL, its acronym in Spanish). In this event, they gave the talks: PloneGov: An international project of cooperation between governments open to Latin America and Plone 3: a Swiss pocketknife to build portals and extranets.
![]() Conference held by Cenditel |
Roberto Allende presented Plone 3 |
|
Python’s Programers Group |
Plone’s course in Mérida, Venezuela
July, 14th to 18th, Mérida, Venezuela
The course of Plone’s Development , held by CENDITEL Nodo Mérida, was given in the Free Software Academy. It lasted a week and developers from different Venezuelan regions have attended.
Plone’s course in Mérida, Venezuela
picture: Elizabeth Garcia
Plone’s course in Escobar, Buenos Aires
July, 23th, Nicolás Avellaneda Institute, Escobar, Buenos Aires
The course Plone’s Administration of Contents was held by Nicolas Avellaneda Institute and menttes. Teachers and professional of computing and sciences of information have taken part in this course
Attendees to Course in Escobar
Python’s course in Montevideo, Uruguay
August, 6th to 9th,Montevideo, Uruguay.
UyLug, menttes and Artech held an introductory course on Python in Montevideo, Uruguay. Thanks to the excellent work of UyLug the course was very succesful and a new conference was added in order to allow around of fifty more people could take the Python’s Introductory Course.
Attendees to Python’s Course in Uruguay
picture: Fernando de la Rosa
Spreading: Plone 3 in Montevideo, Uruguay
August, 9th, Montevideo, Uruguay
After the Pyton’s Course, UyLug along with the Computing Culture Foundation an open conference was held, in which Roberto Allende gave an introductory talk on Plone and Alejandro Cura, from PyAr, gave a talk on Games in Python and a mini tutorial (quick tutorial?) in applications development for OLPC.
Gabriel Icasuriaga, Roberto Allende, Federico Wagner
Enrique Verdes, organizers of events in Uruguay
Attendees to the spreading conference
pictures: Fernando de la Rosa
Spreading: Free Software Convention Jujuy, Argentina
August, 29th and 30th, Jujuy, Argentina
picture
Speakers in Jujuy
2008 is not over
Last Friday we had been in San Juan and we keep promoting Plone. Our agenda includes:- Talk: Bazaar and Agile Methodologies
Oct 22th, Buenos Aires, Argentina
- Talk: Introduction to PloneGov
Free Plone Course: Introduction to Plone
Oct 30th 2008, Foz de Iguazu, Brasil
- Talk: Introduction to Plone
Oct 31th 2008, Catamarca, Argentina
- Talk: Introduction to Plone
Oct 31th 2008, Totoras, Santa Fe, Argentina
- World Plone Day: Buenos Aires
Nov 7th 2008
- World Plone Day: Córdoba
Nov 7th 2008
- World Plone Day: Salta
Nov 7th 2008
- OpenUy
Dec 9th, 10th. Montevideo, Uruguay
Translation by: Ivana Yankilevich
Free Software Users Groups - part 2
Comes form Free Software Users Groups part 1
Profession and Contribution
Which is the relation of your profession with Free Software, how many hours do you dedicate to it and which is your personal motivation to contribute?. “My job is directly related to Free Software” – Enrique from UyLug, comments “and my dedication is less than I would like and more than my wife wants”. Leo Monks answer similarly “I dedicate quite a lot of time. Last year I was general coordinator of CaFeConf and then, I have to stop, otherwise I could not eat. This year I had to restart some activities out of LUG and my dedication has declined. Related to my profession, I work in GCoop, a cooperative that offers services based on Free Software” Luciano Ramallo also dedicates more time than he should. “There are activities, such as discussion lists, a sacred fortnightly meeting which are very demanding” – the president of Python Brazil association comments – “Besides, as the organization is in the process of constitution, the bureaucratic job is heavier than usual and so, I dedicate around of six hour a week. Alejandro Cura dedicates a day a week and its personal motivation is centred in growth. “I am very interested in Python, in education and the OLPC project” – comments. Finally, Roberto Allende dedicates around of five hour a week to contributions related to Plone Southern Cone.
Maturity
According to discussions that have taken place in the community, three stages are proposed in the maturity of a users group. The first one is centred in the device and the community generated around it. For example, Linux and its user groups. A second stage of evolution is reached when the sub-project could be distributions of Linux and its communities. In the end, the third stage of maturity is reached when the communities have power of lobby, which means they can generate change and adoptions in the society. In that sense participants were asked if they agreed with the pattern and, in case they were, in which stage they would place its communities.
Enrique Verdes – “We started with Linux and then, we expanded the scope to Free Software. After a lot of work, the community was a trigger for more specific new sub-projects. This, along with bonds we have with universities and some changes in legislation. I believe we follow the pattern and we are in the third stage” I have to clarify our case because the people from CafeLug and Users of Free Software Argentina are same (USLA, its acronym in Spanish). USLA is gathering and providing services for communities such as Wikipedia Argentina, foundations as Via Libre, etc. I believe that USLA is a mature group. We are old and in fact, it is difficult for us to join new people committed with the project. Most of the members have been dedicating more time than they should for almost ten years”.
Luciano Ramalho – “Python Brazil began from devices such as sites and mail lists. Lists are easy to administer but not the sites. In consequence, it appears the necessity to organize a group. Besides that, the Association is generating new projects, such as formation of local groups, the conference PyCon Brazil, etc. I believe we are in the second stage”.
Alejandro Cura: “I am not sure that PyAr hopes to have lobby power, although the pattern is interesting” In any case, currently we are making several projects. I believe we are in the second stage”.
Roberto Allende: “Plone Southern Cone is in a formation process until now. Although Plone’s international community has a considerable level of maturity, in the case of Southern Cone, we are in process of organization yet.
Future and challenges
Unfortunately, time assigned to the panel was not enough to talk about several matters such as future and challenges faced by groups at this moment. Nevertheless, Enrique Verdes and Ernesto Silva (members of UyLug), outside the panel and revising talks, said that an important threat for users groups is what Ernesto calls “the bocce club syndrome”. According to him, many bocce clubs usually disappears because they were founded by a group of friends and they are not able to join new members. Then, as they stop playing or die, these clubs tend to disappear.
Personal conclusion
Taking in account that users groups are supported by voluntary work, ad honorem, it is amazing how far they have gone in our region. From a philosophical or political point of view, commitment with the cause or sustainability of the model, considered as a mode of production, make possible the generation of truly collaborative environments. Up to this moment, users groups have known how to stay, grow and spread Free Software’s technologies and philosophy efficiently. Having seen this successful precedent, it is possible to be optimistic about future challenges. The “bocce club syndrome” could be a problem if after well-known groups have disappeared, new groups do not occupy that place. An important point is lack of font code contributors, that is, commits in svn. However, with the strengthening of groups dedicated specifically to one technology in particular, such as PyAr, Python Brazil and Plone Southern Cone, it seems to be only a matter of time.
Free Software Users Groups - part 1
From the beginning, users groups have contributed significantly to free software. As time went by, they were not only Linux groups, but they also cope with other projects or they turned into other groups joined around SL philosophy.
During the panel User Gropus: their role and their actions, held in the Ninth edition of the International Forum of Free Software (FISL 9.0), Porto Alegre, Brazil, they compared and shared experiences according their realities.
- Luciano Ramalho, president of the Python Association Brazil.
- Alejandro Cura, member of Python Argentina
- Enrique Verdes, president of UyLug, Uruguay
- Leandro Monk, member of CafeLug, Capital Federal, Argentina
- Roberto Allende, member and cofounder of Plone Southern Cone
Roberto Allende, Leo Monk, Alejandro Cura,
Enrique Verdes and Luciano Ramalho
UyLug
http://www.linux.net.uy
UyLug began as informal gatherings held by participants of fidonet’s node 9, whose goal was share knowledge. This group was officially founded when the organizational meeting joined, in November, 1997. The first President, Lecturer Héber Godoy, guided them with the purpose of:
- Spread Linux and Free Software.
- Help out new users.
- Promote Free Software within the government administration.
This third point was the reason why UyLug was constituted as a civil association from its very beginning. Nowadays, it has more than two hundred associates.
CafeLug
http://www.cafelug.org.ar
CafeLug is a users group of GNU/Linux and Free Software from Capital Federal, Argentina. Conversely to UyLug, CafeLug is an informal group that was formed in August, 1999. Nowadays, CafeLug has around fifteen active users and fifty active-peripheral user members.
Python Brazil Association
http://associacao.pythonbrasil.org/
The Civil Association was founded in July, 2007. Python Brazil began with two discussion lists, Python Brasil y ZopePT. Both groups have a great amount of users: Python Brazil is up to two thousand members and ZopePt is up to nine hundred. These lists were created the same year than FISL, which served as a foundation and a meeting place for members. The association has seventy members, although they have not done membership campaigns due to some bureaucratic difficulties.
Firstly, the initiative was the formation of a foundation Python Brazil. However, the scheme of a foundation is more specific and the constitution is more complex than a Civil Association. For that reason, the members decided to constitute a Civil Association and the idea of a foundation is a long term goal.
PyAr, Python Argentina
http://python.com.ar
PyAr joins Python’s users and developers. This group began four years ago and it does not have formal structures. Nowadays, it has thirty active members and four hundred subscribers in a mail list. PyAr turn to foundations as Vía Libre to carry out acts which require legal standing, such as events organization or financing of activities.
Plone Southern Cone - Plone Cono Sur
http://plone.org/countries/conosur
During 2005, the current founding members attended to most of Free Software events in order to spread Plone. Plone Southern Cone was founded after a year of establishing contacts in different parts of the region. At the moment it joins more than a hundred users from Argentina, Bolivia, Chile, Paraguay y Uruguay. Only five people promote Plone Southern Cone.
¿What is a Users Group?
According to the Linux User Group HowTo:
A Linux users group is usually an association local, provincial, regional or national, a non profit group, that attempt spread the use of Linux and free software and its culture in their environment, as well as being a support point for their users.
According to Enrique Verdes, “friendship and socialization is a basic component within a LUG – “UyLug was born as a group of friends” -affirm Enrique – “thank to the primitive internet that Fidonet was, many people met and began to join monthly, setting up bons of friendship. In a users group a key feature that people meet each other and they feel comfortable. The UyLug core is the same group of friends that began sharing our knowledge. I started using Linux from the beginning of our group because my friends gave me the first distribution I installed.
As Leo Monk stated “the goal of CafeLug is spread, promote and use free technologies, the group is composed by people more committed, who are also friends, thus, consensus is essential. We reach an agreement for spread of free technologies. In other subjects we have divergences, but we work only in the common points” Leo comments “Plone Southern Cone and PyAr have not started as a group of friends but they have become friends because of the activities they share.
The situation of Python Brazil Association is different from UyLug y CafeLug because its initial technology was not Linux, but Python. In addition, the members from this community were located in different places. In 2000 several enthusiasts of this technology began to build sites that went beyond their geographic zones. After meetings at national level, they decided to create an Association in order to stimulate technology by these sites and to create new users group in different regions of the country. As a result, many users groups were created, i.e. one from Sao Paulo, which joins users from that state who gather monthly to give talks and share some drinks. At the moment, the goal of this association is supporting the work of users group.
Activities
According to the GrULiC’s pag, LUGs activities are:
- Promotion
- Education
- Support
- Socialization
UyLug’s members gather monthly, participate in events as FliSol, the free software’s day, when an exhibition (demoday) is carried out. Remarkably, the most important event of this group is the end of years’ barbecue.
The activities of CafeLug, consistenly with its goals, are centered in spreading information and socialization. The main of them is CafeConf, an annual conference in which talks about free sotware are given with a great audience. Moreover, CafeLug organize quarterly talks with a more technical approach. As UyLug, their members gather monthly.
The most important activity of Python Brazil is the organization of PyCon Brazil, an annual event that gathers Python users and developers from all over the country. Besides, it maintains and supports python.com.br and tchezope.org, sites that have contents very important for the community. Thus, the association has taken on an important responsibility, which ensures the existence of maintainers and contents’ administrators who has assigned roles during a year. Related to spreading information, Python Brazil’s main activity is to support events to make possible attendance of most of its members.
PyAr attends to events and gives talks to spread technology. Support work is made via mail list and sprints to spread and produce code. An example of this is CDPedia, a reduced version of Wikipedia whose goal is to show Wikipedia contents from a cdrom. Pyweek is an event en which PyAr members participate actively and it is a contest to do a weekly game.
Plone Southern Cone does educational activities by giving free courses of Plone in Free Software events. Give talks for spread information has obtained good results. Support is made by mail lists and translation of documents to Spanish.
Formal or Informal Organizations?
At the beginning UyLug was worried about interaction with formal organizations, such as student centres and universities. In addition to this, a vision of its founders, that considered this society as conservative, they believed that the best option was to constitute the group as Civil Association.
“From my point of view” Leo Monks comments “I believe that political matters should be kept out and the group should be a kind of spotless guarantor built on an informal frame. The most members it has, the better it is.
to be continued...
Translation by: Ivana Yankilevich



















