<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fsmisarw</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fsmisarw"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Fsmisarw"/>
	<updated>2026-09-11T17:08:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img8_1743.jpg&amp;diff=108945</id>
		<title>File:Img8 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img8_1743.jpg&amp;diff=108945"/>
		<updated>2017-05-08T20:20:17Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: Updated Image on test cases&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updated Image on test cases&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108944</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108944"/>
		<updated>2017-05-08T20:18:40Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Implementation 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Implementation 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A summary of the above code: &lt;br /&gt;
&lt;br /&gt;
Firstly, the objects for the user, instructor, and admin are created. In the subsequent lines, we create mocks for the impersonation logic to move the test forward. In the third part, the logic is actually tested.&lt;br /&gt;
&lt;br /&gt;
Lines 74 to 83 test as an instructor, while lines 85 to 94 test as a super admin. A new object for a super admin was added in factories.rb&lt;br /&gt;
&lt;br /&gt;
[[File:Img8_1743.jpg|center|Test Code]]&lt;br /&gt;
&lt;br /&gt;
Also, we have added automated test case for negative scenario. In this case instructor is unable to impersonate any user and thus get_user_list method in user.rb returns an empty user list array.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108940</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108940"/>
		<updated>2017-05-08T00:20:05Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Implementation 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Implementation 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A summary of the above code: &lt;br /&gt;
&lt;br /&gt;
Firstly, the objects for the user, instructor, and admin are created. In the subsequent lines, we create mocks for the impersonation logic to move the test forward. In the third part, the logic is actually tested.&lt;br /&gt;
&lt;br /&gt;
Lines 74 to 83 test as an instructor, while lines 85 to 94 test as a super admin. A new object for a super admin was added in factories.rb&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108939</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108939"/>
		<updated>2017-05-08T00:18:11Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Test Plan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Implementation 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Implementation 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A summary of the above code: &lt;br /&gt;
&lt;br /&gt;
Firstly, the objects for the user, instructor, and admin are created. In the subsequent lines, we create mocks for the impersonation logic to move the test forward. In the third part, the logic is actually tested.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108938</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108938"/>
		<updated>2017-05-08T00:15:49Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Implementation 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Implementation 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108937</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108937"/>
		<updated>2017-05-08T00:15:12Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108936</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108936"/>
		<updated>2017-05-08T00:14:14Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Solution 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
We have reduced the complexity of the logic that was originally implemented. Previously, it populated the user list by querying the course and assignment models.&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As suggested by Dr. Gehringer, we add a user to the user list array only if the currently logged in user is able to impersonate them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108935</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108935"/>
		<updated>2017-05-08T00:10:44Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Solution 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
We have also switched the user profile link from the user-ID (what it was originally) to the user's full name. &lt;br /&gt;
A mailto: HTML link has been added on the email address which generates a pop-up with the email ID. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img7_1743.jpg&amp;diff=108934</id>
		<title>File:Img7 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img7_1743.jpg&amp;diff=108934"/>
		<updated>2017-05-08T00:08:04Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108933</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108933"/>
		<updated>2017-05-08T00:07:55Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.jpg|center|New code for user_spec.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108932</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108932"/>
		<updated>2017-05-08T00:07:39Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;br /&gt;
&lt;br /&gt;
Here's what we have added in the user_spec.rb file as test cases. &lt;br /&gt;
&lt;br /&gt;
[[File:Img7_1743.png|center|New code for user.rb]]&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108931</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108931"/>
		<updated>2017-05-08T00:04:29Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.png|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108930</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108930"/>
		<updated>2017-05-08T00:02:58Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
Here's what the code originally looked like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img5_1743.jpg|center|Original code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's what we have changed that to: &lt;br /&gt;
&lt;br /&gt;
[[File:Img6_1743.jpg|center|New code for user.rb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img6_1743.png&amp;diff=108929</id>
		<title>File:Img6 1743.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img6_1743.png&amp;diff=108929"/>
		<updated>2017-05-08T00:00:44Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img5_1743.jpg&amp;diff=108928</id>
		<title>File:Img5 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img5_1743.jpg&amp;diff=108928"/>
		<updated>2017-05-08T00:00:36Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108927</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108927"/>
		<updated>2017-05-07T23:54:09Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img4_1743.jpg&amp;diff=108926</id>
		<title>File:Img4 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img4_1743.jpg&amp;diff=108926"/>
		<updated>2017-05-07T23:53:11Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108925</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108925"/>
		<updated>2017-05-07T23:52:58Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. The following snippet of code shows the exact lines we have changed. &lt;br /&gt;
&lt;br /&gt;
[[File:Img4_1743_new.jpg|center|Code for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108924</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108924"/>
		<updated>2017-05-07T23:18:51Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743_new.jpg|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. &lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743_new.jpg|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743_new.jpg&amp;diff=108923</id>
		<title>File:Img3 1743 new.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743_new.jpg&amp;diff=108923"/>
		<updated>2017-05-07T23:17:40Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743_new.jpg&amp;diff=108922</id>
		<title>File:Img2 1743 new.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743_new.jpg&amp;diff=108922"/>
		<updated>2017-05-07T23:17:15Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108921</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108921"/>
		<updated>2017-05-07T23:16:22Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Solution for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. &lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Solution for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.jpg&amp;diff=108920</id>
		<title>File:Img3 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.jpg&amp;diff=108920"/>
		<updated>2017-05-07T23:15:28Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: uploaded a new version of &amp;amp;quot;File:Img3 1743.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.jpg&amp;diff=108919</id>
		<title>File:Img2 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.jpg&amp;diff=108919"/>
		<updated>2017-05-07T23:15:06Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: uploaded a new version of &amp;amp;quot;File:Img2 1743.jpg&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.jpg&amp;diff=108918</id>
		<title>File:Img3 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.jpg&amp;diff=108918"/>
		<updated>2017-05-07T23:14:00Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.jpg&amp;diff=108917</id>
		<title>File:Img2 1743.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.jpg&amp;diff=108917"/>
		<updated>2017-05-07T23:13:43Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108916</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108916"/>
		<updated>2017-05-07T22:50:21Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pull-down menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it was just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
The changes we made on this part are the addition of lines printing the user-ID, and it was presented with a link which calls the impersonate function, using the user's ID as a parameter. &lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that originally, the default for Manage &amp;gt; Users was to list all 6000+ users on one page, which lead to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108915</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108915"/>
		<updated>2017-05-07T22:40:21Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Solution 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
We have made the following changes to the system as shown by the screenshot above. &lt;br /&gt;
&lt;br /&gt;
Red: The student ID previously had a link that directs to the user profile page. We have changed that to a link that would impersonate the user immediately. We did this by calling the impersonate function directly from this page and passing the user's ID as a parameter.  &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link was shifted to this column instead. This column originally did not have any link on it.  &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which now invokes a mailto: HTML link. This column also previously did not have any links.&lt;br /&gt;
&lt;br /&gt;
The following screens did not previously show the user-ID, but we have modified them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it wass just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Solution 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is where we have added options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but was not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list is passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files have been modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project is fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108461</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108461"/>
		<updated>2017-04-13T01:25:03Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
'''Tentative Changes'''&lt;br /&gt;
&lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. This would be done by bypassing the separate impersonate page. The only parameter required for impersonating a person is his user-ID. Since we have a list of users with their ID here, it would be easy to skip the view where the ID is entered, and move to the next link.&lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link would be shifted to this link instead. &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so, and add click to impersonate to them. &lt;br /&gt;
&lt;br /&gt;
- View scores &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report &lt;br /&gt;
&lt;br /&gt;
- Teammate review report &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All these pages display some part of the user model, meaning they have all the data from the model. So, it is just a matter of displaying the appropriate user-ID. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages.&lt;br /&gt;
&lt;br /&gt;
'''Tentative Changes:'''&lt;br /&gt;
&lt;br /&gt;
There is a gem called will_paginate that adds a pagination library which integrates with ruby on rails. That gem is already added to the gemfile of expertiza, but is not used in this particular page. Once added, it provides a paginate method which automatically generates a paginated list with a per_page parameter. Then that list can be passed to the view, which automatically displays the necessary links such as “previous”, “next”, individual page links, etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
'''Manual:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1:&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;br /&gt;
&lt;br /&gt;
'''Automated:'''&lt;br /&gt;
&lt;br /&gt;
Problem 1 includes changes in view files. Hence, we are not planning to create automated test cases for problem 1.&lt;br /&gt;
&lt;br /&gt;
Problem 2:&lt;br /&gt;
Unit Tests:  We will add unit test cases in user_spec.rb. &lt;br /&gt;
Case I: &lt;br /&gt;
Condition: page number = 4 and per page option  = 25&lt;br /&gt;
	Result: Ensure users list contain 25 entries.&lt;br /&gt;
		Case II:&lt;br /&gt;
			Condition: page number = 1 and per page option  = 50&lt;br /&gt;
	Result: Ensure users list contain all entries.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108351</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108351"/>
		<updated>2017-04-12T22:02:26Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
&lt;br /&gt;
- View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
- View review report&lt;br /&gt;
&lt;br /&gt;
- Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
&lt;br /&gt;
- Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108350</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108350"/>
		<updated>2017-04-12T22:02:01Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
&lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
&lt;br /&gt;
View review report&lt;br /&gt;
&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
&lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108343</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108343"/>
		<updated>2017-04-12T21:48:28Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
&lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
&lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
View review report&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
&lt;br /&gt;
'''Purpose:''' &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108342</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108342"/>
		<updated>2017-04-12T21:47:15Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1_1743.JPG|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2_1743.JPG|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
View review report&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
Purpose: &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3_1743.JPG|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.JPG&amp;diff=108341</id>
		<title>File:Img3 1743.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3_1743.JPG&amp;diff=108341"/>
		<updated>2017-04-12T21:46:46Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:17431.jpg&amp;diff=108340</id>
		<title>File:17431.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:17431.jpg&amp;diff=108340"/>
		<updated>2017-04-12T21:45:25Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3._1743.JPG&amp;diff=108339</id>
		<title>File:Img3. 1743.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3._1743.JPG&amp;diff=108339"/>
		<updated>2017-04-12T21:43:40Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.JPG&amp;diff=108338</id>
		<title>File:Img2 1743.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2_1743.JPG&amp;diff=108338"/>
		<updated>2017-04-12T21:43:02Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img1_1743.JPG&amp;diff=108337</id>
		<title>File:Img1 1743.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img1_1743.JPG&amp;diff=108337"/>
		<updated>2017-04-12T21:42:09Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: new screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;new screenshot&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108335</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108335"/>
		<updated>2017-04-12T21:41:18Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Problem Statement 1 ==&lt;br /&gt;
 &lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1.jpg|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
== Proposal 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img2.jpg|center|Proposal for Impersonate User links]]&lt;br /&gt;
 &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
View review report&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Problem Statement 2 ==&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
Purpose: &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
== Proposal 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:Img3.jpg|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
== Implementation ==  &lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
Models: &lt;br /&gt;
&lt;br /&gt;
- user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
&lt;br /&gt;
- users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
&lt;br /&gt;
- users/list.html.erb&lt;br /&gt;
&lt;br /&gt;
- assignments/list_submissions.html.erb&lt;br /&gt;
&lt;br /&gt;
- grades/view.html.erb&lt;br /&gt;
&lt;br /&gt;
- review_mapping/response_report.html.haml&lt;br /&gt;
&lt;br /&gt;
- assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108333</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108333"/>
		<updated>2017-04-12T21:34:46Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Problem:''' &lt;br /&gt;
&lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:Img1.jpg|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
'''Why''' we are working on the above stated problem: &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
[[File:Img2.jpg|center|Proposal for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
'''Proposal:''' &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
View review report&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
Purpose: &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
[[File:Img3.jpg|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposal:'''&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
Models: &lt;br /&gt;
user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
users/list.html.erb&lt;br /&gt;
assignments/list_submissions.html.erb&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
review_mapping/response_report.html.haml&lt;br /&gt;
assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3.JPG&amp;diff=108332</id>
		<title>File:Img3.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img3.JPG&amp;diff=108332"/>
		<updated>2017-04-12T21:32:27Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2.JPG&amp;diff=108331</id>
		<title>File:Img2.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img2.JPG&amp;diff=108331"/>
		<updated>2017-04-12T21:32:12Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Img1.JPG&amp;diff=108330</id>
		<title>File:Img1.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Img1.JPG&amp;diff=108330"/>
		<updated>2017-04-12T21:31:45Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108329</id>
		<title>CSC/ECE 517 Spring 2017/E1743</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/E1743&amp;diff=108329"/>
		<updated>2017-04-12T21:31:15Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: Created page with &amp;quot;'''Problem:'''   Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  Thi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Problem:''' &lt;br /&gt;
&lt;br /&gt;
Expertiza has a feature that allows instructor i (or an admin) to impersonate a user whose account was created by i or recursively by a user that i created.  This causes Expertiza to show what the impersonated user would see.  It is good for tracking down bugs in what students see and also for accessing functionality that cannot be accessed from, or is too slow to access from, the instructor UI.  Impersonating is currently performed by going to the pull-down menu at the top of the window and selecting Manage &amp;gt; Impersonate user.  However, usually the instructor initiates impersonation after finding the student in some kind of list, like a list of users, or assignment participants, or as a member of a team signed up for a topic, etc.  In this case, it is inconvenient to have to go to the pulldown menu and type in the user ID.  It would be better if the instructor could just click on the ID in the list, and immediately have the impersonated user’s homepage show up.&lt;br /&gt;
&lt;br /&gt;
Here’s what it currently looks like: &lt;br /&gt;
&lt;br /&gt;
[[File:img1.jpg|center|Screenshot of the current Impersonate User page]]&lt;br /&gt;
&lt;br /&gt;
'''Why''' we are working on the above stated problem: &lt;br /&gt;
The idea is to have more convenient options for instructors where a list of students is available, making it easier to both impersonate and view the details of any student with direct links.&lt;br /&gt;
&lt;br /&gt;
[[File:img2.jpg|center|Proposal for Impersonate User links]]&lt;br /&gt;
&lt;br /&gt;
'''Proposal:''' &lt;br /&gt;
Red: The student ID currently has a link that directs to the user profile page. We intend to change that to a link that would impersonate the user. &lt;br /&gt;
Blue: The user profile page link would be shifted to this column instead. &lt;br /&gt;
Green: A link on the email address which would invoke a mailto: HTML link.&lt;br /&gt;
&lt;br /&gt;
The following screens do not currently show the user-ID, but we intend to modify them to do so. &lt;br /&gt;
View scores (User IDs could be shown below names in the Contributor column.)  &lt;br /&gt;
View review report&lt;br /&gt;
Author feedback report (available from the pulldown menu on Review report).&lt;br /&gt;
Teammate review report ( “  “  “)&lt;br /&gt;
&lt;br /&gt;
The '''second problem''' is that currently the default for Manage &amp;gt; Users is to list all 6000+ users on one page, which leads to long delays.  The default should be to show the first 25 users and there should be options to list 100, 250, or all users. &lt;br /&gt;
Purpose: &lt;br /&gt;
The reason behind adding this feature is also to make it the list of users easier to read, possibly reduce retrieval and loading time, and improve ease of navigation. &lt;br /&gt;
&lt;br /&gt;
[[File:img3.jpg|center|Proposal for division and navigation of pages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposal:'''&lt;br /&gt;
The yellow portion in the above screenshot is space we can use to add options to display 25, 100, 250, or all users at once, along with links to ‘previous’ and ‘next’ pages. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following files will most likely be modified: &lt;br /&gt;
Models: &lt;br /&gt;
user.rb&lt;br /&gt;
&lt;br /&gt;
Controllers:&lt;br /&gt;
users_controller.rb&lt;br /&gt;
&lt;br /&gt;
Views: &lt;br /&gt;
users/list.html.erb&lt;br /&gt;
assignments/list_submissions.html.erb&lt;br /&gt;
grades/view.html.erb&lt;br /&gt;
review_mapping/response_report.html.haml&lt;br /&gt;
assessment360/all_students_all_reviews.html.erb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Plan ==&lt;br /&gt;
&lt;br /&gt;
Most of the testing for this project will be fairly simple.&lt;br /&gt;
&lt;br /&gt;
All of the altered links will need to be tested to ensure they link to the correct pages. Tests that check if the username link correctly initiates impersonation of that user, and that clicking the full name links to the right user profile.&lt;br /&gt;
&lt;br /&gt;
A test user needs to be created and the email link will be used to ensure emails are correctly sent.&lt;br /&gt;
&lt;br /&gt;
For the second part of the project, tests need to be set up to check that the correct number of students are being displayed for each display option, and that the user can display subsequent pages of users.&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107804</id>
		<title>CSC/ECE 517 Spring 2017/M1701</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107804"/>
		<updated>2017-04-01T02:15:11Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layout engine written in Rust, being developed by Mozilla Research. The prototype of the system currently seeks to create a highly parallel environment in which many components are handled by fine-grained, isolated components. Servo provides a consistent API for hosting the engine within other software.Servo is still at an early stage of development. Servo can act as a standalone browser.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Rust&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Rust&amp;lt;ref&amp;gt; https://en.wikipedia.org/wiki/Rust_(programming_language)&amp;lt;/ref&amp;gt; is a general purpose, multi-paradigm, programming language sponsored, developed, and maintained by Mozilla Research for creating highly concurrent and highly safe systems. The development of Rust had an emphasis on control of memory layout, safety, and concurrency. It is very similar to C++ in terms of syntax but differs heavily in its semantics.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
The repository www.github.com/servo/rust-har[http://www.github.com/servo/rust-har] is a library which implements HAR 1.2 spec in Rust. It was last changed two years ago and our task involved making it adhere to the syntax of the latest version of rust. The original code made use of some outdated code and syntax patterns. Our purpose was to make some key changes to those aspects of the code, that make it look better and such that it becomes more DRY.&lt;br /&gt;
&lt;br /&gt;
The primary purpose of our contribution to the project was to add native support for the feature that enables the creation of HTTP archive files which can be analyzed by other tools. The addition of this feature to Servo allows more precise comparisons to be made with other browsers.&lt;br /&gt;
Our primary steps while working on the project involved&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/HTTP-archive-support-project&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
clone the rust-har repository and update the code to build with a modern version of Rust:&lt;br /&gt;
* remove/replace invalid integer suffixes&lt;br /&gt;
* replace box expressions with Box::new syntax&lt;br /&gt;
* replace use of serialize crate with serde_json&lt;br /&gt;
* add a new constructor for the Timing/CacheEntry/Cache/Content/Entry/Request/Response/Cookie/Header structures&lt;br /&gt;
* make the tests use the new constructor methods (cargo test)&lt;br /&gt;
* add TravisCI integration&lt;br /&gt;
&lt;br /&gt;
== Design Pattern ==&lt;br /&gt;
&lt;br /&gt;
No design pattern was needed/used in this project.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We have completed the above steps, and following are some of the snippets of code that were added or altered.&lt;br /&gt;
Here is the [https://github.com/servo/rust-har/pull/2 pull request] for this project. &lt;br /&gt;
&lt;br /&gt;
Step 1: removing/replacing invalid integer suffixes&lt;br /&gt;
[[File:Screen1 1.png|center|removing/replacing invalid integer suffixes]]&lt;br /&gt;
&lt;br /&gt;
Step 2: replacing box expressions with Box::new syntax&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 2.png|center|replacing box expressions with Box::new syntax]]&lt;br /&gt;
&lt;br /&gt;
Step 3: replacing use of serialize crate with serde_json&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 3.png|center|replacing use of serialize crate with serde_json]]&lt;br /&gt;
&lt;br /&gt;
Step 4: adding new constructors for the structures&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 4.png|center|adding new constructors for the structures]]&lt;br /&gt;
&lt;br /&gt;
Step 5: writing test cases to use the new constructors&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 5.png|center|writing test cases to use the new constructors]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
In terms of testing, we took care of the following: &lt;br /&gt;
&lt;br /&gt;
1. We modified all test cases to implement &amp;quot;new constructor for structs&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. Added a new test case 'test_page_timings_float' to verify that when a float value is passed for 'OptionalTiming'. We are asserting that deserializer returns an error. &lt;br /&gt;
&lt;br /&gt;
3. When all syntax were modified to the latest version, only a few tests were failing due to camelCase issues. Those were fixed.&lt;br /&gt;
&lt;br /&gt;
4. Earlier, we were asserting by comparing string.  Now we see if two objects match.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107725</id>
		<title>CSC/ECE 517 Spring 2017/M1701</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107725"/>
		<updated>2017-04-01T00:23:25Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: /* Project Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layout engine written in Rust, being developed by Mozilla Research. The prototype of the system currently seeks to create a highly parallel environment in which many components are handled by fine-grained, isolated components. Servo provides a consistent API for hosting the engine within other software.Servo is still at an early stage of development. Servo can act as a standalone browser.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Rust&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Rust&amp;lt;ref&amp;gt; https://en.wikipedia.org/wiki/Rust_(programming_language)&amp;lt;/ref&amp;gt; is a general purpose, multi-paradigm, programming language sponsored, developed, and maintained by Mozilla Research for creating highly concurrent and highly safe systems. The development of Rust had an emphasis on control of memory layout, safety, and concurrency. It is very similar to C++ in terms of syntax but differs heavily in its semantics.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
The repository www.github.com/servo/rust-har[http://www.github.com/servo/rust-har] is a library which implements HAR 1.2 spec in Rust. It was last changed two years ago and our task involved making it adhere to the syntax of the latest version of rust. The original code made use of some outdated code and syntax patterns. Our purpose was to make some key changes to those aspects of the code, that make it look better and such that it becomes more DRY.&lt;br /&gt;
&lt;br /&gt;
The primary purpose of our contribution to the project was to add native support for the feature that enables the creation of HTTP archive files which can be analyzed by other tools. The addition of this feature to Servo allows more precise comparisons to be made with other browsers.&lt;br /&gt;
Our primary steps while working on the project involved&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/HTTP-archive-support-project&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
clone the rust-har repository and update the code to build with a modern version of Rust:&lt;br /&gt;
* remove/replace invalid integer suffixes&lt;br /&gt;
* replace box expressions with Box::new syntax&lt;br /&gt;
* replace use of serialize crate with serde_json&lt;br /&gt;
* add a new constructor for the Timing/CacheEntry/Cache/Content/Entry/Request/Response/Cookie/Header structures&lt;br /&gt;
* make the tests use the new constructor methods (cargo test)&lt;br /&gt;
* add TravisCI integration&lt;br /&gt;
&lt;br /&gt;
== Design Pattern ==&lt;br /&gt;
&lt;br /&gt;
No design pattern was needed/used in this project.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We have completed the above steps, and following are some of the snippets of code that were added or altered.&lt;br /&gt;
Here is the [https://github.com/servo/rust-har/pull/2 pull request] for this project. &lt;br /&gt;
&lt;br /&gt;
Step 1: removing/replacing invalid integer suffixes&lt;br /&gt;
[[File:Screen1 1.png|center|removing/replacing invalid integer suffixes]]&lt;br /&gt;
&lt;br /&gt;
Step 2: replacing box expressions with Box::new syntax&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 2.png|center|replacing box expressions with Box::new syntax]]&lt;br /&gt;
&lt;br /&gt;
Step 3: replacing use of serialize crate with serde_json&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 3.png|center|replacing use of serialize crate with serde_json]]&lt;br /&gt;
&lt;br /&gt;
Step 4: adding new constructors for the structures&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 4.png|center|adding new constructors for the structures]]&lt;br /&gt;
&lt;br /&gt;
Step 5: writing test cases to use the new constructors&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 5.png|center|writing test cases to use the new constructors]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107260</id>
		<title>CSC/ECE 517 Spring 2017/M1701</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107260"/>
		<updated>2017-03-23T18:48:04Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layout engine written in Rust, being developed by Mozilla Research. The prototype of the system currently seeks to create a highly parallel environment in which many components are handled by fine-grained, isolated components. Servo provides a consistent API for hosting the engine within other software.Servo is still at an early stage of development. Servo can act as a standalone browser.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Rust&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Rust&amp;lt;ref&amp;gt; https://en.wikipedia.org/wiki/Rust_(programming_language)&amp;lt;/ref&amp;gt; is a general purpose, multi-paradigm, programming language sponsored, developed, and maintained by Mozilla Research for creating highly concurrent and highly safe systems. The development of Rust had an emphasis on control of memory layout, safety, and concurrency. It is very similar to C++ in terms of syntax but differs heavily in its semantics.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
The repository www.github.com/servo/rust-har[http://www.github.com/servo/rust-har] is a library which implements HAR 1.2 spec in Rust. It was last changed two years ago and our task involved making it adhere to the syntax of the latest version of rust. &lt;br /&gt;
&lt;br /&gt;
The primary purpose of our contribution to the project was to add native support for the feature that enables the creation of HTTP archive files which can be analyzed by other tools. The addition of this feature to Servo allows more precise comparisons to be made with other browsers.&lt;br /&gt;
Our primary steps while working on the project involved&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/HTTP-archive-support-project&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
clone the rust-har repository and update the code to build with a modern version of Rust:&lt;br /&gt;
* remove/replace invalid integer suffixes&lt;br /&gt;
* replace box expressions with Box::new syntax&lt;br /&gt;
* replace use of serialize crate with serde_json&lt;br /&gt;
* add a new constructor for the Timing/CacheEntry/Cache/Content/Entry/Request/Response/Cookie/Header structures&lt;br /&gt;
* make the tests use the new constructor methods (cargo test)&lt;br /&gt;
* add TravisCI integration&lt;br /&gt;
&lt;br /&gt;
== Design Pattern ==&lt;br /&gt;
&lt;br /&gt;
No design pattern was needed/used in this project.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We have completed the above steps, and following are some of the snippets of code that were added or altered.&lt;br /&gt;
Here is the [https://github.com/servo/rust-har/pull/2 pull request] for this project. &lt;br /&gt;
&lt;br /&gt;
Step 1: removing/replacing invalid integer suffixes&lt;br /&gt;
[[File:Screen1 1.png|center|removing/replacing invalid integer suffixes]]&lt;br /&gt;
&lt;br /&gt;
Step 2: replacing box expressions with Box::new syntax&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 2.png|center|replacing box expressions with Box::new syntax]]&lt;br /&gt;
&lt;br /&gt;
Step 3: replacing use of serialize crate with serde_json&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 3.png|center|replacing use of serialize crate with serde_json]]&lt;br /&gt;
&lt;br /&gt;
Step 4: adding new constructors for the structures&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 4.png|center|adding new constructors for the structures]]&lt;br /&gt;
&lt;br /&gt;
Step 5: writing test cases to use the new constructors&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 5.png|center|writing test cases to use the new constructors]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107179</id>
		<title>CSC/ECE 517 Spring 2017/M1701</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107179"/>
		<updated>2017-03-23T01:39:07Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layout engine written in Rust, being developed by Mozilla Research. The prototype of the system currently seeks to create a highly parallel environment in which many components are handled by fine-grained, isolated components. Servo provides a consistent API for hosting the engine within other software.Servo is still at an early stage of development. Servo can act as a standalone browser.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Rust&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Rust&amp;lt;ref&amp;gt; https://en.wikipedia.org/wiki/Rust_(programming_language)&amp;lt;/ref&amp;gt; is a general purpose, multi-paradigm, programming language sponsored, developed, and maintained by Mozilla Research for creating highly concurrent and highly safe systems. The development of Rust had an emphasis on control of memory layout, safety, and concurrency. It is very similar to C++ in terms of syntax but differs heavily in its semantics.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
The repository www.github.com/servo/rust-har[http://www.github.com/servo/rust-har] is a library which implements HAR 1.2 spec in Rust. It was last changed two years ago and our task involved making it adhere to the syntax of the latest version of rust. &lt;br /&gt;
&lt;br /&gt;
The primary purpose of our contribution to the project was to add native support for the feature that enables the creation of HTTP archive files which can be analyzed by other tools. The addition of this feature to Servo allows more precise comparisons to be made with other browsers.&lt;br /&gt;
Our primary steps while working on the project involved&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/HTTP-archive-support-project&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
clone the rust-har repository and update the code to build with a modern version of Rust:&lt;br /&gt;
* remove/replace invalid integer suffixes&lt;br /&gt;
* replace box expressions with Box::new syntax&lt;br /&gt;
* replace use of serialize crate with serde_json&lt;br /&gt;
* add a new constructor for the Timing/CacheEntry/Cache/Content/Entry/Request/Response/Cookie/Header structures&lt;br /&gt;
* make the tests use the new constructor methods (cargo test)&lt;br /&gt;
* add TravisCI integration&lt;br /&gt;
&lt;br /&gt;
== Design Pattern ==&lt;br /&gt;
&lt;br /&gt;
No design pattern was needed/used in this project.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We have completed the above steps, and following are some of the snippets of code that were added or altered.&lt;br /&gt;
&lt;br /&gt;
Step 1: removing/replacing invalid integer suffixes&lt;br /&gt;
[[File:Screen1 1.png|center|removing/replacing invalid integer suffixes]]&lt;br /&gt;
&lt;br /&gt;
Step 2: replacing box expressions with Box::new syntax&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 2.png|center|replacing box expressions with Box::new syntax]]&lt;br /&gt;
&lt;br /&gt;
Step 3: replacing use of serialize crate with serde_json&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 3.png|center|replacing use of serialize crate with serde_json]]&lt;br /&gt;
&lt;br /&gt;
Step 4: adding new constructors for the structures&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 4.png|center|adding new constructors for the structures]]&lt;br /&gt;
&lt;br /&gt;
Step 5: writing test cases to use the new constructors&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 5.png|center|writing test cases to use the new constructors]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107178</id>
		<title>CSC/ECE 517 Spring 2017/M1701</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Spring_2017/M1701&amp;diff=107178"/>
		<updated>2017-03-23T01:38:11Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: Created page with &amp;quot;== Introduction ==  &amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;  Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layou...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''Servo'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Servo&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Servo_(layout_engine)&amp;lt;/ref&amp;gt; is a research project with the aim of creating a web browser layout engine written in Rust, being developed by Mozilla Research. The prototype of the system currently seeks to create a highly parallel environment in which many components are handled by fine-grained, isolated components. Servo provides a consistent API for hosting the engine within other software.Servo is still at an early stage of development. Servo can act as a standalone browser.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;big&amp;gt;Rust&amp;lt;/big&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Rust&amp;lt;ref&amp;gt; https://en.wikipedia.org/wiki/Rust_(programming_language)&amp;lt;/ref&amp;gt; is a general purpose, multi-paradigm, programming language sponsored, developed, and maintained by Mozilla Research for creating highly concurrent and highly safe systems. The development of Rust had an emphasis on control of memory layout, safety, and concurrency. It is very similar to C++ in terms of syntax but differs heavily in its semantics.&lt;br /&gt;
&lt;br /&gt;
== Project Description ==&lt;br /&gt;
&lt;br /&gt;
The repository www.github.com/servo/rust-har[http://www.github.com/servo/rust-har] is a library which implements HAR 1.2 spec in Rust. It was last changed two years ago and our task involved making it adhere to the syntax of the latest version of rust. &lt;br /&gt;
&lt;br /&gt;
The primary purpose of our contribution to the project was to add native support for the feature that enables the creation of HTTP archive files which can be analyzed by other tools. The addition of this feature to Servo allows more precise comparisons to be made with other browsers.&lt;br /&gt;
Our primary steps while working on the project involved&amp;lt;ref&amp;gt;https://github.com/servo/servo/wiki/HTTP-archive-support-project&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
clone the rust-har repository and update the code to build with a modern version of Rust:&lt;br /&gt;
* remove/replace invalid integer suffixes&lt;br /&gt;
* replace box expressions with Box::new syntax&lt;br /&gt;
* replace use of serialize crate with serde_json&lt;br /&gt;
* add a new constructor for the Timing/CacheEntry/Cache/Content/Entry/Request/Response/Cookie/Header structures&lt;br /&gt;
* make the tests use the new constructor methods (cargo test)&lt;br /&gt;
* add TravisCI integration&lt;br /&gt;
&lt;br /&gt;
== Design Pattern ==&lt;br /&gt;
&lt;br /&gt;
No design pattern was needed/used in this project.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
We have completed the above steps, and following are some of the snippets of code that were added or altered.&lt;br /&gt;
&lt;br /&gt;
Step 1: removing/replacing invalid integer suffixes&lt;br /&gt;
[[File:Screen1 1.png|center|removing/replacing invalid integer suffixes]]&lt;br /&gt;
&lt;br /&gt;
Step 2: replacing box expressions with Box::new syntax&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 2.png|center|replacing box expressions with Box::new syntax]]&lt;br /&gt;
&lt;br /&gt;
Step 3: replacing use of serialize crate with serde_json&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 3.png|center|replacing use of serialize crate with serde_json]]&lt;br /&gt;
&lt;br /&gt;
Step 4: adding new constructors for the structures&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 4.png|center|adding new constructors for the structures]]&lt;br /&gt;
&lt;br /&gt;
Step 5: writing test cases to use the new constructors&lt;br /&gt;
&lt;br /&gt;
[[File:Screen1 5.png|center|writing test cases to use the new constructors]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1_5.png&amp;diff=107175</id>
		<title>File:Screen1 5.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Screen1_5.png&amp;diff=107175"/>
		<updated>2017-03-23T01:32:28Z</updated>

		<summary type="html">&lt;p&gt;Fsmisarw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Fsmisarw</name></author>
	</entry>
</feed>