150
I Use This!
High Activity

News

Analyzed 1 day ago. based on code collected 3 days ago.
Posted over 15 years ago by RedTurtle Technology
Packages for integration of Google Docs services in Plone were released on pypi and on plone.org
Posted over 15 years ago by Ruslan's Blog
Posted over 15 years ago by RedTurtle Technology
A requirement from one of our customer lead us to develop a very tiny Plone add-ons... After all jQuery make all the dirty work!
Posted over 15 years ago by Reinout van Rees' weblog
is a new book for those that want to use Plone in an educational setting. The author, works at Penn State University, supporting many educational Plone websites. So his credentials for writing the book are OK :-) : well, you want a website for your ... [More] course or your university department or your group of teachers. You're able to get your hands on a webserver where you can install Plone. You want multiple people to be able to comfortably update the site without getting stuck on a single webmaster. The book's subtitle rightfully is break the webmaster bottleneck by empowering instructors and staff. You can set up a reliable, functional and professional website yourself without needing to pay tens of thousands of Dollars/Euros/whatever in license fees. You'll need to know about websites in general and you'll need to be reasonably comfortable installing stuff on your own PC and, possibly/probably with someone's help, on a webserver. Non-educational audiences can get benefit from the book, too. A results-oriented intro on skinning/theming doesn't hurt a small business website. And the calendaring tips are also useful for a church or sports club website. You might want to look up the online : perhaps strange for a technical book, but I'd say it makes you . It shows you how to accomplish things with Plone. How to get specific things things done, as the book is laced with screenshots ("this is what your course page can look like") and direction-giving introductions ("you'll probably need a staff directory, here's what you can accomplish"). The tone is friendly, but with experience-born firmness and personal opinion in some cases. is very positive. For a technical book it is mercifully thin at some 190 pages compared to the customary 300. Yet it is remarkably complete. You get to set up your site with content, tips on essential add-on products, skinning/theming basics, web server installation and setup instructions and basic maintenance (backup/restore) guidelines. All the basics you really need. If you need more, there are other books. Veda William's Plone 3 theming book and for hard-core development The first chapter shows you how to get most of the information you need to present for a course done with out-of-the-box Plone. A couple of folders, events for exam dates, agenda items for homework and assignments, some overview pages. And practical advice, for instance on enabling comments: they help invite feedback and increase interaction between students. And with the proper settings, comment spam is virtually non-existant. The chapter has effective screenshots that show what you can accomplish and how to do it. The screenshots are especially handy for Plone's powerful collections ("smart folders" that effectively show search results) as they can be tricky to configure. A screenshot helps a lot in explaining the necessary settings. The second chapter helps you install the first add-on product with reasonably complete instructions. The add-on helps you show your date and event related information in prettier ways than is possible with stock Plone. The chapter has some side comment on security (group/user rights) setup which deserved a more prominent spot. But where... The book is full of small helpful tips and information, so perhaps such "oh, by the way" sidebars are ok. Also good: the author is not afraid of pinpointing Plone pain points: in this case spotty support for showing recurrences. A university or school needs a list of faculty/staff. The author and his colleages wrote a specific add-on for this purpose and documented it fully in chapter three. A-z listings, per-department views, per-speciality views. Handy is the documentation on how to best use the various grouping methods (department, speciality, group) and how to connect the staff in this listing with their actual login accounts. But... every university is different and wants extra fields: a fax number, a building floor, a list of published papers. Plone allows you to extend existing products in a reasonably clean way and chapter 4 shows you how. Watch out, though, as the instructions on how to set up a new site to test your extension misses several steps and uses a program which full installation instructions are only explained in chapter eight. One of the rare real omissions in the book. Chapter five helps you add blog and forum functionality. There are several add-ons for that. Add-ons mean extra functionality but also extra risk: how well are they maintained? The author helps you with criteria and gives you his own recommendation. Most of the time I agree, but I was a bit surprised at the "PloneBoard" add-on's description of recieving prompt updates all the time: two or three years ago it was a problem child with a poor maintainance record as far as I could see at the time. So take a good look at the Chapter six has one of those attention-grabbing sentences in the introduction that invite you to really delve into the chapter: "triple your traffic using the iTunes store". And yes, later on it helps you set up podcasting for your audio or video lecture notes with Plone and submit the podcast to iTunes. Which apparently triples the incoming traffic for many educational institutions. For video, collective.flowplayer is used instead of the apparently aged plone4artists video add-on. I haven't used collective.flowplayer, but it sure looks well-integrated. The one plone4artists video functionality that seems to be missing is that links to youtube videos aren't automatically detected and shown. A Plone killer feature is introduced in chapter seven. PloneFormGen is a fantastic add-on for creating forms without resorting to programming. Almost all sites I deployed when working as a full-time Plone programmer included PloneFormGen. The author heaps praise on this add-on and he's right. Good point for the book: it shows all the available form field types as small screenshots. That helps when building the forms. Chapter eight is on theming/skinning/styling your Plone site. Theming is a bit of a pain point in Plone right now. Plone is halfway the easier, but sloppier and harder to debug Plone 2 style of skinning and some incredible (I mean that!) probably-there-in-a-year Plone 5 goodness. And being halfway means confusion, so this is a difficult chapter for a book author. In my opinion, the author has done a good job explaining all the necessary ingredients and the various ways in which you can get your hands on some necessary adjustments of Plone's default style to your organisation's style. For the real theming meat, you'll need Chapter nine made me say "wow". A solid chapter on deploying your site on the server. Including apache and squid setup and a Plone caching tutorial. Yes, your site needs to be able to stand up agains a whole flock of students hitting your site right after class (or five minutes before the final exam). For educational settings, the tip to look at to integrate with Windows' IIS server is a good one. One thing that surprised me was to see Squid as a caching proxy: I thought Varnish was the standard by now. At least, it's been at least two years since I last touched Squid. The last chapter, ten, contained a personal pat on the back for me. It finishes off the book with some maintentance tasks like backups. And for backups, my is presented as the "layer of sugary goodness" around Plone's default backup scripts. Yes, that's one of those small tools that makes life easy and safe. Good chapter for yourself or your sysadmin. or [Less]
Posted over 15 years ago by Weekly Zope Development Meeting
Posted over 15 years ago by Weekly Zope Development Meeting
Posted over 15 years ago by Weekly Zope Development Meeting
Posted over 15 years ago by Weblog
. (The story is the same or similar for Plone and [buildout] parts = instance versions = versions find-links = http://dist.plone.org http://dist.plone.org/thirdparty eggs = elementtree [versions] plone.recipe.plone = 3.0.6 ... [More] plone.recipe.zope2instance = 3.6 [plone] recipe = plone.recipe.plone [zope2] recipe = plone.recipe.zope2install fake-zope-eggs = true url = ${plone:zope2-url} [instance] recipe = plone.recipe.zope2instance zope2-location = ${zope2:location} user = admin:secret http-address = 8080 eggs = ${buildout:eggs} ${plone:eggs} zcml = products = ${plone:products} Now you want to add an issue tracker product to this website. Okay, you add [buildout] ... eggs = elementtree Products.Poi Uninstalling instance. Updating plone. Updating zope2. Updating fake eggs Installing instance. While: Installing instance. Error: There is a version conflict. We already have: plone.app.layout 1.0.5 but Plone 4.0b1 requires 'plone.app.layout>=1.1.7dev-r23744'. This is not the result that you hope to get. Seeing this error you might think you need to do something about that version. But the real error here is that tries to install Plone version 4, where the has Plone version 3.0.6. It does this, because the added package specifies a dependency on Plone 4, specifically Error: There is a version conflict. We already have: Plone 3.0.6 but Products.Poi requires 'Plone>=4.0a1'. has no way of knowing that you have version 3.0.6, because this Plone version is not "eggified". Simply speaking, what this means is that there is no link to Plone 3.0.6 on this page: . There you will only find Plone 3.2 and higher, as that is the first eggified Plone version. For Plone 3.0.x and 3.1.x, the buildout recipe is used to pull Plone and the other not-eggified products into your buildout. But this does not help when a third party package has a dependency on Plone: will see this and pull in the latest Plone egg it can find, resulting in errors like above. So how do we solve this? We could try to fake having a Plone egg. egg, and lots of , and other eggs, next to its main task of actually installing Zope2. You could say that is a workaround for the not-eggified Zope2. So, how could you fake a Plone egg? You add Plone to the [zope2] recipe = plone.recipe.zope2install fake-zope-eggs = true url = ${plone:zope2-url} additional-fake-eggs = Plone for a moment and rerun you will now have a file Metadata-Version: 1.0 Name: Plone Version: 0.0 , you could specify a different version in the recipe config: additional-fake-eggs = Plone = 3.0.6 to use and will forget to update the additional fake egg version, leading to confusion, so you might as will accept the default Anyway, we have a fake egg now, but does it actually help us? Errr... no. Make sure is listed in the eggs again and rerun buildout: Error: There is a version conflict. We already have: plone.app.layout 1.0.5 but Plone 4.0b1 requires 'plone.app.layout>=1.1.7dev-r23744'. That is the same error we got earlier. So why did it not work? That is easy: the picked at the time of writing) depends on , like we mentioned before. Plone is available in the buildout due to our additional fake egg, but this version does not meet the requirements of , so gets the latest available Plone version instead, leading to problems. have worked if the picked version would have specified a dependency on any Plone version () or for example any Plone version lower than 4 (). So it might have its merits, but it is not enough in our case. In fact, I can imagine that some add-on products specify a dependency on expecting to get at least Plone version , as that is the first eggified Plone version. Having a fake Plone egg would go against that expectation and might cause problems. So if you use this, use it with care. Our problems is still not solved. But the solution is only one line away. We add a version pin for Plone: [buildout] ... versions = versions ... [versions] plone.recipe.plone = 3.0.6 plone.recipe.zope2instance = 3.6 Plone = 0.0 in the eggs, we get this error: The version, 0.0, is not consistent with the requirement, 'Plone>=4.0a1'. While: Installing instance. Error: Bad version 0.0 This error message is still not ideal, but at least this does not lead us on a wild goose chase after , but clearly points out that some package depends on a newer Plone version than we want. in verbose mode by adding one or more options, you get more info, which hopefully helps in debugging this ( Getting required 'collective.watcherlist>=0.2' required by Products.Poi 2.0a1. We have the best distribution that satisfies 'collective.watcherlist>=0.2'. Picked: collective.watcherlist = 0.2 Getting required 'collective.autopermission' required by Products.Poi 2.0a1. We have the best distribution that satisfies 'collective.autopermission'. Picked: collective.autopermission = 1.0b1 Getting required 'Products.DataGridField>=1.8a1' required by Products.Poi 2.0a1. We have the best distribution that satisfies 'Products.DataGridField>=1.8a1'. Picked: Products.DataGridField = 1.8a1 Getting required 'Products.AddRemoveWidget>=1.4.2' required by Products.Poi 2.0a1. We have the best distribution that satisfies 'Products.AddRemoveWidget>=1.4.2'. Picked: Products.AddRemoveWidget = 1.4.2 The version, 0.0, is not consistent with the requirement, 'Plone>=4.0a1'. While: Installing instance. Error: Bad version 0.0 At this point, without further information, I would probably work my way up from the bottom and start investigating if specifies a dependency on Plone (which it does not), and then checking (bingo). Of course in this case we know that the buildout worked fine before and is throwing errors after adding to the eggs. So starting the investigation with would make the most sense here. But knowing where to start looking is a matter of knowledge, experience and luck. Also: do not change too many things at the same time: do not update to a new Plone and Zope version and at the same time add ten new products in your ; it will only confuse you when things start going wrong. you currently see a list pointing to versions . Version does not specify a dependency on Plone (speaking as Poi maintainer: nor will future 1.2.x versions), so you pin that version and things should work again: [versions] plone.recipe.plone = 3.0.6 plone.recipe.zope2instance = 3.6 Plone = 0.0 Products.Poi = 1.2.8 now works. This might change though when one of the other not-pinned packages is updated and has unwanted changes or starts depending on Plone 4. So to top this overly long example off, we will add the buildout extension, run and copy the reported versions to our [buildout] extensions = buildout.dumppickedversions parts = instance versions = versions find-links = http://dist.plone.org http://dist.plone.org/thirdparty eggs = elementtree Products.Poi [versions] Plone = 0.0 Products.AddRemoveWidget = 1.4.2 Products.DataGridField = 1.6.1 Products.Poi = 1.2.8 buildout.dumppickedversions = 0.4 distribute = 0.6.10 elementtree = 1.2.7-20070827-preview plone.recipe.distros = 1.5 plone.recipe.plone = 3.0.6 plone.recipe.zope2install = 3.2 plone.recipe.zope2instance = 3.6 python-openid = 2.0.1 zc.buildout = 1.4.3 zc.recipe.egg = 1.2.2 [plone] recipe = plone.recipe.plone [zope2] recipe = plone.recipe.zope2install fake-zope-eggs = true url = ${plone:zope2-url} [instance] recipe = plone.recipe.zope2instance zope2-location = ${zope2:location} user = admin:secret http-address = 8080 eggs = ${buildout:eggs} ${plone:eggs} zcml = products = ${plone:products} Incidentally, if you have an add-on product that simply depends on without a minimum version, you would now get an error like this when running Getting distribution for 'Plone==0.0'. While: Installing instance. Getting distribution for 'Plone==0.0'. Error: Couldn't find a distribution for 'Plone==0.0'. If you understand what you are doing you can still use the fake egg trick from earlier to fix this. But probably you should instead figure out which add-on is pulling in Plone, and see if an earlier version of that add-on is available that works with your Plone version without having to resort to faking eggs. of To avoid new Plone versions from being pulled in by add-on products when you are on a not-eggified Plone version (, [buildout] ... versions = versions ... [versions] Plone = 0.0 This will not magically solve your buildout problems. Basically, this tells that it should quit with an error when a package is depending on a Plone version. Hopefully the lines before the error message have a hint about which package this is; otherwise try [Less]
Posted over 15 years ago by Weekly Zope Development Meeting
Posted over 15 years ago by Weekly Zope Development Meeting