StanfordHCI/foundry — pull request #165 by dretelny (2014-12-17 19:28:43+00:00)
Title: Dr panelux

This PR aims to help improve the usability of the on-demand hiring process. The goal is to minimize the number of steps involved in sending the hiring emails. Specifically, it adds two features:

1) The panels now appear in a right sidebar next to the three hiring emails (i.e. task available, task acceptance and task unavailable). For space reasons, I only included the most important columns in the table since the user could always click on the "view panels" link in the left sidebar to see / edit all of the panel members/details. A few specific features to explore:

a) If you want to include all members of a panel, clicking on the "select all emails" button will automatically enter those emails into the recipient email field (note that I erased the "copy emails to clipboard" button from this view since it seems pointless):
![image](https://cloud.githubusercontent.com/assets/5275384/5477130/6e68beb2-85dd-11e4-8a7c-884c2d163048.png)

b) If you want to include specific members of a panel by checking them in the table, the emails will automatically be added/removed to the recipient email field as you check/uncheck them in the table. For now there is still a copy button under the emails in this section because I kept encountering issues when removing it (there are some issues since it is sharing some content with the other panel pages, I'll come back to this once this branch is merged):
![image](https://cloud.githubusercontent.com/assets/5275384/5477180/d92bd838-85dd-11e4-9a9e-5ae6aa9746a1.png)

c) By default, the rightside bar with the panels appears next to the three email forms but I have included a "hide panels" link next to the recipient email field:
![image](https://cloud.githubusercontent.com/assets/5275384/5477216/1b2d4546-85de-11e4-82f8-495f118d311f.png)

Clicking the link should hide the right sidebar with the panels and also change the text of the link to "show panels" (and then show the panels if you click the "show panels" link):
![image](https://cloud.githubusercontent.com/assets/5275384/5477226/2de5aa70-85de-11e4-9845-740f13f2a9fb.png)

2) When you select a member role in the TASK ACCEPTANCE email form, the foundry url should automatically populate with that member's invitation link. This reduces the need for having to switch back and forth between Foundry and the hiring portal to access information:
![image](https://cloud.githubusercontent.com/assets/5275384/5477250/7821e87e-85de-11e4-910e-ad366c1bb281.png)

When testing:
First, make sure you login in to Foundry as an author in order to be able to access the panels (if you access worker views, you need to log out and re-login because the session that stores the access credentials is created when you login). Once you login:

- Either create a new team with tasks or use one of your old teams that already has tasks (the team can have already been run). Note that it will be faster to test sending the emails, if your project has a project overview and your task(s) have task descriptions, inputs and outputs since they will be automatically added to the emails. Click on the hire button on one of the tasks.

- If your panels are empty, add some workers to it by clicking on the "view panels" link in the left sidebar and adding people.

- Once your panel has workers, test the panel features described above. Make sure you can filter the panels in the right sidebar and add either all members by clicking "select all emails" or selected members by checking boxes in the table.

- Make sure you can show/hide the right sidebar with the panel. Also make sure the right sidebar doesn't appear on pages where it shouldn't (it should only appear on the three hiring email form pages).

- Check that the features in the main panel page (i.e. if you click on "view panels" in the left side bar) still work properly. Try adding members to panel, editing member details, deleting members, etc.

- Finally, check to make sure that the Foundry url for members are working properly for the task acceptance emails (note that your task will need to have members assigned to it to test this). To test this, select a member from the dropdown and then make sure the link populates. Also, click on the "send email" button to make sure that the email sends properly and that the content of that email is correct.