150
I Use This!
Activity Not Available

News

Analyzed about 1 month ago. based on code collected about 1 month ago.
Posted about 14 years ago by Plone News
We're thrilled to honor our 2010 Plone Help Channel Superstars!  These are just some of the people who have consistently provided outstanding help and support to Plone users via our IRC help channel.  1: Mikko Ohtamaa (moo) 2: Elizabeth Leddy ... [More] (eleddy) 3: Andreas Jung (MacYet) The other nominees, all of whom are deserving of recognition and appreciation, were: Michael A Smith (kojiro)Israel Saeta Pérez  (dukebody)Tim Knapp  (duffyd)Daryl Dixon (ddixon)Nejc Zupan (zupo)Sean Kelly (nutjob) A big thank you to all of the winners and nominees, to the entire Plone community for participating and to our team of judges for doing the hard work of choosing winners. In 2011 we plan to launch the awards before Plone Conference and to announce the winners at the conference.  Until then, keep an eye out for instances of conspicuous helpfulness in #plone! [Less]
Posted about 14 years ago by Plone News
We're thrilled to honor our 2010 Plone Help Channel Superstars!  These are the people who have consistently provided outstanding help and support to Plone users via our IRC help channel.  1: Mikko Ohtamaa (moo) 2: Elizabeth Leddy (eleddy) 3: Andreas ... [More] Jung (MacYet) The other nominees, all of whom are deserving of recognition and appreciation, were: Michael A Smith (kojiro)Israel Saeta Pérez  (dukebody)Tim Knapp  (duffyd)Daryl Dixon (ddixon)Nejc Zupan (zupo)Sean Kelly (nutjob)   A big thank you to all of the winners and nominees, to the entire Plone community for participating and to our team of judges for doing the hard work of choosing winners. In 2011 we plan to launch the awards before Plone Conference and to announce the winners at the conference.  Until then, keep an eye out for instances of conspicuous helpfulness in #plone! [Less]
Posted about 14 years ago by Reinout van Rees' weblog
A bit of background "Deliverance" or xdv is something that I've been using for a while. It started in 2007 when hearing a presentation at a Plone sprint. Basically, you have three parts: The actual website(s) you want to theme. A html ... [More] file with the layout you want to have. A rules file that tells xdv/deliverance which items to take from the source website and where to place them in the layout. I've got two websites (a plone one for my church and a sphinx plain html one that's reinout.vanrees.org) that use deliverance/xdv The Plone one uses an older xdv version that I hooked up in a PasteScript .ini file. My own website uses an old branch I once made of deliverance with some custom fixes. That deliverance version can be run on its own (with a cronjob to start it when the server starts). It is all a bit brittle, somehow. It all runs perfectly, mind you, but I don't dare touching it. So many moving parts and small differences. And nagging doubts about the small things that went wrong when deploying it. Time for a fresh start Time for a fresh start. I really like the xdv-idea and I had a website that was just perfect for xdv. I recently started generating documentation for all our products and started putting it online at http://doc.lizardsystem.nl . There are a couple of different kinds of pages in there: Plain generated html index pages. The python setup.py --long-description output, rendered as html. Basically the same you'd get when releasing a python package on pypi. Coverage output. Planned, but not there yet: sphinx documentation. Two packages already have it, but I just haven't hooked it up in the automatic process. Problem: I'm not going to make a nice sphinx layout and a regular html page layout and, yep, another long-description layout. The layout isn't the problem, but you have to hook it up into at least three different documentation generation steps. Solution: xdv. Just make one layout and write up a decent rule file that copy/pastes the correct bits and pieces out of the various source formats into the layout's proper elements. Current setup Googling and reading my way through various websites, I settled for the following setup. XDV, not deliverance. Xdv is a simpler, smaller version of deliverance and I don't need the big version. And xdv has the interest and manpower of Plone behind it, so that's solid. (Warning: they're renaming it to diazo at the moment...) dv.xdvserver as a piece of wsgi middleware for actually applying the xdv transformation. collective.recipe.modwsgi to easily set up that wsgi middleware and to get an wsgi script I can feed to apache. What I added to my setup.py install_requires list: ... 'PasteDeploy', 'PasteScript', 'dv.xdvserver', # This pulls in xdv itself, btw. ... In my buildout.cfg, I added two parts: [wsgiapp] # Generate a script that's a wsgi script that runs the # paste.ini config file. recipe = collective.recipe.modwsgi eggs = ${buildout:eggs} config-file = ${buildout:directory}/etc/paste.ini [wsgiconf] # Generate the paste.ini config file with the wsgi config. # collective.recipe.template makes sure all the absolute # paths are correct. recipe = collective.recipe.template input = ${buildout:directory}/etc/paste.ini.in output = ${buildout:directory}/etc/paste.ini The wsgi configuration file paste.ini looks like this. Irritating is that you have to specify a full logging setup at the end: otherwise it won't start (that's because collective.recipe.modwsgi requires it): [composite:main] # Main url mapper, this is the actual start of the site. # This section tells paster to serve everything in /static # with [app:theme_resources] and the rest with [app:root]. use = egg:Paste#urlmap /static = theme_resources / = root [app:theme_resources] # Serve everything in /theme from the static directory. use = egg:Paste#static document_root = /home/reinout/buildout/doc/theme/static [app:root] # Likewise, our actual content (coverage, long-description, # sphinx) is in var/www/. Just serve it as static files, # but first run it through our actual xdv filter. use = egg:Paste#static document_root = /home/reinout/buildout/doc/var/www filter-with = xdv [filter:xdv] # The actual xdv filter which is the purpose of this entire # file! Give it a ruleset (=configuration) and our base # theme .html file. use = egg:dv.xdvserver#xdv theme = /home/reinout/buildout/doc/theme/index.html rules = /home/reinout/buildout/doc/theme/rules.xml # live=true means changes to the rules or theme are applied # instantly, otherwise you'd need to restart apache. # There's a bit of perfomance hit, of course. live = true [server:main] # Development server, call it with # "bin/paster server etc/paste.ini". use = egg:Paste#http host = 127.0.0.1 port = 8000 # Mandatory logging config below, otherwise # collective.recipe.modwsgi refuses to work. [loggers] keys = root [handlers] keys = logfile [formatters] keys = logfile [logger_root] level = INFO handlers = logfile [handler_logfile] class=logging.FileHandler args=('/home/reinout/buildout/doc/var/log/xdv.log',) level=INFO formatter=logfile [formatter_logfile] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s datefmt = %H:%M:%S And our rules.xml file with - for the moment- just a couple of very basic transformations: The theme hasn't been fleshed out yet. For now I only apply the blueprint css stylesheets, basically: title Hoera Hurray! Sample content that will disappear! In the end, I'm pretty happy with the setup. I'll probably port my two other projects over. And I'll keep an eye open for more usecases for xdv! [Less]
Posted about 14 years ago by Reinout van Rees' weblog
A bit of background "Deliverance" or xdv is something that I've been using for a while. It started in 2007 when hearing a presentation at a Plone sprint. Basically, you have three parts: The actual website(s) you want to theme. A html ... [More] file with the layout you want to have. A rules file that tells xdv/deliverance which items to take from the source website and where to place them in the layout. I've got two websites (a plone one for my church and a sphinx plain html one that's reinout.vanrees.org) that use deliverance/xdv The Plone one uses an older xdv version that I hooked up in a PasteScript .ini file. My own website uses an old branch I once made of deliverance with some custom fixes. That deliverance version can be run on its own (with a cronjob to start it when the server starts). It is all a bit brittle, somehow. It all runs perfectly, mind you, but I don't dare touching it. So many moving parts and small differences. And nagging doubts about the small things that went wrong when deploying it. Time for a fresh start Time for a fresh start. I really like the xdv-idea and I had a website that was just perfect for xdv. I recently started generating documentation for all our products and started putting it online at http://doc.lizardsystem.nl . There are a couple of different kinds of pages in there: Plain generated html index pages. The python setup.py --long-description output, rendered as html. Basically the same you'd get when releasing a python package on pypi. Coverage output. Planned, but not there yet: sphinx documentation. Two packages already have it, but I just haven't hooked it up in the automatic process. Problem: I'm not going to make a nice sphinx layout and a regular html page layout and, yep, another long-description layout. The layout isn't the problem, but you have to hook it up into at least three different documentation generation steps. Solution: xdv. Just make one layout and write up a decent rule file that copy/pastes the correct bits and pieces out of the various source formats into the layout's proper elements. Current setup Googling and reading my way through various websites, I settled for the following setup. XDV, not deliverance. Xdv is a simpler, smaller version of deliverance and I don't need the big version. And xdv has the interest and manpower of Plone behind it, so that's solid. (Warning: they're renaming it to diazo at the moment...) dv.xdvserver as a piece of wsgi middleware for actually applying the xdv transformation. collective.recipe.modwsgi to easily set up that wsgi middleware and to get an wsgi script I can feed to apache. What I added to my setup.py install_requires list: ... 'PasteDeploy', 'PasteScript', 'dv.xdvserver', # This pulls in xdv itself, btw. ... In my buildout.cfg, I added two parts: [wsgiapp] # Generate a script that's a wsgi script that runs the # paste.ini config file. recipe = collective.recipe.modwsgi eggs = ${buildout:eggs} config-file = ${buildout:directory}/etc/paste.ini [wsgiconf] # Generate the paste.ini config file with the wsgi config. # collective.recipe.template makes sure all the absolute # paths are correct. recipe = collective.recipe.template input = ${buildout:directory}/etc/paste.ini.in output = ${buildout:directory}/etc/paste.ini The wsgi configuration file paste.ini looks like this. Irritating is that you have to specify a full logging setup at the end: otherwise it won't start (that's because collective.recipe.modwsgi requires it): [composite:main] # Main url mapper, this is the actual start of the site. # This section tells paster to serve everything in /static # with [app:theme_resources] and the rest with [app:root]. use = egg:Paste#urlmap /static = theme_resources / = root [app:theme_resources] # Serve everything in /theme from the static directory. use = egg:Paste#static document_root = /home/reinout/buildout/doc/theme/static [app:root] # Likewise, our actual content (coverage, long-description, # sphinx) is in var/www/. Just serve it as static files, # but first run it through our actual xdv filter. use = egg:Paste#static document_root = /home/reinout/buildout/doc/var/www filter-with = xdv [filter:xdv] # The actual xdv filter which is the purpose of this entire # file! Give it a ruleset (=configuration) and our base # theme .html file. use = egg:dv.xdvserver#xdv theme = /home/reinout/buildout/doc/theme/index.html rules = /home/reinout/buildout/doc/theme/rules.xml # live=true means changes to the rules or theme are applied # instantly, otherwise you'd need to restart apache. # There's a bit of perfomance hit, of course. live = true [server:main] # Development server, call it with # "bin/paster server etc/paste.ini". use = egg:Paste#http host = 127.0.0.1 port = 8000 # Mandatory logging config below, otherwise # collective.recipe.modwsgi refuses to work. [loggers] keys = root [handlers] keys = logfile [formatters] keys = logfile [logger_root] level = INFO handlers = logfile [handler_logfile] class=logging.FileHandler args=('/home/reinout/buildout/doc/var/log/xdv.log',) level=INFO formatter=logfile [formatter_logfile] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s datefmt = %H:%M:%S And our rules.xml file with - for the moment- just a couple of very basic transformations: The theme hasn't been fleshed out yet. For now I only apply the blueprint css stylesheets, basically: title Hoera Hurray! Sample content that will disappear! In the end, I'm pretty happy with the setup. I'll probably port my two other projects over. And I'll keep an eye open for more usecases for xdv! [Less]
Posted about 14 years ago by Plone, web standards and e-commerce - blog
Plone, GAE, HTML5 The year started with business as usual with our main customer EEA and with overtime we also managed to redesign Jeeves Information System's multilingual websites, all with Plone. I, Sasha went to the Lovely Snow Sprint where the ... [More] topic this year was Google App Engine. It was a perfect place to meet friends and learn something new. Together with Jens W. Klein from Bluedynamics and Nick Johnson from Google we created TweetEngine for sharing twitter accounts. After the Snow Sprint I was very inspired to do more projects so we decided to take 2 days a month to do none customer work and Per Thulin really let his creativity flow. We put all our projects on http://labs.valentinewebsystems.se/ . During summer Frederik Jeppsson joined us and helped us evaluate  python e-commerce systems and migrate lavendeldockor.se from EasyShop to LFS. Father and we won the tender After summer the changes started. I became a father. Per Thulin decided to start his own company so I decided to leave the office and move to the open space at Malmö Arena at St.Gertrud. Together with Eau de Web in Romania we won the tender at EEA! But after more then 6 years I decided that it was time for me to do some new projects so for the new work at EEA I found a replacement for me. The launch at EU parliament During the year our biggest project was SOER 2010 and a subproject SENSE for the European state of environment report. But before the launch of SOER 2010 at EU parliament in Brussels I also went to Plone Conference 2010. At the Plone Conference 2010 I gave two talks,   External E-commerce and Plone playing along and Managing multilingual sites. New year, new opportunities Now few days left of the year I must say it has been a good year, a lot of work, met interesting people in the SENSE project and I am looking forward to the new year with a lot of new interesting projects and opportunities.  Merry Christmas and Happy New Year from a cold and snowy Sweden!   References TweetEngine Lavendeldockor.se SOER 2010 - European Environment Agency Jeeves   [Less]
Posted about 14 years ago by plope
Weird stuff you can do with Pyramid "url dispatch".
Posted about 14 years ago by Random notes from mg
objgraph got shiny documentation built with Sphinx. Python 3.x support, thanks to Stefano Rivera. Python 2.4 and 2.5 support, thanks to Daniel Blackburn. assorted smaller improvements. zodbbrowser got support for all ZODB ... [More] databases, not just those with a Zope 3/Bluebream-style root folder/local site. the ability to cope better with broken objects (due to the way ZODB works, not having some of your modules on the Python pack can break unpickling; zodbbrowser now handles this kind of situation better). assorted smaller improvements. a slow but inevitable shift of focus from "use it as a plugin for your Zope 3 app" to "it's a standalone tool for inspecting ZODB contents". (Both use cases are still supported, and will be for the foreseeable future.) imgdiff got its first public release. some experimental code to actually find and highlight the differing parts of the images: This works better when both images are the same size, although there's experimental (and somewhat buggy) code to try all possible alignments. I could use some help here; image processing is not something I'm familiar with, and searching StackOverflow didn't help beyond reminding me of the existence of PIL's ImageChops.difference(), which is for same-sized images only. Many of the results there are about comparing photos, where things like lighting levels matter. What I need is a diff for computer-generated images, where some things may be shifted around a bit, by different amounts, but are essentially the same. Are there any two-dimensional sequence diff algorithms? [Less]
Posted about 14 years ago by BlueDynamics Alliance - Zope Related
Today I had to debug a security related problem. In a complex site at some places a Unauthorized came up. I did all the holy steps needed I know (see plone.org/documentation/kb/debug-unauthorized). It still ate up my error-message and even with log ... [More] level DEBUG at all places no output with any value was available. This primary because the redirect to the login_form happened. Ok, where can one turn off redirect to the login_form? To find this I had to step through the publishing process and found one of these lovely monkey-patches of Plone. It patches quiet and hidden and so it took me a while to recognize: It is in plone.app.linkintegrity. The patch code itself is in monkey.py while patching happens in the __init__.py on zopes inititialize call. I commented the line with monkey.installExceptionHook() and afterwards I got a wonderful traceback in my error_log. I hope this may help somebody else. Image by Bill Mill at flickr under CC-BY-SA [Less]
Posted about 14 years ago by Plone News
Nogueira is a designer, expert in CSS, HTML, usability and accessibility with a long history in the Plone community.  He is the founder of Simples Consultoria, a company that provides development, support and training in South America and ... [More] Worldwide. And in addition to creating and organizing the recent Plone Symposium South America, he is the maintainer of the Brazilian portuguese translation of Plone.     World Plone Day is a chance for the global Plone community to showcase their software of choice to potential users at events around the world. The events will be held at universities, developers, software integrators, user groups, and government organizations - all key players in the community of developers and users who make Plone one of the most popular open source software initiatives on the planet.  The next World Plone Day is April 27, 2011.  This will be the fourth time the event has been held since it was created in 2008 by Roberto Allende, the previous WPD Champion. [Less]
Posted about 14 years ago by Reinout van Rees' weblog
We are doing too good a job: the customers keep coming! We're agile programmers, so we can react fast to customer requests and they like it. The core "lizard web" python+django+mapnik+openlayers+matplotlib product is pretty attractive ... [More] to water boards (Dutch: waterschappen), municipalities and so on. The customers keep coming, so we'd like some extra colleagues :-) Being the most well known django-cms programmer in the Netherlands sure helps to get yourself a job, but beginners are also fine. One thing we do need: continual learning and improvement. Improve yourself, learn new technologies, figure out things. To get an idea, this is a summary of things we work with. No need to know all/most of them, this is just to give an impression. I don't want to scare you away. If you get to list every technology you've ever read an article on in your CV, I get to put a list here, right? :-) Lots and lots of open source. Most of our products are open source themselves. Ubuntu on the server and on most of the IT laptops (I'm personally trying to get an apple, but that's a different story :-) Python, Django. Apart from one java project and some R script, everything is python. We love it. And most of our stuff is weboriented and that's all Django. Quite a lot of websites have django-cms now. Many projects need a bunch of regular pages and some news items to explain the project itself. Django-cms is a handy way to get that working quickly. Loads of maps. Openlayers for the interface. Mapnik (the openstreetmap engine) for making the map layers. Jquery interaction. Lots of data sources (plain databases, postgis, netcdf files, etc). Some things that are on my personal wish list for next year: Improved test coverage. It is not bad, but not good either. Often 50-70% code coverage. I want a consistent 90-98%. Good public documentation. The README in our products is already OK, but I've added sphinx here and there to start real proper documentation, however. Look at nosql databases to see if they're useful (and fun!) for us. More and better and more consistent i18n. Look at REST more, both for internal code structure and perhaps even for an external partial API. Some practical info: I've got two previous entries about jobs at Nelen & Schuurmans. You might want to browse my entries tagged with Nelen & Schuurmans. If you're not Dutch: make sure you're allowed to work in The Netherlands. We cannot practically arrange a work permit ourselves if you're not from the EU. Regarding language: well, everyone speaks Dutch all the time at the moment. Except our fresh Australian. If you don't speak Dutch, you'll at least have to learn to understand it. See the official job description at our website. The next Dutch python usergroup meeting will be at our office (16 February 2011). [Less]