Realizing that a lot of our fellow Plonistas are blogging with WordPress, I thought his post would have some relevance. We recently upgraded to WordPress 2.7.1. If you’ve been lax about moving from 2.6.x to the latest version, you should take a few minutes to make the change! The new admin interface is very pleasing to the eye, and provides more intuitive interactions as well.
We also stumbled upon a great little Word Press Plugin: Code Snippet; theoretically it’s outdated, but it is working fine in our install. For those who post code snippets, I’d strongly encourage you to take a look at this plugin. With a simple wrapper, you will have well formatted code with syntax highlighting write within your blog post.
if getattr(self.context, 'getText'):
lst.append((num_brains and div_start or div_start2) + self.context.getText() + div_end)
*unfortunately, the syntax highlighting doesn’t get pushed over into planet.plone.org….so…a bit less effective than I originally wanted it to be.
Posted by David @ 5:30 pm
We’ve been doing a lot lately with getting Zope2 Products updated to function in a Zope3 world. There’s been many occasions where a placeless script errors out. Ideally we’d move them all away from placeless scripts and into browser view functions, but often times they need to be debugged quickly, so that we can get the base product working in Plone 3.
Jon ran across this situation recently, and needed to throw a debugger into the placeless script. I had not seen this litte code snippet before, so perhaps many others have not as well. In the __init_.py of your Product:
from AccessControl import allow_module
Restart Zope, and debug placeless scripts to your heart’s content.
Posted by David @ 12:35 pm
Tags: debug placeless script, pdb, Plone
One of the best references for getting started using virtual machines using XEN and CentOS can be found here. It is well written, very easy to follow and can quickly get you up and running.
Recently I had the task of revisiting a virtual machine that was provisioned with a file based file system as outlined in the tutorial. The main task I needed to achieve was to expand the size of the filesystem. Given that the tutorial has you build the virtual machine using tools that have this capability I figured it would not be that hard.
What is not obvious is that although the filesystem is made in such a way as to easily support this, that the actual practice of making it happen is a little more complicated. Having spent a lot of time googling all the various technologies and not coming up with a solution, I thought I would share what I learned, and give a recipe to perform the same operation on your own virtual server. All the usual caveats apply (use at your own risk, etc.)
If you are attempting to do something similar, or you are using a different Linux distribution it still may be useful to look at the following, and translate the steps accordingly.
Here is the recipe, feel free to let me know if it works for you:
Continue reading »
Posted by Brent @ 5:41 pm
Tags: XEN filesystem grow virtual server CentOS lvm2 fdisk
Well, I think we’ve collectively had a ‘why did we not do this before’ moment, as we’ve now eggified the entire eduCommons suite. For those unaware of what exactly eduCommons is, I present the official blurb:
“eduCommons is an OpenCourseWare management system designed specifically to support OpenCourseWare projects like USU OCW. eduCommons will help you develop and manage an open access collection of course materials.
eduCommons is built around a workflow process that guides users through the process of publishing materials in an openly accessible format. This includes uploading materials into a repository, dealing with copyright, reassembling materials into courses, providing quality assurance, and publication of materials.”
eduCommons is an open source response to MIT’s OpenCourseWare initiative. Currently, 1/3 of the OpenCourseWare Consortium’s members utilize eduCommons as their OpenCourseWare solution. These members represent a wide cross section of institutions, from Western Governor’s University, the only accredited university in the U.S. offering competency-based, online degrees, to the United Nations University, which showcases the training and educational programmes implemented by the University in a wide range of areas relevant to the work of the United Nations, and numerous entities in between.
Back to the egg…the eduCommons egg can be found here. We have also created an eduCommons buildout, for those interested in experimenting with the suite. One of past criticisms of eduCommons has been the complexity of deployment; buildout mitigates many of those concerns. We’ll be working on improving the buildout even more, as this is our initial foray into this area.
Posted by David @ 10:29 am
Continuing the process of eggifying our Plone AddOn Products, we now have functional eggs for:
We also have a functional egg working for out leftskin product, which we use as part of the eduCommons suite. It’s name is a bit deceptive, as it not only provides a default theme, but has a handy configuration panel for setting styles/images TTW, similar to WebLion’s CSSManager.
Posted by David @ 10:48 am
Tags: buildout, Plone, python egg
After returning from the Plone Conference in DC, we realized a few things:
1) Buildout is here to stay
2) Python Eggs are here to stay
We’ve been waffling on whether or not to move toward these technologies, but the research and data now show the clear benefits of utilizing them, of paramount importance is the ease at which they help the (re)deployment story.
Using Martin Aspeli’s egg cooking inroduction, Jon and I set out to convert our PloneBookmarklets AddOn into a full fledged egg, which can be found in the collective at collective.plonebookmarklets. The entire process, form creating a buildout environment, to testing the development egg, took only 90 minutes. Granted, it is a relatively simple product, with not many lines of codes, but it was really satisfying to see how approachable this new framework has become.
The egg can be found in the collective, for the time being; we’ll realease to the Cheese Shop once we figure out the process.
Another great factoid about this revision…it has contributions from 3 additional developers. ONE/Northwest provided numerous fixes related to browser layers and image cacheability, we have additional contributions for translations (Spanish and Basque), and some new social bookmarking tool additions as well (Facebook and Technorati). Thanks to those who are using the product, and have taken the time to make it better as well!
Posted by David @ 2:54 pm
Tags: buildout, Plone, python eggs
Kapil gave a great presentation on Content Mirror, a tool that serializes plone content into a relational database. Serialization of data allows for alternative front ends to be developed, great for those applications which do not necessarily need the entire Plone front end, and it’s inherent ‘Plone Tax’.
We are looking at potential solutions to provide an alternative front end for eduCommons, as many potential institutions may be in lower bandwidth areas, where a slimmed down front end is essential. Perhaps presenting the serialized data from Content Mirror wrapped in a theme via Deliverance would fit the bill.
Posted by David @ 11:24 am
Brent, Jon, and I finally sat down and gave the old site a much overdue renovation, both in design and content.
By virtue of the fact that you are reading this blog post, you are already aware that we now have a blog as well. This will be a great tool for us to communicate what the latest happenings are in the office, as well as in the communites that we are involved in.
Brent and I will be travelling to the Plone Conference in Washington D.C. tomorrow, and should have some great items to report during our stay.
Posted by David @ 3:57 pm
Tags: Plone Conference