Sunday, September 28, 2008

CLUB 50 - bug champions, idea or reality?

last days i was fixing bugs for plone. yes it was that montly plone tuneup. i saw some new faces, i miss some old ones, but i think we achieve the goal. in comming week Gabrielle will probably sent status of bugs and how successfull we were last tuneup.

since there are quite few bugs left to fix i was thinking how to attract more ppl to fix them. i would really like to see "bugless" plone (well at least as little bugs as possible). idea i have is called CLUB 50.

whats club 50? its a club with yearly subscribtion
how do i get in? you fix 50 bugs in one month and you get yearly subscription
what are benefits of club 50? you'll get listed on "CLUB 50 list of the month"
what is "CLUB 50 list of the month"? its a listing of people that fix 50 or more bugs and is placed on first page of plone.org

probably idea needs to be polished i just want to put it out there to discuss, maybe someone in the past thought of this but then it didnt work, maybe number 50 should be changed, i dont know, for me it seems reasonable and will motivate me to fix 50bugs a months at least i would tried to. anyway we should talk more about this. what do you think? would you fix 50 bugs to get into CLUB 50? what PF board members think of this, especialy placing top debugers of last month on first page on plone.org?

PS. i will not be in DC, but it would be nice if somebody present the effort of Plone TuneUp's on lightning talks.

Wednesday, September 24, 2008

plone tune-up join us

you think fixing bugs can't be fun. wrong ... its all in aproach you take. first you need to make atmosphere, make playlist for the whole evening or just plug to your favorite radio. snacks should be in the reach of hand, that also goes for the beer. buy the best beer and snack you've been "saving" money for. with this atitude it can't go wrong.

join us at #plone-tuneup this friday and you'll get help and for sure you'll learn something new while doing something good. there will be some plone fathers and grand fathers to help you out.


here is the list of "favorite" tickets for this friday:

  • Error when must_change_password set to true must_change_password authenticator / https://dev.plone.org/plone/ticket/8425
  • Specific permissions created for iterate not being implemented by the GS profile / https://dev.plone.org/plone/ticket/7707
  • ATReferenceBrowserWidget batch may not work with IE6 and IE7 /https://dev.plone.org/plone/ticket/8228
  • User | Group Memberships | select then remove group | removal fails; site manager is silently misdirected to the wrong user / https://dev.plone.org/plone/ticket/8468
  • MFPlacefulWorkflow: Cannot select "No Workflow" or "Default Workflow" in Global content type to workflow mapping / https://dev.plone.org/plone/ticket/8444
  • "My Folder" link missing from personal toolbar (workaround included) /https://dev.plone.org/plone/ticket/8417
  • "Revert to this version" should be HTTP POST, not GET / https://dev.plone.org/plone/ticket/6932Collection criteria XMLHttpRequest calls are broken / https://dev.plone.org/plone/ticket/6960
  • @ sign in table of contents shows text as link url in ie7 / https://dev.plone.org/plone/ticket/7949
  • validators don't work on reference fields / https://dev.plone.org/plone/ticket/7580


so this friday i'll be drinking beer and eatins snacks, what about you?

WHEN?
The next Plone Tune-Up day will take place this coming Friday Sept.
26th, starting at 10am EDT (New York)/ 16:00 (Paris).

Thursday, September 18, 2008

make SD dance your way

Singing & Dancing is newsletter package for plone3. and a powelfull one. its structure really shows the power of component architecture (CA). only thing missing is some nice documentation, that show customatization technics. did i mentioned that is really well tested (that reminds me that i owe some test for my last project).

when integrating S&D had to do this two customizations:
* include more then just title and description for collector items in newsletter mail
* when content is collected and sent, state of this content should change. so that next time wont get sent.

and before we dive into coding, you know what to do ... PFMO
(Put the Fuc#### Music On) - if your neighbours dont like it, change neighbours



adding image to "Latest News" collector
  • create custom item formatter implementing collective.dancing.IFormatItem



  • register adapter for newsitem content type



  • and thats it. when you collect news items our item formatter will be applied

Change item state after being sent
this is useful so collector does not grab items twice.
  • create newsletter_workflow. (definition.xml) to describe states in short:
    - pending (initial state): content is pending for review to be inlcuded into newletter
    - ready: ready to be collected ny newsletter
    - sent: content already sent

  • create "newsletter_item_already_sent" subscriber method for MessageChanged action



  • subscribe to MessageChanged action



  • now create collector that listens for "ready" state, and your ready to go

well thats about it, S&D is fantastic project relatively young, but is becoming more and more stable and feature reach. i could say its one of those tools in plone i really missed in the past.



resources:
- Daniel Nouri on "Composer templates, IFormat and IFullFormatter"
-
Zope Component Architecture

Tuesday, September 16, 2008

(repoze.)plone dependecy graph

while reading rss i found this post where there is a nice dependency graph for zope. plone was recently eggified (it will be released in 3.2 version, curretnly only in plone-coredev), but still its dependency in setup.py are missing. for this puporse i'll use repoze.plone package.

get some snack, put on the headphones, surf to your favorite radio and lets start the work...
  1. install repoze.plone

    rok@bestia ~/Projects $ virtualenv -no-site-packages repoze-plone
    rok@bestia ~/Projects $ cd repoze-plone
    rok@bestia ~/
    Projects/repoze-plone $ source bin/activate
    (repoze-plone) rok@bestia ~/Projects/repoze-plone $ easy_install -i http://dist.repoze.org/plone/latest/simple repoze.plone

  2. install eggdeps

    (repoze-plone) rok@bestia ~/Projects/repoze-plone $ easy_install tl.eggdeps

  3. install graphviz accordung to your distro. mine is gentoo, so i'll have time for making myself a coffee before graphiz is installed. someone will call that stupid and unecessary. i call it distro that likes me and makes computing fun again.


    # as root
    - python flag must be enabled
    bestia ~ # emerge -va media-gfx/graphviz

  4. ok i did't fetch coffee instead there is worm cocao'n'milk in my hands. now its time to produce some graphs.

    (repoze-plone) rok@bestia ~/Projects/repoze-plone $ eggdeps -d repoze.plone > repoze.plone.dot
    (repoze-plone) rok@bestia ~/Projects/repoze-plone $ dot -Tjpeg repoze.plone.dot > repoze.plone.jpg


  5. and voila our graph is here ... make you own judgement


maybe this graphs are not important, but i hope in next versions plone will become better python citizen and that i could install plone by simply doing "easy_install plone" and that its dependecy tree would be better looking, why? because style matters

garbas.forum 0.1b7 - released

lasts month i was mostly busy with exams and i pass know only one untill now. just before exams started i released 0.1b7. still there is quite a lot of work to make it to the rc1 but that does not intimidate me. you can expect more beta releases in next month and i hope to make rock solid rc1 until end of next month, when i'll make some announcement on plone.org/products

there are quite some, changes made from beta4, check them out here ...
http://pypi.python.org/pypi/garbas.forum
but there are some items in todo list that will change this forum up-side-down. some things you learn by doing them or next time i should plan better.

extra feature that i found quite interesting is commenting of images that also shows inside forums.
- you install garbas.forum
- in forum configuration panel select content type that you want to comment it. and also select to which forum should all this comments go to.
- when new comment is made new topic in forum is created with parent object's title as base of topic titile (eg. /ploneportal/galleries/my-new-house/image1.jpg will become /ploneportal/forum/my-new-house-image1.jpg)