Expertise Database
Table of Contents
Project Objective: Purpose
The purpose of the project is to investigate, prototype, and deploy a public webpage that facilitates lookup of specific domains of expertise and the faculty members who have expertise in these domains. Users may include industry partners, grad students looking for supervisors, and/or other interested parties who would like a simple interface to view through the complete faculty.
The webpage should be lightweight, and should integrate with the existing cs.uwaterloo.ca domain, so a prototype will be developed with php as the base framework. The concept is derived primarily from explore.concordia.ca, an existing public expertise lookup webpage for Concordia staff.
Project Scope/Deliverables
- Project Plan and Approximate Timeline
- Postgres Schema
- Backend implemented with PHP, Postgres - linked to odyssey _identity.person_id
- Simple Frontend using the automatic styling provided on the webserver
- editor for an administrative user (Joe Petrik) to update profiles / areas of expertise
- Future possible additions to SAT to allow faculty to edit their own profiles / areas of expertise.
- Feedback: User-testing and interviews to identify possible improvements
- Deployment: To be decided by CSCF/Joe Petrik/CS Director
Scope Includes/Excludes
Includes
- Critical features identified by Raouf, Joe, Daniel and Lawrence
Excludes
- Features identified as "nice to haves" that may take significant development time, such as faculty self-update via SAT.
Constraints
The project needs to be lightweight, not require significant engineering effort and integrate with the existing cs.uwaterloo.ca domain.
Assumptions and Risks
- Assumption: A simple user-interface works best given the automatic styling provided by the webserver.
- Assumption: Expertise data can be provided by an authoritative source (Joe Petrik looking up faculty member details) and not directly by each CS Faculty member.
- Assumption: Expertise keywords can easily be related to other keywords via web-interface, by our administrative user, Joe Petrik: partly by inspection of peoples' webpages and partly by looking at explore.concordia.ca
- Update: examination of explore.concordia.ca shows that related keywords are simply the most frequent keywords associated with those who have a particular keyword
- Risk: This service may be rendered obsolete by another service. For example, the campus expert-finder system might be updated to not require everyone be willing to be a public expert.
- Risk: Maintaining this data may prove to be too much effort for our administrative user, making the service stale and worse than not having it at all.
- Risk: Faculty members may want more control over their list, so we might be asked to integrate this with SAT and enhance the permissions levels and access to SAT more quickly than we'd like.
- Risk: since we have multiple web pages for each faculty member (profile page, personal profile, personal webpage, ...) the suggested installation at cs.uwaterloo.ca/research/expertise might be confusing for end-users
Project Members
drallen (Project Manager), hbjiang for design / implementation, Joe Petrik (administrative end-user)
Project Stakeholders
CSCF staff, CS Faculty, Industry Partners, Graduate Students, and/or other interested parties.
Project Sponsor
Lawrence Folland (CSCF Manager), Raouf Boutaba (CS Director)
RT
Database
- relevant user tables from the Odyssey Database for person_id -> faculty members
- Tables - in expertise schema
- expertise_keyword: consisting of a keyword id (integer) and keyword description (text)
- expertise_person_keyword: One to Many relationship entity connecting odyssey person_id to expertise_keyword
Interface
- Similar to explore.concordia.ca
- The Index page provides a search field for a keyword or a name
- Faculty Member Search Result
- Displays related keywords in a list
- Clicking a keyword performs a search on that keyword
- Keyword Search Result
- Displays all matching faculty members
- Displays all related keywords
- Can add up to 3-4 keywords to the search
- Back-end
- Part of StandardizedAdministrationTools - access by administrator (Joe Petrik) and CSCF - to:
- update lists of keywords
- update list of faculty members within SAT groups
- associate faculty members with keywords
Implementation plan
- 2022-02-11 - 2022-02-25: Daniel and Brian review the design and Brian sets out an initial project plan.
- 2022-02-28 - 2022-03-14: Brian works on implementation.
- 2022-03-14 - 2022-03-28: Daniel and Brian do user-testing and update the implementation.
- 2022-04-08 - 2022-04-22: Data entry by Joe, soft deployment, any additional code updates, public links added to CS website.
Development Notes
- If not using a local database, a remote database connection to the cluster hosted in a virtual environment on sat-dev-200.cscf.uwaterloo.ca is possible via port-forwarding. Assuming the vagrant machine is up in /home/drallen (sat-dev), port forwarding can be done using ssh -L 54321:192.168.121.155:5432 -N root@sat-dev-200.cscf.uwaterloo.ca. The port number in config.php should then be updated to 54321.
- For integration with existing cs.uwaterloo.ca styling, ask Daniel to create a folder for the repository on one of the dev servers. The port forwarding command above can be used to connect to a remote database, but it must be issued on the correct host (see the hostname echoed by php). There is a permissions script permissions.sh that can be used to set read and execution permissions both after the folder is created and after files are pulled from origin.
- There are no definitive sources of person images available yet to add to the app, although plans to add images are being discussed.
- Expertise additions and editing is planned to be a domain of SAT.