Personal tools
You are here: Home > CS 342 Blog Entries > Folder with blog entries for Cooper Walbrun > Blog Entry for Week Ending April 14

Blog Entry for Week Ending April 14

by Walbrun, Cooper last modified Apr 14, 2017 05:07 PM

This week, I made great strides in completing my component of my group's gamification add-on. I have successfully implemented the main trigger of our add-on for all the content types (e.g. pages, news posts, images) that a user can create on a Plone site using Dexterity. I have implemented the badge/experience-awarding features exactly as we specified in our functional specification earlier in the semester; for creating content for the first time, a user will be awarded a new badge. For creating content every time after, the user will gain experience points depending on the content created. This complicated feature is actually surprisingly simple in-code, because Plone's API is very handy. That being said, it was profoundly difficult to figure out which method calls I had to make to accomplish certain tasks.

For example, the plone.api.portal.show_message method was giving me quite a bit of grief because it had a parameter called "request" that is never explicitly described in any documentation anywhere. However, in Plone's API, this parameter has a default value so the method can be overloaded to not pass in a "request" at all. That is all find except for the fact that Plone's buildout also mandates that a value is passed into this method for "request"! Yes, the method declaration says it is not required, but Plone says it is. After having figured this much out, I was still completely lost as to what a "request" was. I basically spent the whole week Googling, reading, Googling some more, and talking with Cory on the matter. Eventually, I concluded that I simply would not find an answer on my own, so I made a post in the Plone Community forum asking about the elusive "request". Needless to say, I wasted all those hours searching because within 12 hours of making this post, a benevolent Plone Community member responded with a concise, clear solution to my problem. I will never again underestimate the usefulness of communication in open source software.

Before next Friday, I am going to crack down on the front-end aspect of the add-on with Levi (I spent most of this week debugging and coding with Cory), and I will be able to get him up to speed on the features I have added and how he might be able to access and display them for his role in the project. There is still one issue in our Issue tracker that Levi and I are going to zero in on as well this weekend. Hopefully we can report a bugless source by weekend's end.

by Walbrun, Cooper last modified Apr 14, 2017 05:07 PM
CS emphasis accredited by

ABET logo

Contact Us

Computer Science Department
UW Oshkosh
800 Algoma Blvd.
Oshkosh, WI 54901

Phone: (920) 424-2068
Fax: (920) 424-0045
Building: Halsey Science Hall

Rooms: 229 (general office), 218 (George Thomas, chair)

Email: Send mail to chair at