Project report ‘Halls of fame’ website URL cs13jt.leedsnewmedia.net/COMM2735/workshop7/index.php I created the site Halls of fame as I remembered the very strenuous process of attempting to find an accommodation that would best suit my financial, aesthetic and geographical needs. The Leeds University website does contain all of the relevant information on prices, location and details. However, it doesn’t list all of the features of each accommodation immediately. Thus, my website intends on simplifying the decision of which accommodation to pick using realistic student driven content to provide an unbiased report. Project report Alexander states that Web 2.0 in comparison to Web 1.0 ‘sees users as playing more of a foundational role in information architecture.’ (Alexander, B. 2006) As user generated content is vastly occupying the media from citizen journalism, to information and comments boards on websites, it is imperative that any new and innovative website draws upon this concept of web 2.0 as a knowledge economy where users can actively digest, consume and produce content and upload it to a webpage. The popularity of websites such as Facebook, Youtube and Wikipedia rely solely on a user’s ability to contribute information, upload content or participate in a conversation with another user. In order to succeed in creating a popular website in this contemporary era, one must appropriately apply the ideologies of Djick who identifies how ‘notions of ‘participatory culture’ tend to accentuate the emancipation of the engaged citizen’. (Djick, V. J. 2009) Such a metaphor defining the liberation a user feels when actively participating in a website outlines the importance of implementing the possibility of user generated content onto my website. To ensure this process of ‘emancipation’ for the user, I created a comments board on my website, as Alexander and Djick both evidence in their independent research, the user is central to the success of a website. To attempt to create and maintain a user economy, I implemented a registration form and log in page onto my website which only allows users to read, contribute to and rate other users’ comments on the page once they have verified that they are human and have created a username and password. By introducing a comment rating system my website becomes increasingly interactive as users not only have the ability to simply comment, but they can like one another’s comments as well, introducing a sense of community into the website whilst also encouraging users to contribute relevant content to the comments board. In order to register to the webpage, one must complete a ‘ReCAPTCHA’ form which consists of an extensively broad combination of letters or numbers which changes randomly each time the registration page is loaded. This process discovers whether or not a user is human by asking them to verify the particular numerical or alphabetical combination. This greatly reduces the chance of a bot attempting to gain access to and inscribe some potentially malicious viral code into my website which could cause a user’s private information to be openly distributed and shared throughout the web. Technical report In terms of the technicality of my website, there are various elements that are absolutely fundamental to its functionality. The php code ‘include_once’ and ‘require_once’ are evident features on every page in my website. By utilising the include and require_once php tags my website is capable of determining which particular webpage to open as a result of the user completing all of the relevant fields in order to see a certain webpage. For example, the “checklog.php” page utilises an ‘if’ statement to check whether or not a user has logged in and then automatically determines which website to redirect that user to. If the user has completed the registration and log in process they are then verified as ‘logged’ by a $_SESSION variable which states that the user has logged in and is now allowed to see the content written in the “header_logged.php” file. If the user has not correctly completed the log in process they are redirected back to the login.php page and instructed to complete it again. By utilising two files, one called “header.php” and another called “header_logged.php” the webpage is capable of distinguishing which relevant information to present to the user depending on whether they are defined as a member of the website or not. The “functions.php” file ensures the safety of the content uploaded to the webpage utilising the clean string feature utilising the function of ‘clean_string’ which effectively prevents any malicious characters from introducing any potentially negative content onto the webpage. By including the ‘functions.php’ file in the opening lines of code of each php page, the potential for uploading dangerous content which threatens user security is largely reduced. Another element which attempts to increase the website’s security is the ‘salt’ function. The ‘salt’ function is included to encrypt passwords by applying a random set of letters to them and increasing the difficulty of hackers or bots decrypting a user’s username and password and potentially proceeding to discover more personal information about that user, such as email or bank account passwords. The “db_connect.php” file includes all of the information needed to connect to the phpMyAdmin database I have created, without this the user would be unable to complete any of the dynamic functions available to them, as the database must have an established connection to the webpage in order for the database to save usernames, passwords, comments and comment ratings. This segment of code is mandatory to the aforementioned dynamic aspects of the webpage as without a database connection the webpage will not load. The utilisation of an ‘if’ statement in php later determines whether this connection has been successful or not through a small line of code called ‘mysqli_select_db’ directing the website to connect to the database through the $db_server and $db_database variables which consequently provide the independent name and hostname of my database and my username and password concluding in an established connection. If any of these details are however incorrect, the ‘if’ statement utilises the term ‘else’ to define the error and as a result uses a ‘die’ statement to echo out the text "unable to connect to MySQL:”. If the die statement isn’t visible and the website has directed the user to the correct page the connection has been established and as an admin you can change, add and delete different structural elements of the database, such as comments, usernames, passwords and the relevant information concerning the different University halls that my database has a list of. In terms of understanding the ‘like’ a comment feature, I added a ‘sentiment’ row into my ‘comments’ table in my phpMyAdmin database. This ensures that the webpage recognises how many users have liked a comment and manages the rating of a comment through the $str_comments variable which uses an anchor <a href> tag which directs the homepage to another page called ‘like.php’ which has the relevant code which identifies whether a comment has been liked or not. The ‘like.php’ file then defines the $query variable as that which will update the comments table setting the sentiment row to +1 to evidence the fact that a comment has in fact been liked and store this data on the database. The header statement then directs the page immediately back to the homepage so that the user does not see a ‘like.php’ file page and the else statement above in the ‘homepage.php’ file determines that the comment has been “liked” through the $str_comments variable. Bibliography Alexander, Bryan. (2006). Web 2.0: A new wave of innovation for teaching and learning? [Accessed on the 12/01/2015] http://www.educause.edu/ero/article/web20-new-wave-innovation-teaching-and-learning Djick, V. José. (2009). Media culture & society: Users like you? Theorizing agency in user-generated content. [Accessed on the 12/01/2015] http://jclass.umd.edu/classes/jour698m/vandijk.pdf