Issue#49, search and filter. At the media list page, there are two new columns ‘uploaded by’ which shows the user who uploaded a specific media item and ‘date’ showing the time the item is created at. On the top the result table, there are some filters such as ‘Uploaded by’, ‘Type’, ‘Stage’, ‘Tag’, ‘Date’ in month and year. Searching is for finding the keyword in either the item or the tag name. Filters can be combined to find specific items. There is also a ‘Reset Filters’ which keeps the search term if existed but clears all the filters applied. To display all the media items again, you can simply click on the media link on the top right. One problem we faced in search and filter was the date filtering. Since we’re having different database system for different environment, we couldn’t extract the year or month from the database since they are syntax specific to each system. Ultimately, we found a gem ‘by_star’ which enables the query on month or year. (Thong)

Issue#322, reflecting different cursors on different tool tabs. This issue picked up from last sprint as there was a problem with changing the cursor on Windows Edge. Initially using the png file to change the cursor and it only worked on Chrome and Firefox. Both Edge and Safari were unable to display the png cursor. We then found out that Windows Edge only supports .cur file for the cursor and we added a .cur file and this resolved the issue, .cur file was compatible with Chrome, Edge, Firefox and Safari. (Alex, Charlie)

Issue#271 rework, when player is on two stages on different tab, avatar will be placed on both screen even if they don’t have the specific avatar that is assigned to the stage. This was fixed by getting the canvas 2D component at the right time, initially the 2D was call when pages are loaded, however it should only be called when the canvas is present, adding a condition to check if the canvas was present resolved the issue. (Charlie)

Issue#307, resizing the avatar instantly, the player should be able to also see the size before its been broadcasted to all the other players and audience. This issue was fairly straight forward, all I had to do was to create another image of the avatar and draw it with some transparency each time the avatar slider is moved. (Charlie)

Issue#190, Speech bubble. When player is holding an avatar and they messaged in the chat then the message should show above the avatar or below if the avatar is too high up. This issue was a challenge for me, initially I was thinking to have an image drawn and have the text overlay the image but that this mean that when the player’s message is too long it will not work very well. So I had a look at drawing the speech bubble manual on the canvas and adjusting the height according the the length of the message. After drawing the normal speech bubble, I went on trying to draw the spike bubble but it didn’t turn out very well, I decided to ask Helen and Vicki if they are fine with the same bubble as the normal speech but have the bubble colored red and stronger stroke, which they were fine with. Then moving on implementing the thought bubble which i had blue oval bubble. When I finished this i realised that it was not broadcasting to the other players and audience, I wasn’t too sure how I could do that and asked Paul for some suggestion, even though the pointed me into the right direction it still took me awhile before i got the hang of it. This issue was not able to make it into this release, but is complete and ready for the next release. (Charlie)

Issue #242, stage accessibility. The owner of a stage can specify whether a stage is ‘Public’ or ‘Non-public’. All non-public stages won’t be shown on the foyer for the audience. A logged-in user can see the accessibility of the stages on foyer page in the new column. This hasn’t been completed as I ran out of time. What’s needed to be done next would be to display the accessibility on the stage list page as well.

Issue #169, (player and audience count). The issue required the number of players and audience members on a particular stage to be displayed on the stage above the chat box. I tried adding a player count in the coffeeScript file but this only counts the players on the client-side. There needed to be server-side code to keep track of connected users on the stage. I was unable to complete the issue as ActionCable was required to store the number of connected users. I needed a greater understanding of how to implement ActionCable. (Alex)


It has been a great pleasure working for UpStage. This has been a great experience for all of us to learn many new things about web development.