Closed (fixed)
Project:
Usability Testing Suite
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Reporter:
Created:
15 Jul 2008 at 05:35 UTC
Updated:
9 Aug 2008 at 06:43 UTC
Jimmy,
I spent some time reviewing the module. I didn't look at the code you wrote. I just used the UI and enabled the module and tried to do things with it.
It looks like this is in heavy development since it was pretty buggy. Here are some notes. You will probably already be aware of and have fixed some bugs. Other issues are best-practice, usability and UI issues.
module_exists()?if (isset($_COOKIE['uts_session']) &&
isset($_COOKIE['uts_session_active']) && $_COOKIE['uts_session_active']) {
if ($_COOKIE['uts_session'] && $_COOKIE['uts_session_active']) is plenty efficient and sufficient.hook_init() with a very light weight?preg_match() error. Many fields are irrelevant and would be nice to hide; comment settings, authoring information, menu settings etc. I'm not sure implementing tasks and studies as nodes is wise.Lets discuss these. Let me know if you think any of them are worth breaking out into their own issue nodes on d.o.
Comments
Comment #1
boombatower commentedDon't disable the module on error (after module number).Not sure what you mean by that. If you are refering to the data collection plug-ins they are disabled if they are not required and not supported by the clients computer specs. It is assumed that they will attempt to record if enabled. They are only disabled in the testing environment.
admin/uts/tasks and admin/uts/analyze are 'trees' in the menu but does not expand and have no children (when empty).I will look into that.
After some talks with webchick in IRC we agreed that I should release a beta soon since the module is quiet functional and get more feedback. Do you feel there are any major things I should fix before then?
I will clean up my TODO list (so it is readable by other humans) and post it in an issue so we prioritize things and tweak the list. Now that the module is fairly complete the list is reasonable in size. ;)
The main items left (as I see it) are documentation, and more plug-ins (out of scope). Obviously there is still a fair amount of clean-up.
Comment #2
Bevan commented> The database prefix needs to be changed prior to hook_init() being called. This is the same approached used in the SimpleTest framework in both 6.x and 7.x (core).
Can this be set in uts.module outside of any function? Is this any better than requiring the user put it in settings.php?
l()anddrupal_get_path().$db_prefixso that table names are easily decipherable when browsing the database or reviewing SQL.drupal_render()or even justvar_export()is sufficient for now.Comment #3
Bojhan commentedNext time make it an order list, so I can respond by giving the number I am responding to.
"Why would a UTE want to limit the max number of participants in a study? This field is redundant IMO. At least make it optional. At study-creation time a UTS is not likely to know what to put here."
I don't really get where you are coming from on this one, you don't want to run a study endlessly. Especially as the participant selection at the moment isn't created, we would just set a link somewhere people can use to start a study. There are some common practices for how many people should participate in a usability study (usually 8), so why cant we just put that in a line under that field?
"What is the 'Task Completion' type? Why are there no other types?"
Its the usability method we are applying, in the usability world it would be refer as task analyses. But I asked around and people seemed to understand the term task completion more then task analyses.
The particpant workflow could certainly use some work, ideally its just a start test button overlaying everything.
Reviews on the UI are not really what I think you should review at the moment, since indeed it needs a whole lot of work still.
Comment #4
boombatower commented> Can this be set in uts.module outside of any function? Is this any better than requiring the user put it in settings.php?
No, for the same reasons SimpleTest can't do that. When Drupal is boostrapped it needs to be changed.
Comment #5
Bevan commentedThanks for the answers and explanations. I have some points below. Everything else makes sense and my response is 'okay'.
destinationin the URL or the form array.hook_form_alter()and storing everything that comes through? I'm probably missing something.Now that I was able to login to the test site I was able to generate these errors:
drupal_set_message()error:alert()-style popup. I was logged in as admin. I didn't get it when I subsequently tried again shortly after, still logged in as admin, but the task time limit had run out:settings.php), user path and live text all at once, I get the following PHP error. We should deal with this case and give useful feedback instead of WSOD or ugly PHP error messages. This detailed output is thanks to xdebug module for PHP, but is normally a one-liner or WSOD. In any case it's meaningless to a significant portion of our audience, and annoying for the rest.Comment #6
boombatower commentedMuch of this has been postponed due to the bug with the menus disappearing. I have spend a while debugging that.
Related to your errors:
Comment #7
boombatower commentedWhat would be a good way to display the login information through the UI? I added a settings page to allow configuration of the defaults, but I'm unsure of how to display them.
My original thought was the study/task description would contain the information since the base environment could contain several users that are used as part of the tasks.
Comment #8
boombatower commentedAdded some help text on environments page explaining login information.
Comment #9
Bojhan commentedJust wondering, do we really need to communicate the login information? Cant you just have the user logged in at the start of his session?
Comment #10
boombatower commentedThe only problem with that is say you want to test some anonymous features, or things involving multiple users. You may want to setup serveral at the beginning.
What you described would work for a large chunk if not almost all the situations, but I'm not sure we want to force that.
Comment #11
boombatower commentedInitial mailing notifications and framework complete. Will add invites and further notifications in coming commits.
Comment #12
Bevan commentedResponding to comment #6, Jimmy / boombatower:
var_dump()As for your other comments, 'okay'. It looks to me like you're on top of things -- Awesome!
The default base environment should ideally start the user at the last step of install.php, with the schema loaded but no users. I understand this may be difficult technically and possibly out of scope at this phase
Additional base environments should have a hook or property that provides a list of usernames, passwords and roles provided by the base environment. In the Study node/object we need to give the UTE the option of which of these users to display to the participant along with the study description, or with which task descriptions.
Comment #13
boombatower commented#20: will work on later.
#21: the recording of data is now implemented.
Comment #14
boombatower commentedI think everything discussed in this review was delt with in some manor. I have completed a number of things and have a few others on my TODO list.
Further reviews can be posted in a separate thread.
Comment #15
Anonymous (not verified) commentedAutomatically closed -- issue fixed for two weeks with no activity.