It appears as though there are now some diffs about which week we're on! Depends on whether we're indexing from 0 or 1?
This week I find myself working on two different tasks with a very similar theme.
The first task is in the News Feed module. When we generate a feed item, we're doing it on the logic side. the onCreate, onUpdate, and onDelete hooks that are used to create the feed item is in the model logic layer, and the feed item process itself (now being converted to a scheduled Task) is also in the logic layer.
However, the payload for a certain feed item requires access to view params in many cases so that model-specific payload templates can be re-used to render the payload for the activity item.
And you could say, "yes logic can't retrieve from view, but isn't the view retrieving from the logic anyways?" This is true, and this is why normally this is not a problem. But the problem arises when the view for one model type (site) wants to access view params for another model type (document, or survey).
This is also a challenge for the view for org admins to view the results from the manage a student project page. In this situation, the view model is for StudentProject, but the most obviously DRY approach would be to also instantiate a view class for survey view models so that we could render a list of ProjectSurveys or GradingProjectSurveys.
Short version: the view layer seems somewhat impenetrable from the logic layer, as it is tied up in the HTTP request. As a view should be. But what do we do about these edge cases?
I've been impressed with the orthognalness (is that a word?) of Melange, so it's entirely possible that I haven't yet figured out how to properly instantiate a view from the logic -- or why I don't want to do that in the first place.
On an unrelated note, another good learning experience has been in how I've been thinking about privacy in regard to how news feed activity can be consumed. While at first I was mostly alright with the idea of generating a hash key for hard-to-guess URLs. But the news feed activity is mostly HTML, content, and key words. In other words, if we're not careful, it could very easily end up crossing paths with a robot (edit: not if we set our robots.txt correctly!).
Showing posts with label Survey. Show all posts
Showing posts with label Survey. Show all posts
Monday, July 13, 2009
Monday, June 22, 2009
Open Source Works Because of Awesome People
It's just not right to start off this week's blog post with anything else but a thank-you to Daniel Diniz (ajaksu IIUC) for his help getting the survey feature ready for midterm evaluations. Preparing surveys has been more difficult then I predicted, and his help has been indispensable.
When first asked about how long it would take to get surveys ready, I gave 'a week' as a ballpark figure. I was initially only thinking about the problem on the level of creating and saving HTML form fields.
And grading didn't seem that it would be too difficult. Just make a Boolean property, right?
I wasn't considering the various complexities involved. For example, if a mentor is mentoring several students, and surveys were given that asked that the mentor filled it out for each student, it is no longer simply a matter of loading some saved HTML.
There should be a very simple method to pair the results of the survey taken by a student and the survey taken by the student's mentor, as well as distinguish between x number of evaluation surveys, and properly pair groups of saved survey records.
Anyways, this is where ajaksu comes in. He's helped to keep momentum in survey development, and since GSOC started we've been pinging and relaying new work just as the other gets distracted or exhausted. The result is a survey feature that should perform admirably this summer.
The last week and all of the collaboration involved also been a good lesson about better living through version control. Which reminds me to link to our repositories:
http://github.com/ajaksu/Melange
http://github.com/jamslevy/Melange
You can keep track of the progress as ajaksu and I are preparing to merge surveys into production.
There's also the Github issue tracker:
http://github.com/jamslevy/Melange/issues
I'd like to take the initiative in a "dry run" for surveys, before the midterm opening. While a lot of development effort has been going towards the midterm component, it's also important that non-evaluation surveys can also be successfully administered.
In this next week, I plan to do a code review for the news feed code and finish all the outstanding tickets for both surveys and news feeds.
When first asked about how long it would take to get surveys ready, I gave 'a week' as a ballpark figure. I was initially only thinking about the problem on the level of creating and saving HTML form fields.
And grading didn't seem that it would be too difficult. Just make a Boolean property, right?
I wasn't considering the various complexities involved. For example, if a mentor is mentoring several students, and surveys were given that asked that the mentor filled it out for each student, it is no longer simply a matter of loading some saved HTML.
There should be a very simple method to pair the results of the survey taken by a student and the survey taken by the student's mentor, as well as distinguish between x number of evaluation surveys, and properly pair groups of saved survey records.
Anyways, this is where ajaksu comes in. He's helped to keep momentum in survey development, and since GSOC started we've been pinging and relaying new work just as the other gets distracted or exhausted. The result is a survey feature that should perform admirably this summer.
The last week and all of the collaboration involved also been a good lesson about better living through version control. Which reminds me to link to our repositories:
http://github.com/ajaksu/Melange
http://github.com/jamslevy/Melange
You can keep track of the progress as ajaksu and I are preparing to merge surveys into production.
There's also the Github issue tracker:
http://github.com/jamslevy/Melange/issues
I'd like to take the initiative in a "dry run" for surveys, before the midterm opening. While a lot of development effort has been going towards the midterm component, it's also important that non-evaluation surveys can also be successfully administered.
In this next week, I plan to do a code review for the news feed code and finish all the outstanding tickets for both surveys and news feeds.
Labels:
Survey,
Web Design and Development
Subscribe to:
Posts (Atom)