comp730:MeAndYou Spring 2017 William Rivera Log


 * Home
 * MeAndYou
 * Semesters
 * Spring 2017

Week Ending March 28, 2017
Everyone in our group this week dedicated their efforts to updating UML Diagrams, in particular, activity diagrams of the following: registering new users, editing account information, viewing search results or past matches, creating new searches, and login help (resetting lost passwords).
 * Tasks:

I generated the activity diagram for creating new searches and reviewed the submissions provided by the rest of the front-end team. All in all, the entries were solid, although one of them requires revision. As the site map solidifies and we know exactly what pages need to be created, these can be finalized if any changes are made with respect to the functionality of each site.
 * Results:

Time was also dedicated to reviewing the current state of the website aesthetic. The most common feedback is that the color scheme could be improved and that the graphics should be updated, however, no concrete suggestions have been made that can be agreed upon.

Moving forward, the plan will be to prepare ourselves accordingly for our tasks. Within our group, Yashna was designated the graphic designer and was tasked with preparing herself to do so by acquiring and successfully installing a graphic editor to update the imaging on the website.
 * Plan:

Independent study of HTML/CSS/PHP is expected of our group members so that they can update the GUI that is already in place. There is some Javascript incorporated, but it appears to be minimal and does not require much in the way of changes.

As detailed below, configuring XAMPP will be important to allowing us to make changes before updating the remote server files.

Generally speaking, developing a plan of attack has been difficult. There is no obvious starting point to work from and although I am working towards to clarifying what we need to achieve, it is not obvious to me at this time.
 * Concerns:

Maintaining motivation amongst team members will be a challenge throughout this semester. Instilling accountability will prove difficult in a power structure where there is no true lead. As the architect that responsibility falls onto me--to an extent--as I am meant to facilitate discussion and keep the group on course. However, as I am only in a position to request and never demand, this will prove difficult.

Limited familiarity with the coding aspect of web development will also be a challenge as our group has little-to-no exposure with HTML, CSS, PHP, or Javascript.

Finally, we are utilizing XAMPP to run the Apache server hosting our site as well as the MySQL database. As we have opted to work locally before uploading our work to the remote server, there is an obvious need to configure XAMPP on our local machines. This has been problematic as I have failed to get the configuration right so that users can be added to the database.

Week Ending April 4, 2017
More varied tasks were distributed amongst our team members this week.
 * Task:

Yasha was tasked with updating the clip art/logos used to represent the different relationship search types on the website.

Ryan dedicated himself to improving the flow of the registration page and developing security questions for the forgot password page. These questions were added to the registration page.

Josh dedicated himself to developing a forgotten password page as well as updating the login page with a button to initiate a password reset in the event a user has forgotten their password.

Zach worked on starting on a shell for the notifications site and brainstorming on the PHP needed to dynamically update the number of notifications a user has; this is currently hardcoded.

I was tasked with making corrections to issues noted in the graduate student meeting.

Unfortunately, I was unsuccessful in my attempts to get the SQL database up and running. I struggled for multiple hours with getting XAMPP correctly configured and I only made it as far as being able to run the MeAndYou sites that did not require registered user sign in. I did up the HTML file so that the account page linked to the accountedit page, allowing users to update their information. (But as I was unable to log into MeAndYou due to my persisting XAMPP troubles, I could not verify if the changes I made were functional.)
 * Results:

During the graduate student meeting, the database team noted that the data validation was incorrectly configured for zip codes. The PHP regular expression responsible for handling data validation for zip codes was corrected so that it would accept zip codes in XXXXX and XXXXX-XXXX formats. Also, it was noted during this meeting that leading zeros were being dropped from zip codes when called from the database. This was thought to be a front-end issue. After some research, it was determined that issue lied with the fact that the zip codes were being saved as integers in the database; leading zeros are automatically dropped when passed as integers from the database.

Yashna found and repurposed some clip art online that worked nicely as logos/buttons for the relationship search types.

Ryan cleaned up the flow of the registration pages as requested and came up with three security questions. Although the questions he came up with were viable, two of them made assumptions of our user base and because of this, they will need to be replaced.

Josh created the forgot password page and updated the login page to include a forgot password button.

And lastly, Zachary, continues to work on building up the shell for notifications and figuring out ways to dynamically update the notification count.

During this week’s class on 5 April 2017, we continued to work towards further refining the pages we had been working on thus far.
 * Plan:

Ryan will further clean up the registration page form by correcting the tabbing so that the left-hand column is traversed before the right-hand column. He will also work on auto-formatting telephone numbers so that they are represented in the classical (XXX)YYY-ZZZZ format. Lastly, text boxes will be created for ‘nicknames’ and ‘middle names.’

Yashna had the clipart she repurposed approved under the condition she find the appropriate citation/permissions. She will work on this and work on seeing if she can update the logo in the same aesthetic style used for the clip art.

Josh will independently work on generating sample text for the manage searches tab on the dashboard as well as the text for when matches are made.

Zach will be continue working on the notifications and how they’re displayed. Josh and I will support Zach in doing this and also creating a layout for archived notifications and writing pseudocode for updating notifications.

I will be working on fixing the HTML/CSS issues that are preventing us from linking the MeAndYou logo to the index or home page. In addition to that, I will work on reformatting the account page so that its layout mirrors that of the account edit page and is more than a simple table generated from a database view.

Collectively, we will investigate how to make our page mobile responsive and share what we have discovered at our next in-class meeting. Finally, as the GRC and URC posters are due next week, time will be spent by all group members on completing our respective posters.

XAMPP continues to plague my ability to confirm whether or not the changes I have made to the account and accountedit sites are functional. Even when I do get XAMPP running and I can query the database, as the database model hasn’t been finalized, we will only be able to confirm the ability to pull and push data from the outdated database model. Ideally, it will be finalized by next class so that we can begin making sure the front-end interacts appropriately with the database. After speaking with Bill from the software team, he did not feel that it would be complicated to pass along the relevant notification data once a search has been generated, so getting the front-end and back-end to interact will hopefully not be an issue once the search engine has been written.
 * Concerns:

Week Ending April 11, 2017
Everyone in the group was to contribute to their respective research conference poster. They were also asked to look into mobile responsive web design as this had been mentioned by Professor Jonas as something that we should consider when making our site given the ubiquity of users who use their cell phones to access the internet.
 * Task:

Ryan was tasked with performing further clean-up of the registration page form. Yashna was asked to touch up and improve on the main MeAndYou logo to match the aesthetic of the clip art she contributed for the site design.

Josh volunteered to generate sample text for the manage searches tab on the dashboard as well as the text for when matches are made.

Zack was asked to work on building up a skeleton for the notifications and writing some pseudocode for the update portion of the notification system.

Patrick and I combined to create the GRC poster. I designed the initial layout and provided the text for the different sections of the poster (i.e., introduction, materials and methods, results, conclusions). Patrick cleaned up the aesthetic of the design and provided graphics as well as sample code for the project. Yashna, Ryan and Zack teamed up to produce the URC poster.
 * Results:

I worked on cleaning up some of the CSS and HTML so that the MeAndYou logo would actually bring you back to the index or home page when clicked on, as this is a common functional element on almost all websites. The fix was easy, but identifying it was not. (The CSS layering basically was hiding the image hyperlink and it took a while to figure that out.) Josh contributed to this as well, working on ways to fix the header position and other subtle changes. I did also get the opportunity to verify that the account and account edit pages I made were functional. However, there is the stylistic and functional concern that having two sites effectively mirror one another—one displaying information and the other allowing for modifications—may not be the best way to handle this. Further consideration will be given to this design choice.

Josh dedicated himself to creating mock-ups for the manage searches and view matches page. This turned out nicely and should allow for users to navigate their searches and matches. He also worked on front-end documentation on the Wiki, updating several images such as the activity diagrams and screen shots of where the site is now.

Yashna, reported some uncertainty with making changes to the MeAndYou logo, so in place of working on this I had asked her to dedicate to working on the URC poster for the Front-End Group. She was also to send me the links for the clipart she procured; I am currently waiting on these and will need to follow up.

Ryan worked on finalizing the requested changes on the registration page (e.g., adding middle name and nicknames on the registration form, auto-formatting phone numbers so that they are displayed in the (###) ### – ####), and adjusting the tabbing on the website. Middle names and nicknames were added to the forms. Finding a way to auto-format the phone number in the form and then have the database correctly store and retrieve it proved difficult. I found a workaround for Ryan by simply modifying the fetched phone number with preg_replace so that the number is displayed as (###) ###-####. Tabbing correction still needs work; fortunately, this is a minor inconvenience and does not impact functionality.

Zack continued to look into the notifications system. I failed in my support role to him by not communicating with him what we were looking for my clearly and not following up to make sure that he had what he needed to get this done. To further complicate matters, discussions began regarding the need for an in-site notification system as we ultimately will be replicating the email subsystem. The notification system remains in limbo and further time will need to be dedicated to deciding if it will be integrated or scrapped altogether for only email-based notifications. Ultimately, the functional requirement in question here is

Investigating mobile responsive webpage design was a group task that we collectively forgot about. There is nothing to report on this front.

As the majority of the front-end work has been completed on our local machines, the plan will be to upload all of our contributions to the server so that changes being made are now reflected on the server. The database model is now complete, so our efforts will now be more dedicated to the interactions between the GUI and the updated database to ensure that site functions as expected.
 * Plan:

As the primary objective for the Database team has been accomplished and members of the database team have volunteered themselves to help out with the front-end, I do have concerns of the current developer team structure falling apart. My concern is that people’s enthusiasm to contribute will lead to confusion and potential conflict as boundaries within our roles need to be respected. These concerns were voiced during the graduate student meeting and those who attended voiced understanding that individuals crossing over should be supporting the work we are doing and not bogarting it or taking on directive roles. This will be monitored.
 * Concerns:

From QA and site functionality perspective, I accidentally discovered that the password verification system in place does not actually work on the morning of April 12th. Discovering a broken element of the site that was presumed functioning is a challenge, as we now have to dedicate time to rectifying this as well. �

Week Ending April 18, 2017
Identifying tasks to distribute amongst the team was difficult as we had been hoping to collaborate with our communications liaison and de facto technical support technician to upload all of our changes onto the server. Much time in class was dedicated to further project infrastructure work, namely downloading SVN clients and making sure that we could upload our contributions that way. Time will need to be spent updating the server and figuring out how we can test the new MeAndYou site. Much time was also spent on trying to figure out how to fix the password verification system by all group members.
 * Task:

Ryan offered himself up to work on trying to find a solution for the broken password verification system.

Josh agreed to dedicate himself to working on improving the mobile responsiveness of the MeAndYou site.

Zack was asked to look into random number generators as part of the pseudocode writing process for the notification system. However, as we continued to deliberate on whether or not we would pursue the on-site notification system in addition to the email notification system, he was asked to dedicate some time looking for possible solutions to the broken password system.

Yashna was asked to work alongside Zack in support of Ryan on the password verification issues. Yashna and Zack were also asked to make a few mockups of the site incorporating the newly acquired clip art and the updated MeAndYou logo made by Andry.

My goal was to overhaul documentation and begin going through the entire sitemap and identifying what remained to be fixed.

Lots of progress was made! On April 15th, the front-end architect and QA manager met with the database architect and communications liaison, and worked on bringing several web pages to near-complete states and incorporating the new database model. Patrick was exceptionally helpful in bringing many of the following changes to fruition. 1.	The registration page is essentially complete and behaves as expected. 2.	The account and accountedit pages were updated to include all of the relevant information from the registration form and can successfully make changes within the database. The HTML and PHP were also cleaned up so that each language was implemented in a more appropriate fashion instead of feeling like they were working around one another. 3.	The password verification on the login page now works using hashed passwords. 4.	The forgot password page is now functional. 5.	The manage searches and view matches pages have been improved and now pull data from the database. 6.	Statistics on the index page are now up and running.
 * Results:

A large volume of clip art has been generated and provided between Yashna, Andry, and Patrick. The newest edition of MeAndYou now incorporates the updated MeAndYou logo and some of the new artwork. Functionally speaking, a lot of progress has been made. And now that we have art work to pick and choose from, deciding on a final aesthetic for the site will need to happen so that all resources can be dedicated to making sure the site meets all of its requirements for the prototype.

Moving forward, documentation will start to increase in its importance across the entirety of our group. I have asked the undergraduates to help identify areas that could use improvement in our documentation so that we can review that in our class meeting on April 19th. UML diagram updates will definitely be needed as we are at a more stable point in the site map design, allowing us to make sure that all important scenarios are appropriately represented. At this point, I believe that transitioning the search and notification interactions from being hard-coded to dynamic as well as further integrating the GUI and database will be most important. Part of this will include finding ways to ensure the crush searches we generate are only lasting for the appropriate length of time. Transitioning into P3 will hopefully signal the ‘completion’ of the webpages for this version of MeAndYou and begin a more focused testing phase.
 * Plan:

Poster presentations will be taking place on April 19th. Hopefully one of our team members will be able to present our work.

In our last meeting, I had expressed some concerns about the group dynamic when incorporating members of other teams. I cannot dispute that a significant amount of progress was made in the P2 phase of this project thanks to the contributions of the database team, but the enthusiasm has created some challenges. For instance, as some site issues were fixed in our group work session prior to some team members being able to work on correcting these issues, new tasks had to be identified and recommended. At this point I am certain that we are much further along in putting together a working project, but with the overlap in people’s contributions, keeping a clear direction on items to work on has been made a little harder.
 * Concerns:

Week Ending April 25, 2017
All members of the GUI team are to work on completing the documentation for individual pages. For each page, each member will verify the accuracy of the UML Diagrams, provide descriptions of each page and its functionality, and upload screenshots of the page(s) they have been assigned. Below are the pages each individual will be working on:
 * Tasks:

Registration - Ryan Forgot Password - Josh Login + Home (Index) Page with Carousel - Zack Account + Account Edit Pages - Will Dashboard (New Search, View Matches, Manage Searches) - Yashna

I was able to create page descriptions, UML diagrams, and provide screenshots of the updated Account and Account Edit pages. As I reviewed my notes, I noticed that I need to update my GANTT chart for this semester so that a broader overview/timeline of the work we have done this semester can be represented. The Forgot Password page documentation was also updated as requested. At this point in time, I am have not verified the status of the undergraduates’ work, but have been told by Zack that his portion is complete and received an email from Yashna stating that she was able to work somewhat on diagrams for the site; I am not sure if she completed any further work towards the documentation for the Dashboard. Ryan messed me via slack and email stating that he would be working on the Registration page prior to class tonight.
 * Results:

Our plan this week will be contingent on the progress made during our 26 April 2017 in-class meeting. As of right now, the plan in place for the front-end team is improve the documentation on the Wiki as best we can and dedicate the second week of our P3 work towards testing the front end. If during our test run tonight we find glaring issues, then those will be addressed first.
 * Plan:

I feel that our group structure has sort of strayed from the roles we were hoping to make sure everyone followed. At this point it feels closer to a team of 15 engineers just attacking whatever tasks they discover are not done. Part of this is unavoidable I feel as many of us have competing schedules, varying backgrounds, and different amounts of time we can invest in this project. However, for future iterations of this course, it may be good to find a way to evaluate how we are producing within our specific roles and have that reflected in our grades. For instance: if our communications liaison is a fantastic software developer and contributes heavily to the generation of an excellent search engine, but if they fail to facilitate communication in a way that others finds helpful, then both portions of their contribution should be taken into context. Yes, the software engine is in a great place, but if the groups feel the communication is fractured, then the communications facilitation role is being neglected. Just a thought.
 * Concerns:

Week Ending May 2, 2017
This week every team member was to login, change their password, and start a search for other team members, search pairs are as follows: Will + Josh Zack + Ryan Yashna + Will
 * Task:

All users were to review the GUI testing practices and then report/document any bugs or issues experienced during site testing.

Everyone in the group was to review the Wiki documentation so that they could recommend or make changes.

Yasha had not completed her previous task of updating the GUI documentation on the Dashboard/Searching functionality of the site. Class time was dedicated to reviewing the expectations of the documentation and how to document in the Wiki.

I can confirm that Joshua and I are currently searching for one another on server and that I have an active search out for Yashna. No confirmation from team members has been received from team members on whether or not these searches have been initiated.
 * Results:

Joshua identified and fixed a number of bugs (which can be seen under the GUI Bugs section of the front-end documentation. Andry also identified a rendering issue that Josh was able to resolve. In my review of the coding for the .php files I noticed that so much of the coding was repetitive. I researched how to rectify this and will be implementing it in class today. (I have done this successfully on my local machine. However, as our communications liaison elected against using SVN for keeping track of incremental changes and is constantly working on the front end, I will make these changes in class to avoid segmenting the code and our efforts).

I was able to update the GUI documentation layout so that it was more representative of our work and easier to navigate.

As of 11:57 on May 3rd, the requested documentation for the Dashboard/Searches has not been completed. Also, at this time there are no undergraduate contributions to the testing/GUI bugs section of the Wiki.

~Update: I was contacted by Ryan around 14:30 who did work on some testing and will be updating the Wiki.

Ideally, we will be able to have all three groups coordinate today to put together a demonstration of the prototype to Professor Jonas as we were unable to last time. If software needs assistant and we can provide it some way, we will do that so that we can hopefully have a functioning prototype by the day's end.
 * Plan:

My primary concern at this moment is the uneven investment from some team members.
 * Concerns:

Week Ending May 9, 2017
Collectively, it was our task to continue testing the system and clean up any remaining documentation that has not been uploaded to the Wiki.
 * Task:

In addition to the above, I worked on cleaning up the HTML/CSS/PHP for generating the header,navbar, and footer on the site so that it renders correctly based on whether or not the user is logged in.

I succeeded in getting the above HTML/CSS/PHP to work on my local machine, but in heartbreaking fashion, when I went to move the files I updated into another file, they corrupted or something else went wrong as the files would only point to aliased files the computer said did not exist. This was incredibly frustrating. To compound my frustration, when I went to start this process all over with the most up-to-date version of MeAndYou, XAMPP would not work on my local machine--leaving me to attempt making changes blindly on my local machine. (We had agreed to stay off of the server during the bulk of my free time on the weekend so that software could really work on cleaning up some things so we have a working prototype today.) So to at least help out the students who will be working on this over the summer, I have generated the HTML files and included annotation describing how to use echo file_get_contents to cut down on redundant code.
 * Results:

Josh continued to spearhead QA issues and testing of the system.

At this point, the plan will be to see how prototype demonstration goes during class on the 10th and then have a post mortem to discuss future improvements as a collective.
 * Plan:


 * Concerns:

Josh and I had concerns about not using SVN and instead creating MeAndYou iterations that relied on a single user to incorporate updates. This has obviously caused issues as some contributed changes, although minor, were not integrated as things got lost in the shuffle over the Slack. Then there is my personal scenario where if I had been using SVN, the local-remote integration issues would have been minimized and our system would likely be more streamlined and represent the actual work I did this week.