Project Instructions
project%20instructions
User Manual:
Open the PDF directly: View PDF .
Page Count: 28
Download | |
Open PDF In Browser | View PDF |
INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Groups This is a group project. Each group is to consist of 3 to 5 students. Students may form their own groups and one member of the group is to email a list of the names and student numbers of the group to the course instructor by 5:00 PM Friday, January 25th 2019. Any students who are not part of a group by 5:00 PM January 25th 2019 will be assigned to groups at the course instructor’s discretion. No changes in group membership will be permitted once the groups are set up. The intent is that each student in a group will receive the same mark for each part of the project. However, each student’s participation in the project will be taken into account based on the participation form that is to be submitted in paper form for each project part submission. Students who do not participate in a part of the project will receive a mark of zero (0) for that part of the project. A copy of the form is at the end of this document. Due Dates This project consists of 3 parts with the following due dates. Each part must be submitted to the correct FOL drop box by its specified due date and time. No late submissions or re-submissions will be accepted. Part 1 due by 11:59 PM on Sunday, February 17th 2019 in the FOL drop box Part 2 due by 11:59 PM on Sunday, March 17th 2019 in the FOL drop box Part 3 due by 11:59 PM on Friday, April 12th 2019 in the FOL drop box NOTE: Make sure that a submission is placed in the correct drop box. Submissions placed in the wrong drop box (whether that drop box is within this course’s FOL site or another course’s site) will not be accepted. NOTE: Make sure that the correct file is uploaded. Students can download the files they upload and check that they are correct. Page 1 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Grading Information • Any submission that produces fatal errors of any kind in any part of the submitted code will receive an automatic grade of 0. A fatal error is one that causes an application, or any part of an application to terminate abnormally. Since this project has 3 submissions, the penalty for fatal errors will only apply to the submission or submissions in which fatal errors occur, not the whole project (unless all 3 submissions contain fatal errors). • Any submission that produces warning or notice messages that are not fatal errors will be subject to penalties based on the impact of the defect that caused the message. The penalties will be applied to the marks for the portion of the application affected by each warning or notice message and may be partial or total loss of marks for that portion of the application. • This project must be implemented using PHP, JavaScript, CSS and HTML only. No other programming or scripting language is permitted. The use of any other programming or scripting language will result in an automatic deduction of 50% of the marks available for the part of the project in which such languages are used. • Part1 sections D and E, Part 2 and Part 3 of this project require the use of AJAX after the initial page load. Failure to use AJAX as instructed in these Parts or sections will result in a deduction of 50% of the marks available for those Parts or sections. This includes the use of any library other than jQuery to perform the AJAX operations or using a server to client data format other than specified. • All source files must contain a start of file comment identifying the file, its purpose and the author(s) of the file. An overall deduction of 10% of the total available marks for the part of this project where this comment is found to be missing will be deducted if any source file does not contain this comment. Page 2 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site • Students are required to use the mysqli PHP database access library for all database operations. Use of any other database access library (including the built-in PDO library) is not permitted. An automatic deduction of 50% of the total marks available for the part of this project in which a non-mysqli database library is used will be assessed for its use. • Follow the project instructions carefully, failure to follow the instructions for this project will result in the loss of marks, whether the submitted code appears to do what is expected or not. • Submitted projects will be marked using data files that contain path information using the file format described below. Each group’s implementation of the project MUST use the provided file format. Failure to adhere to this file format will result in a deduction of 50% of the available marks for any part of this project that uses a different file format. • The project will be marked using the provided Ubuntu 18.04 Desktop virtual machine. No other development environment will be considered during marking. Make your group’s project works correctly on the provided Ubuntu 18.04 Desktop VM. • Plagiarism of any sort will not be tolerated. Academic offenses will be issued for any identified cases of plagiarism. Page 3 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Introduction In this project, you will build a web application to help a telecommunications engineering company to design microwave communication systems. The application you will create is a prototype/proof of concept for a much larger and more complex system to be built in the future. The 3 parts of this project will implement the following functionality: 1) )Part 1 A. Define the needed database. B. Upload microwave path data in a CSV format text file to the web server C. Import the uploaded microwave path data into a MySQL database D. Display the data for selected microwave paths E. Reset the data stored in the database for a given microwave path to the originally uploaded data for that path. 2) Part 2 A. Edit the data for a selected microwave path. 3) Part 3 A. Perform the necessary calculations to determine the usability of a microwave path i. Path Attenuation ii. Apparent terrain/obstruction heights based on the curvature of the earth iii. First Freznel Zone B. Display the results of the path calculations in a tabular format, and where appropriate in a graphical format. Information on microwave paths can be found in the background information section of this document. Detailed instructions for each part of the project are given below in the sections for each part of the project. Note that the background information section is very simplified, it is intended to give students the basic concepts needed to do this project, those wishing to learn more about the topic should see reference [1] and many other publications on the topic. Page 4 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Some of the instructions for this project are very explicit, telling you what to do and how to do it. Other instructions only tell you what to do, allowing you to choose how to do them. Be careful that you do what is asked for. Page 5 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Background Information Microwave radio systems are widely used throughout the world for many applications including WiFi, cell phones, point-to-point communications (voice, data, video, etc.) and satellite communications. In this project, the focus is on point-to-point communications operating at frequencies greater than 1GigaHertz (GHz). A radio signal’s path (microwave or otherwise) can be thought of as the route taken by the radio signal between the antenna at a transmitting site and the antenna at the corresponding receiving site. The existence of a path between a transmitting site and receiving site depends upon many factors such as atmospheric conditions (climate and electromagnetic), the distance between the transmitting and receiving sites, the frequency of the radio signal, the height and type of terrain (mountains, plains, deserts, fresh water salt water, etc.) between the transmitting and receiving sites and the height and types of obstructions (trees, bushes, building, overhead cables, etc.) on top of the terrain. Radio signals in the microwave range (frequencies above 1GHz) are generally considered to have the following key characteristics when used for point-to-point communication: • Travel in straight lines with some spreading of the signal. This spreading can be visualized as 2 long thin cones with the apex of each cone at the antennae and the bases at the midpoint of the path. • Are not reflected by the upper layers of the earth’s atmosphere • Are not usually reflected by the earth’s surface except when the terrain is water at certain points along the path. These points are known as reflection points and are calculable from the path data. • Are blocked or scattered by any physical barrier between the transmitting and receiving antennae. The curvature of the earth has a significant impact on this characteristic • The strength of the signal becomes weaker the further it travels from the transmitting antenna. This is known as path attenuation or path loss • Must have a minimum of 1 First Freznel Zone clearance above the ground (and any obstructions) along the entire length of the path. Page 6 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site For the purpose of this project, it is only necessary to consider the frequency used by the radio equipment, the length of the path, ground, antenna and obstruction heights and the earth’s curvature. All radio systems operate at some frequency, most microwave radio systems operate at frequencies between 1.0 GHz and 100.0 GHz. As the operating frequency increases, the signal can carry more information but has a shorter range due to path attenuation and increased climatological effects. Since microwave signals are easily blocked by anything in between the transmitting and receiving antennae, it is necessary to ensure that the ground or obstructions on the ground (such as buildings or trees) do not lie directly between the antennae. When ground elevations (heights) are measured, the measurement is usually made relative sea level and does not take into account the curvature of the earth. The earth’s curvature must be considered when determining whether a proposed microwave path can be used or not. In addition, the signal’s path needs to have a certain amount of space between it and the ground and any obstructions, the minimum amount of separation required is based upon the operating frequency of the signal and the distance from the end points of the path and is known as the First Freznel Zone. Some of the data that needs to be gathered in order to determine whether a proposed path can be used or not are: 1) 2) 3) 4) 5) 6) 7) The operating frequency for the path. The height of the ground at the transmitting site The height of the transmitting antenna above the ground at the transmitting site The height of the ground at the receiving site The height of the receiving antenna above the ground at the receiving site The distance between the transmitting and receiving sites At int locations (known as mid points) along a straight line between the transmitting and receiving sites. The following information is needed at each midpoint: a. The height of the ground (water is considered equivalent to ground when gathering path data) b. The type of terrain c. The height of any obstruction d. The type of any obstruction e. The distance from the ‘starting’ end point of the path. Page 7 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Mid points do not have to be equally spaced along a path, although they often are. NOTE: The formulae given below are intended for use with metric distances (kilometres) and heights (metres) and are the once needed for this project. See reference [1] for formulae that use miles and feet. Path Attenuation (Path Loss) is calculated using the formula: 𝑃𝑃𝑃𝑃 = 92.4 + 20𝑙𝑙𝑙𝑙𝑙𝑙10 (𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹) + 20𝑙𝑙𝑙𝑙𝑙𝑙10 (𝑃𝑃𝑃𝑃𝑃𝑃ℎ𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿ℎ𝐼𝐼𝐼𝐼. 𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾𝐾) NOTE: 𝑙𝑙𝑙𝑙𝑙𝑙10 indicates base 10 logarithms. Be careful when choosing the proper PHP function to compute this value. PHP has several logarithm functions with various bases. In all of the following formulae the following symbol meanings are used: 𝑑𝑑1 is the distance, in kilometres, from the start of the path to the current mid point 𝐷𝐷is the total length of the path in kilometres. 𝑑𝑑2 = 𝐷𝐷 − 𝑑𝑑1 is the distance from the current mid point to the end of the path 𝐹𝐹1 is the First Freznel Zone in metres, has a value of 0 at the path end points, but needs to be calculated for all mid points. 𝐹𝐹𝐺𝐺𝐺𝐺𝐺𝐺 is the operating frequency in Gigahertz ℎos the ground height adjustment for the earth’s curvature in metres. It has a value of 0 at the path’s end points but must be calculated for all mid points. The First Freznel Zone is calculated using the following formula at each path mid point: 𝑑𝑑1 𝑑𝑑2 𝐹𝐹1 = 1.73� 𝐹𝐹𝐺𝐺𝐺𝐺𝐺𝐺 𝐷𝐷 There are 4 different formulae used for calculating the effect of the earth’s curvature on a microwave path. One is based on the actual curvature of the earth’s surface, (4/3), another is based on a flat earth (infinity) while the other 2 are based on theoretical curvatures (1 and 2/3). In most cases, the 4/3 formula is used. The other 3 are used Page 8 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site when a path’s environment involves special terrain or climate conditions. This project must include the ability to compute all 4 formula based on a user’s choice. For a curvature of 4/3 the formula is: For a curvature of 1 the formula is: ℎ= For a curvature of 2/3 the formula is: ℎ= ℎ= For a curvature of infinity, the formula is: 𝑑𝑑1 𝑑𝑑2 17 𝑑𝑑1 𝑑𝑑2 12.75 𝑑𝑑1 𝑑𝑑2 8.5 ℎ= 0 The apparent ground plus obstruction height at a mid point is 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴ℎ𝑡𝑡 = 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺ℎ𝑡𝑡 + 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂ℎ𝑡𝑡 + ℎ The total apparent height(apparent ground height plus the First Frezenel Zone) at a given midpoint is 𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇ℎ𝑡𝑡 = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟ℎ𝑡𝑡 + 𝐹𝐹1 The image below shows a sample set of mid point data and the calculated results for a earth curvature of 4/3. The last 4 columns of the table in the image show the calculated results. Page 9 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site The following image shows the path loss for the same path and a graphical depiction of the calculated results shown in the image above. The table in the image below shows the calculated results for a path with the same ground and elevation heights, but with a longer path distance. Note that the appearent heights are higher that for the path above. Page 10 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site The graph below shows that this longer path does not have sufficient clearance to be viable in practice (the line representing the straight line between the antennae intersects the total height). Increasing the antenna height at the beginning of the path by a few metres would make the path useable. Also not that the path attenuation has increased due to the longer path length. Page 11 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Data File Format The data describing microwave paths is provided in CSV format files. An example file format is shown below. The first line of the file provides path-wide information, The second and 3rd lines contain information about the path end points (i.e. the transmitting and receiving sites). The fourth and all subsequent lines describe mid points along the path. Detailed description of the contains of each line follow the example file. NOTE: the CSV format uses the comma (,) character to separate data items on a line, when a comma appears within a data item, that item must be enclosed in quotes in the file. The enclosing quotes are not part of the data and must not be put into the database. Pah 01,13.0,Demonstration path,"A note about path 1, the first demo path" 0,50,40 1.5,75,20 0.1,50,Grassland,10,Trees 0.2,45,Grassland,1,Brush 0.3,48,Rough rock,0,None 0.4,52,Rough rock,0,None 0.5,60,Smooth rock,0,None 0.6,61,Grassland,20,Trees 0.7,60,Lake,0,None 0.8,60,Lake,0,None 0.9,60,Lake,0,None 1,61,Rough rock,5,Building 1.1,70,Bare soil,2,Trees 1.2,53,Grassland,10,Trees 1.3,66,Grassland,20,Trees 1.4,80,Grassland,3,Trees The first line of the file contains the following information Data Item Name Required Data type or Optional Path Name Required Text Path length Required Floating point number Description A unique name for this path. The maximum length of this item is 100 characters. The operating frequency for the path in Gigahertz (GHz). Allowed values are between 1.0 and 100.0 GHz Page 12 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Description Required Text Note Optional A short description of the path Maximum 255 characters in length Notes about this path. May contain special characters. Maximum length of 65534 characters Text The second and third lines contain information about the end points of the path. While both lines contain the same types of data, the second line represents the beginning of the path and the third line represents the end of the path. Data Item Distance from the start of the path Ground height Antenna height Required Data or Type Optional Required Floating point number Required Floating point number Required Floating point number Description The distance of this end point from the start of the path in kilometres. On the second line this should be 0. On the third line this will be the distance from the end point described on line 2. The height of the ground at an end point above (or below) some reference point in metres. The reference point is normally either sea level or average terrain in the area where the path is located. The most common reference is sea level since most geographic surveys use it as a reference. The height of the antenna located at this end point above the ground at this end point in metres. The fourth and all subsequent lines contain the following information: Data Item Required or Optional Required Distance from the start of the path Ground height Required Data Type Description Floating point number Floating point number The distance from the start of the path to this mid point along the path in kilometres The height of the ground at an mid point above (or below) some reference point in metres. The reference point is normally Page 13 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Terrain Type Required Text Obstruction height Required Floating point number Obstruction Type Required Text either sea level or average terrain in the area where the path is located. The most common reference is sea level since most geographic surveys use it as a reference. There may be water instead of earth/rock at a mid point, in which case, the height of the surface of the water is used instead. Maximum length 50 characters. The type of terrain found at a midpoint. The allowed values are: Grassland Rough Grassland Smooth rock Bare Rock Bare earth Paved Surface Lake Ocean The height above ground of any obstruction at a path mid point in metres. If there is no obstruction at a mid point, a value of 0 is placed in this field. Maximum length 50 characters. The type of obstruction located a path mid point. An obstruction is any object that is above ground level at a path mid point. A mid point does not necessarily have an obstruction. Allowed values for this data item are: None Trees Brush Buildings Webbed Towers Solid Towers Power Cables Page 14 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site General Hints A) Every group will probably have a different database design, which is perfectly OK. However, if your group decides that your original database design is not feasible in parts 2 or 3 of the project. You may change the database design to better suit parts 2 or 3, if necessary. If you do make changes to the database in part 2 or 3, go back and modify the file upload/import functionality and database creation script in part 1 to match the new database design. Failing to keep the upload/import functionality and database creation script up to date will prevent proper marking of part 2 and/or 3 since a new, clean database will be created and loaded with data when marking each part of the project. B) Use relative paths for accessing files and directories in your site. Do not assume that your application will be installed in any particular directory. Page 15 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Common specification Information The information in this section is given to remind you of what is expected when processing data in a web application to preserve the integrity of the data used by the application. Failure to use this information will cost you marks in the parts/sections of the project where related operations occur unless there are specific notes in a part/section telling you otherwise. When you are told to validate a data item from a web form, you must check for: 1) 2) 3) 4) The data item exists. The data item does not begin or end with spaces or tabs. If the data item is a required item, it must not be empty. The data item must not exceed its maximum length and/or must be within its specified range of values. When inserting or updating database records, ensure that the record is properly protected from malicious content. Page 16 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Submission Requirements Each part of this project is to be submitted to the appropriate FOL drop box by the deadline for that part of the project. Each submission is to contain your entire project to date (the submission for part 1 will contain part 1, the submission for part 2 will contain parts 1 and 2, and for part 3 all 3 parts must be submitted. Submit a single zip file containing all of the files and directories necessary to run your project (excluding PHPGraphLib if you use it in part 3). The zip file name must include the part of the project being submitted and the name or number of the group. You may submit as many times as you like, but only the LAST file submitted will be marked. Page 17 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Part 1 Requirements [ marked out of 160] A) [10 marks] Define a site structure for your project such that the files and directories for each part of the project are within separate directories within the overall site directory. The overall site directory is to contain only an index.php file that produces a menu allowing users to access the functionality of the project. There may also be directories for common CSS, JavaScript and Images in the site directory. CSS, JavaScript or Images that apply only to one part of the project must be stored in directories within that part’s directory. B) Define Database [this section contains 45 of the marks for this part of the project] Create a MySQL database for your project to use. This database needs to meet the following specifications. a. [1 mark] The projects database must not contain any tables other than those required for the project. b. [1 mark] The name of the database must reflect the purpose of the database. c. [1 mark] The database must use the UTF8 character set. d. [2 marks] Create a non-DBA database user account for your application to use to access the database. This user account must only have access to the database for this project and publicly available databases. e. [30 marks] In the project database create the tables necessary to store path file data. When creating the tables, pay attention to the types and sizes of the data described in the Data File Format section above, files adhering to this format will be used to test the application. The table schemas must include the definition of relationships between the tables. f. [10 marks] Create a MySQL script file that can be used to create or recreate your project’s database. This script file will be used to create an instance of your database for marking, MAKE SURE IT WORKS PROPERLY. This file must include the following, in the given order: i. Delete an existing instance of your database, if one exists ii. Create a new instance of your database. iii. Delete your database user, account if it exists iv. Create your database user account v. Assign all privileges on your project database to your database user account vi. Create your project’s database tables within your project’s database. Page 18 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site C) Upload path data file and import its contents into the database [this section contains 55 of the marks for this part of the project Write a PHP web program that will allow a user to select a CSV file contain the data about a single microwave path to upload to the web server and then import the contents of the file into the database. The program must meet the following specifications: a. [5 marks] The program must display a web form that allows the user to select a single CSV file containing path information and upload it to the server. The form must include a brief explanation about how to use the form. b. [6 marks] After submitting the form, the uploaded file’s existance in the temporary directory is to be confirmed and all of the metadata about the file is to be checked and/or validated. c. [4 marks] If there are any checks or validations that fail in b. above, the upload form is to be re-displayed with appropriate error messages. Processing must not proceed any further until a successful upload is achieved. d. [2 marks] Once a successful upload is achieved (no check or validation failures in b. above), the uploaded file is to be moved from its temporary location to a permanent location. During the move, the file is to be given a unique, but meaningful name. Keep track of the new name as you will need to use it to import the data into the database. The new name will also need to be associated with the path information stored in the database. e. [38 marks] Using the file in its permanent location, open the file and read it in one line at a time, populating the database as each line is read in. Validate each line’s fields to ensure that they contain valid data, based on the Data File Format section above. All database operations (open, insert, etc.) are to be checked for errors. If any validation or database error is detected, the entire path import is to be aborted with no records for the path being left in the database tables. HINT: Trying to process CSV file lines using standard file input techniques is error prone, PHP includes some special functions for reading data from CSV files that can assist you. Look at www.php.net. HINT: The PHP empty function won’t help with checking the validity of fields (especially numeric data), you will have to use other functions to help you check the correctness of the data from the CSV files. Page 19 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site HINT: Check out the use of MySQL transactions, they can help you meed the error handling requirement described in this section (mysqli has special functions for transaction processing). D) [20 marks] Display a path’s data using the database Using PHP create a web form that includes a method for selecting one path from all paths stored in the database. This method can either be a tabular list of available path names with a radio button beside each path name used to identify the path to display OR a select drop down of path names from which to select a path. Form submission MUST use AJAX to send the selected path to the server and to receive the path data to display. The path data must include ALL of the data items described in the Data File Format section above. You may use either HTML or JSON formats for the AJAX response from the server. Whichever response format is used, the rendered out must consist of 3 tables, one for the general path information, one for the end point information and one for the mid point information. The tables must include proper headings for the data. There must be a line of text identifying the contents of each table immediately above the table. E) [20 marks] Reset the database content for a path to the originally uploaded data Part 2 of this project allows a user to edit the path data stored in the database. It may be necessary to reset the data stored in the database back to the originally uploaded data. You are to use PHP to create a web form that will allow a user to select a path to reset. This path selection form has the same requirements as the one described in section D) above. The form is to be submitted using AJAX and all responses to the submitted form must use AJAX containing either HTML or JSON formatted information indicating the success or failure of the reset operation. The reset operation is to perform the following operations in a feasible order (the order is up to you): i. open the CSV file for the path in the permanent file storage directory ii. delete the path end point and mid point data for the path from the database iii. update the general path information (frequency, description and note) in the database to match the contents of the CSV file. You must validate the data from the file and check for database errors iv. re-insert the end point and mid point data into the database. You must validate the data from the file and check for database errors. Page 20 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site If there are any database or validation errors, the contents of the database is to be returned to the state it was in before the reset operation began. F) [10 marks] Add CSS of your choice to your code to improve this part of the project’s look and feel. Part 2 Requirements [This part is makred out of 130] In this part of the project you are to implement the functionality necessary to permit the editing of a path’s data. All of the data originally imported from a path’s CSV file may be modified EXCEPT the path name. The following specifications must be followed: Except for the form described in section A) below, all of the functionality in this part of the project is to be done using AJAX communication between the browser and web server. All AJAX server responses are to contain JSON formatted data ONLY. See the Grading Information section above for the penalty that will be applied to this part of the project if AJAX and JSON are not used as instructed. The jQuery library MUST be used to perform all AJAX operations. A) [10 marks] Create a web form that contains a list of all paths currently stored in the database with a means for selecting from this list the path to edit. This web form is to be the initial page of the edit functionality and is to use a full-page load. B) [20 marks] After selecting a path to edit on the form produced in part A) above, an AJAX request is to be sent to the web server for the selected path’s details. The response containing the details is to be sent from the server to the client in JSON format. The path details are to be added to the form page using JavaScript. The general path information, end point details and mid point details are to be displayed in 3 separate tables on the page in a manner similar to that used in Part 1 section D. In addition to the tables containing the path data, there is to be a means (button, radio button, link, etc.) for selecting what to edit. With appropriate supporting functionality. All general path information is to edited at once, End point and mid point data must be edited one point at a time. See the following sections for instructions on editing these 3 types of data. C) 30 marks] Editing general path information: a. After selecting to edit the general path information, display a form containing all of the current general path information. The user is to be allowed to edit all general path information except the path name. The Page 21 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site form can be displayed as part of a modalelement, a separate window, or by hiding the elements displayed in section A and B above and displaying the general information edit form. No matter which approach is used, all browser/server communication must use AJAX with responses containing only JSON formatted data. b. The user is to be allowed to cancel the edit operation at any time prior to submitting the form. c. When the edit form is submitted, the modifiable fields are to be validated on the server. If validation succeeds, the database record for the path’s general information is to be updated and a success message sent to the browser, otherwise appropriate error messages are to be sent to the browser. The database record is not to be updated if there are any errors. Only AJAX communication is to be used with all responses in JSON format. d. When the user finishes editing the general path information, whether by successfully saving modified information or by cancelling the edit operation, the output of sections A and B above are to be redisplayed with any modified information updated on the page. Any browser/server communications necessary must use AJAX with responses in JSON format. D) 30 marks] Editing a selected path end point: a. After selecting a path end point to edit, display a form containing all of the current information on that end point. The user is to be allowed to edit all of the end point’s information except the distance from the starting point of the path. The form can be displayed as part of a modalelement, a separate window, or by hiding the elements displayed in section A and B above and displaying the end point information edit form. No matter which approach is used, all browser/server communication must use AJAX with responses containing only JSON formatted data. b. The user is to be allowed to cancel the edit operation at any time prior to submitting the form. c. When the edit form is submitted, the modifiable fields are to be validated on the server. If validation succeeds, the database record for the selected end point is to be updated and a success message sent to the browser, otherwise appropriate error messages are to be sent to the browser. The database record is not to be updated if there are any errors. Only AJAX communication is to be used with all responses in JSON format. Page 22 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site d. When the user finishes editing the selected end point, whether by successfully saving modified information or by cancelling the edit operation, the output of sections A and B above are to be redisplayed with any modified information updated on the page. Any browser/server communications necessary must use AJAX with responses in JSON format. E) [30 marks] Editing a selected path mid point: a. After selecting a path mid point to edit, display a form containing all of the current information on that mid point. The user is to be allowed to edit all of the end point’s information except the distance from the starting point of the path. The form can be displayed as part of a modalelement, a separate window, or by hiding the elements displayed in section A and B above and displaying the mid point information edit form. No matter which approach is used, all browser/server communication must use AJAX with responses containing only JSON formatted data. b. The user is to be allowed to cancel the edit operation at any time prior to submitting the form. c. When the edit form is submitted, the modifiable fields are to be validated on the server. If validation succeeds, the database record for the selected mid point is to be updated and a success message sent to the browser, otherwise appropriate error messages are to be sent to the browser. The database record is not to be updated if there are any errors. Only AJAX communication is to be used with all responses in JSON format. d. When the user finishes editing the selected mid point, whether by successfully saving modified information or by cancelling the edit operation, the output of sections A and B above are to be redisplayed with any modified information updated on the page. Any browser/server communications necessary must use AJAX with responses in JSON format. F) [10 marks] Add your choice of CSS to the pages in this part of the project to improve its look and feel. Page 23 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Part 3 Requirements [This part is marked out of 85] Write a web application to compute the path loss, apparent effect of the earth’s curvature on ground height along a microwave path and compute the First Freznel Zone value along a microwave path. The computed values are to be displayed after they are computed along with the path data stored in the database. In addition, a graph showing whether there is a clear path or not is to be generated. The calculations are to be performed based on a user selected earth curvature value. The formulae needed to perform the calculations are in the Background Information section of this document. The application must follow these specifications: Except for the form described in section A) below, all of the functionality in this part of the project is to be done using AJAX communication between the browser and web server. All AJAX server responses are to contain JSON formatted data ONLY. See the Grading Information section above for the penalty that will be applied to this part of the project if AJAX and JSON are not used as instructed. The jQuery library MUST be used to perform all AJAX operations. A) [10 marks] Create a web form that contains a list of all paths currently stored in the database with a means for selecting from this list the path to perform calculations on. The form must also contain a means for selecting which of the 4 earth curvature factors (4/3, 1, 2/3 and infinity) to use during the calculations. This web form is to be the initial page of the calculation functionality and is to use a full-page load to display it initially. B) [50 marks] After selecting a path to perform calculations on and the earth curvature to use on the form produced in part A) above, an AJAX request is to be sent to the web server for calculations to be performed. The response containing path details and the calculation results is to be sent from the server to the client in JSON format. The path details and calculation results are to be added to the form page using JavaScript. The general path information, end point details and mid point details are to be displayed in 3 separate tables on the page. The calculation results, except path loss are to be included in the table containing mid point information. You can use table formats similar to those used in Part 1 section D if you wish. NOTE: All of the calculations are to be performed in PHP. Using JavaScript to perform the calculations will result in a deduction of 50% of the marks for this section. NOTE: The results of the calculations MUST NOT be stored in the database. You may use the PHP session feature to store the results if any storage is necessary. Page 24 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Storing the calculation results in the database will result in a deduction of 50% of the marks for this section. C) [5 marks] The path loss information and the graph are to be displayed between the path/curvature selection form and the path details. The path loss information is to be described with an appropriate text string. See the next section for details on generating the graph. D) [10 marks] You are to generate a graph that contains 3 lines (data sets), a. a straight line between the receiving and transmitting antennae at either end of the path, b. a curve (may be jagged) representing the apparent height of the ground and obstructions along the path including the earth curvature, and c. a curve with the First Freznel Zone added to the curve in b. above. You may generate the graph either using PHPGrahpLib or an open-source, free JavaScript graphing library of your choice. PHPGraphLib is already installed on the course VM. If you choose to use a JavaScript graphing library, it must be included in the appropriate js directory and submitted along with the rest of your project code. E) [10 marks] Add CSS of your choice to this part of the project to improve its look and feel. Page 25 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Participation Form The next page contains the group participation form. Each group must submit one (1) copy of this form on paper at the beginning of the first class following the due date for each part of this project. Electronic copies of the form WILL NOT BE ACCEPTED. Each submitted form must contain the name of each member of the group who participated in the part of the project to which the form pertains. Along side each student’s name, he or she is to write a list of what work he or she performed for this part of the project and then sign the form in the provided space. Any group member whose name does not appear on the form, or who does not sign the form will receive an automatic grade of zero (0) for that part of the project. In addition, poor participation by any group member may results in a reduced mark provided that other members of the group can provide documented evidence of poor participation. Failure to submit a participation form for any part of the project at the beginning of the first class following the due date of any part of the project will be considered to mean that all students in the group participated equally in that part of the project. Page 26 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site Group Member Participation Form Group Name/Number ____________________________________ Project Part _______ Date _____________________ Member Tasks Performed Signature Page 27 of 28 INFO-5094 LAMP 2 Winter 2019 Project - Microwave Radio Path Web Site References [1] White, Robert, Engineering Considerations for Microwave Communications Systems, GTE Lenkurt Inc., 1970. Available from various online sources in PDF format Page 28 of 28
Source Exif Data:File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.6 Linearized : Yes Author : user Comments : Company : Create Date : 2019:03:01 06:12:07-05:00 Modify Date : 2019:03:01 06:12:12-05:00 Source Modified : D:20190301111143 Subject : Language : EN-CA Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 5.6-c016 91.163616, 2018/10/29-16:58:49 Metadata Date : 2019:03:01 06:12:12-05:00 Creator Tool : Acrobat PDFMaker 19 for Word Document ID : uuid:c44756ba-b021-4d2b-bb8f-72530c99e2a3 Instance ID : uuid:2aa6236d-935a-48db-ac94-89aa78f2eb95 Format : application/pdf Title : Description : Creator : user Producer : Adobe PDF Library 19.10.123 Keywords : Page Layout : OneColumn Page Count : 28EXIF Metadata provided by EXIF.tools