Encerrado

Enhanced Browser Website

1. The user enters a URL or HTML string.

2. The system displays the page and allows the user to enter data into forms and click on links to browse to any page desired, just like the Internet Explorer browser works and looks.

3. The text displayed is divided into fields (e.g. "John Smith" or "1-800-555-1212") that can be clicked. URLS and email addresses embedded (hidden) in the HTML of the current page that the user is visiting can be added to the displayed fields. The user clicks on the FIRST and LAST field of interest. The fields before FIRST or after LAST are in small light gray. Arrows allow the user to adjust the FIRST and LAST by moving each one field up or down.

4. The user chooses a color from 6 displayed and then clicks on a field. The system takes the information and calls a PHP function that I provide that indicates the color to now display each field. The page is displayed using the colors indicated. This whole step (4) is repeated until the user clicks OK.

5. The system calls another PHP function that I provide that returns a table of rows and columns of values. The system displays this table and allows the user to go back and create more tables.

## Deliverables

Enhanced Browser Specs and Questions

This document consists of 9 pages. The first 5 pages are the specs. The last 4 pages are the questionnaire. If you can answer the questions at the end then you can do this project. First read the specs below.

This is a website, not a PC application. This website will allow users to browse to pages on the internet and to perform certain calculations on these pages. There are 4 screens. We go from each screen to the next (I to II to III to IV) by clicking on OK and can go directly back to any of the earlier screens by clicking on a screen name: BROWSE, SELECT LIST or COLORS.

SUMMARY

{ and } represent less than and greater than used in HTML examples

I. BROWSE

The user enters a URL, or copies and pastes an HTML string. The system displays the page, with special considerations for text values, which we will call Field Values (see A below.) The user can then browse to any page by entering data into forms or clicking on a link to another page. There is a BACK button ({=) to go back to the previous page and a FORWARD button (=}) to go to the next page after using the BACK button. The user clicks OK to use the current page and continue to II.

II. SELECT LIST

The user selects the FIRST and LAST Field Value of interest, and can adjust the selection with up and down arrow buttons (see B below.) The Field Values before FIRST or after LAST are displayed smaller, gray, blurred but still legible.

III. COLORS

There are 6 colors used, numbered 1 to 6: 1= green, blueviolet, fuchsia, blue, red and 6=aqua. The user chooses a color by clicking on one of 6 buttons at the top of the screen. Then they click on a Field Value. Alternately, they can right click at the Field Value and choose the color from a little menu that appears. If the same color is used twice in a row then the second time they don't have to click or choose the color again.

This is done repeatedly. At each step, a PHP function SETON that I supply is called that returns the resulting color to display each Field Value. A BACK arrow ({=) and FORWARD arrow (=}) allow the user to edit the sequence of inputs. The user clicks OK when finished.

IV. TABLE

The system uses another PHP function MKTABLE that I supply to calculate a complex function on the page, colors and Field Values. The result is a 2-dimensional table of rows and columns that is displayed. The user can then continue to browse to other web sites and make additional calculations as desired.

DETAILS

A. FIELD VALUES

The text on the current page (character strings of letters, digits and punctuation) is broken down into individual Field Values as follows:

1. LITERALS: Literals occur between the "}" and "{" characters in the HTML.

2. COMBINING LITERALS: If the "{TAG . . .}" that occurs between two consecutive literals does not cause anything to appear between the literals before and after it in the display, then the "{TAG . . .}" is removed and the literals before and after the "{TAG . . .}" are concatenated into one literal to produce one Field Value.

For example, "ABC{FONT. . .}DEF" creates only one Field Value, ABCDEF, because the FONT tag only changes the appearance of the literal DEF displayed but does not cause anything to appear between the ABC and the DEF in the display so it is one Field Value ABCDEF that appears on the screen. However, "ABC{TD}DEF" creates two Field Values, ABC and DEF, because the TD tag creates a cell that appears between the ABC and the DEF when the page is displayed. ABC and DEF will appear as two separate Field Values on the screen.

3. EMBEDDED EMAILS AND URLS: If there are any embedded email addresses or URLs, due to their location in the HTML (not because it looks like an Email or URL) that are not among the Field Values, they can be added to the Field Values.

A button says "Include Emails/URLs/Emails & URLs" (depending on what is found embedded in the HTML.) If the user clicks the button, then the embedded email addresses and URLs, in their full form, that are not among the Field Values are added to the list of Field Values at the point among the other Field Values at which it occurs within the HTML. These Emails and URLs will appear in the display along with the Field Values derived from the literals in (1) and (2) above. The button is changed to say "Exclude" instead of "Include" and clicking it again removes the embedded Emails and URLs from the Field Values.

4. INTERNAL NUMBERING OF THE FIELD VALUES: The Field Values will be internally numbered 1, 2, etc. starting with the Field Values that are displayed closest to the top edge of the screen, with the left-most Field Value at the top edge being number 1, and if there is a Field Value to its right also at the top edge of the screen then it becomes Field Number 2 going across from left to right, then continuing on the next line from the top edge of the screen at its left end.

So the sort among the Field Values is first by distance from the top edge of the screen, and then by distance from the left edge of the screen. The Field Value at the top edge of the screen closest to the left has a Field Number of 1 and the Field Value closest to the bottom edge of the screen and furthest to the right has the largest Field Number.

5. TAGS: With each Field Value and Field Number is the list of tags that occur between the Field Value on its left in the HTML and this Field Value, and are not removed in step 2. The list of tags is represented in uppercase letters as a single string with a "+" in front of a tag that appears as "{TAG}" and a "-" if the tag appears as "{/TAG}", and an "A" in front of the entire list.

For example, "ABC{BOLD}DEF{/BOLD}{TD}GHI{/TD}{TD}JKL" would produce 3 Field Values as follows:

(1.) Field Value "ABCDEF"

TAGS = "A"

(2.) Field Value "GHI"

TAGS = "A+TD"

(3.) Field Value "JKL"

TAGS = "A-TD+TD"

This is because tags TD and /TD create space while tags BOLD and /BOLD do not create space, so the ABC and DEF are concatenated into ABCDEF but the GHI and JKL are not concatenated and remain as two separate Field Values, for 3 Field Values altogether.

6. DATA STRUCTURES: The Field Values, their Field Numbers, and their TAGs are stored in variables as follows. This is used to communicate with the 2 PHP functions that I provide.

FV[ Field Number ] = Field Value

TAGS[ Field Number ] = "A +-tag +-tag . . ."

So the example in 5 above produces:

FV[1]="ABCDEF"

FV[2[="GHI"

FV[3]="JKL"

TAGS[1]=A"

TAGS[2]="A+TD"

TAGS[3]="A-TD+TD"

B. SELECT LIST (screen II)

The user selects a FIRST Field Number and a LAST Field Number of interest. Every Field Value before FIRST or after LAST is displayed diminished. The Field Values from FIRST to LAST is the list of Field Values of interest.

1. FIRST: The system says SELECT FIRST FIELD. The user clicks on one of the Field Values.

2. DIMINISHED: The Field Values before the FIRST (with smaller Field Numbers) are displayed diminished - smaller size, light gray color, hard to read (but still legible.)

3. ADJUST: An image appears on the right side of the display on the same line as the FIRST Field Value. It has an arrow pointing up and underneath it an arrow pointing down. The line where the two arrows meet is on the same line as the FIRST Field Value.

4. LAST: The system asks the user to choose the LAST Field Value.

a. If the user clicks on the arrow pointing up, 1 is subtracted from the FIRST Field Number. If the user clicks on the arrow pointing down, 1 is added to the FIRST Field Number. If the FIRST is Field Number 1 then the arrow pointing up is displayed diminished and cannot be clicked. If the FIRST is the last Field Number on the page, then the arrow pointing down is displayed diminished and cannot be clicked.

b. If the user clicks on any Field Value from the FIRST to the end, that becomes the LAST Field Value. All Field Values after the LAST (with a larger Field Number than LAST) are displayed diminished - smaller size, light gray color, hard to read (but still legible.) The same arrows pointing up and down are displayed on the right end of the line of the LAST Field Value.

c. The user can then click on the arrows pointing up or down to adjust the FIRST and LAST Field Values chosen.

5. OK: The user clicks OK to complete the list selection.

C. COLORS (screen III)

1. COLOR: The user clicks on one of 6 buttons of different colors. This button becomes brighter (to show it is the selected color) and the other 5 colors (buttons) become dimmer (because they were not chosen.)

2. FIELD: The user clicks on one of the Field Values between FIRST and LAST.

3. RIGHT CLICK: Alternately, the user can right click the Field Value and choose the color from a list that appears. As in (1), the button with the chosen color becomes brighter and the other 5 colors become dimmer.

4. REPEAT COLOR: If one button is already brighter from the previous time it was chosen, the user can just click on the Field Value and use the same color as before.

5. Each pair of values (Field Number , Color Number) is added to a sequential list of these pairs in a local variable as follows:

CLICK[] = (Field Number , Color Number)

6. A PHP function SETON supplied by me is called with 4 inputs from you:

FIRST

LAST

TAGS[ Field Number ] = "A +-tag +-tag . . ."

CLICK[] = ( Field Number , Color Number )

FIRST and LAST are numbers (Field Numbers). Variable TAGS provides direct access to the tags of each Field Number. Variable CLICK is the sequential list of Fields and Colors entered by the user so far for this page. That is, CLICK contains a list of entries and each entry is a pair (Field Number,Color Number) containing a Field Number and a Color Number joined as a pair.

Function SETON returns a variable ON containing:

ON[ Field Number ] = Color Number or 0

The page is now redisplayed with the color of each Field Value of interest (between FIRST and LAST) being ON[ Field Number ] where 0 to 6 represent colors black, green, blueviolet, fuchsia, blue, red and aqua, respectively.

7. This is done repeatedly. Each time the page is redisplayed, the row containing the last Field Value clicked is the center line vertically on the screen. That is, the previous Field Value clicked is on the line with half of the screen above it and half of the screen below it. There is also a BACK button ({=) and FORWARD button (=}) that removes and adds a (Field Number,Color Number) pair to the sequential list in variable CLICK. At each step, the PHP function SETON is called that returns the resulting color to display each Field Value. The user clicks OK when finished.

D. TABLE (screen IV)

A PHP function MKTABLE is called with the following 5 inputs from you:

FIRST

LAST

FV[ Field Number ] = Field Value

TAGS[ Field Number ] = "A +-tag +-tag . . ."

ON[ Field Number ] = Color# or 0

This returns a pair of variables TABLE and COLNA containing as follows:

TABLE[ Row Number ][ Column Number ] = Field Value

COLNA[ Column Number ] = Column Name

Variable TABLE is a sequential list of rows by row number 1, 2, 3, etc. Each row consists of the same number of columns. Each column of each row contains a Field Value. Variable COLNA contains the column name of each column.

The system displays the table with the row number at the left end of each row and the column name above each column centered in the page.

E. DEBUGGER

A debugger panel appears if we click on it, which lists the values (contents) of variables FIRST, LAST, CLICK* and also FV*, TAGS*, ON* as one line per Field Value and columns for Field Number, Field Value, TAGS and Color Number.

F. DOCUMENTATION

1. The Software

2. A list of all Programming Languages and technologies used.

3. A list of all subroutines/functions and for each:

a. Its Programming Language and Technology used.

b. Inputs to the subroutine.

c. Outputs from the subroutine.

d. Which parts of these specs it is implementing and how.

4. For each paragraph in these specs, add a note giving the subroutines/functions in (3) that implement it.

5. How to install, initialize and maintain the system.

QUESTIONNAIRE

If you can answer the 37 questions below then you can do this project.

If you are to drive a car across the country, then you must plan for the journey. Is there snow up ahead? If there is, then you need to put on snow tires and make sure they work - they are properly inflated and have no holes. Then you can make the journey quickly and safely, with no unforeseen problems.

The Enhanced Browser project is a new web site that is described in detail above. Please read and understand it, and send me a list of all questions that you have concerning those specs. I will answer all of your questions so you can understand it. In summary:

1. The user enters a URL or HTML string.

2. The system displays the page and allows the user to enter data into forms and click on links to browse to any page desired, just like the Internet Explorer browser works and looks.

3. The text displayed is divided into fields (e.g. "John Smith" or "1-800-555-1212") that can be clicked. URLS and email addresses embedded (hidden) in the HTML of the current page that the user is visiting can be added to the displayed fields. The user clicks on the FIRST and LAST field of interest. The fields before FIRST or after LAST are in small light gray. Arrows allow the user to adjust the FIRST and LAST by moving each one field up or down.

4. The user chooses a color from 6 displayed and then clicks on a field. The system takes the information and calls a PHP function that I provide that indicates the color to now display each field. The page is displayed using the colors indicated. This whole step (4) is repeated until the user clicks OK.

5. The system calls another PHP function that I provide that returns a table of rows and columns of values. The system displays this table and allows the user to go back and create more tables.

This project is part 1 of a much larger application. Part 2 will:

1. Let the user save the table to a database.

2. Create an account for their tables.

3. Make a variety of edits to a table e.g. add, remove or change a column or row or cell.

4. Combine two or more tables into one larger table.

5. Display a table with parameters that control its size and format.

6. Import and export tables from other database systems.

7. Run logical queries looking for certain data in the tables.

I would like for you to develop this new web site for me, and if successful then please develop part 2 above and other applications as well.

To develop a plan so that we can make this journey together, I have laid out the 37 functional points that the system will do. They are all described in detail in the spec document. For each functional point, I need for you to tell me how your software will do it.

In some cases you will need a particular programming language command or function. So the question is, what programming language/command/function/data type will you use to do e.g.:

1. Submit a form to another URL. (7)

2. Go to another URL. (8)

3. Click on any Field Value. (18)

4. Click on an image of an arrow going up and an arrow going down. (24)

5. Right click at any Field Value and choose from a list. (29)

6. Display a Field Value in a certain color. (32)

7. Call a PHP function with one or two outputs. (31,35)

In other cases there is an algorithm involved that you will apply to some data and the question is, please specify the steps you will take to perform the given data manipulation and computations e.g.

1. Create an HTML string from a browser or page saved as certain file types. (2)

2. Extract the Field Values from the HTML. (12)

3. Extract and expand the embedded Email Addresses and URLs from the HTML. (14)

4. Number the Field Values according to their distance from the top and left edge of the display. (16)

5. Display any Field Value diminished. (19)

6. Display the pages with the last Field Value clicked being at the middle line of the display. (34)

7. Format and maintenance of variables for BACK and FORWARD buttons browsing and colors. (9,10,33)

The Functional Points

Please indicate how you will do each of these, i.e. the programming language/command and steps to perform any algorithms. If you don't understand one then simply ask your questions here. If you can answer these then I want you to do this project for me (as well as the others.)

1. The user can enter in a URL.

2. The user can enter in an HTML string.

3. The system determines which was input.

4. If a URL was entered, its HTML is retrieved.

5. The page is displayed.

6. The user can enter data into forms.

7. The user can click on a submit to submit a form.

8. The user can click on a link to go to that page.

9. There is a BACK button to go to the previous page.

10. There is a FORWARD button to go to the next page after using the BACK button.

11. The user clicks on OK when they are at the page of interest.

12. The system determines the field values on the current page as defined in A. FIELD VALUES in the spec document, including when to drop a TAG between two literals to form one field value. (See 2. COMBINING LITERALS in spec.)

13. The Field Values are stored in local variable FV[Field Number]=Field Value. (See 6. DATA STRUCTURES in specs.)

14. Embedded Email Addresses and URLs are extracted from the HTML and expanded to their full forms. (See 3. EMBEDDED EMAILS AND URLS in spec.)

15. The user can click on a button to add the extracted Email Addresses and URLs to the field values.

16. Field Values are numbered according to their distance from the top edge of the display and then their distance from the left edge of the display. (See 4. INTERNAL NUMBERINGS in spec.)

17. Tags between field values are joined to form a string e.g. "A-TD+TD" and stored in local variable TAGS[Field Number]=TAGS. (See 5. TAGS to 6. DATA STRUCTURES in spec.)

18. The user clicks on the FIRST Field Value.

19. Field Values before FIRST are displayed diminished.

20. The user clicks on an up arrow to subtract 1 from the FIRST Field Value Number.

21. The user clicks on a down arrow to add 1 to the FIRST Field Value Number.

22. The user clicks on the LAST Field Value.

23. Field Values after LAST are displayed diminished.

24. The user can click on an up arrow to subtract 1 from the LAST Field Value Number or a down arrow to add 1 to the LAST Field Value Number.

25. If the FIRST or LAST Field Value Number equals 1 then the up arrow to subtract 1 from its Field Value Number is diminished and cannot be clicked. If the FIRST or LAST Field Value Number equals the last Field Value on the page, then the down arrow to add 1 to its Field Value Number is diminished and cannot be clicked.

26. The user clicks on one of 6 buttons of different colors - green, blueviolet, fuchsia, blue, read, aqua - represented by 1 to 6.

27. The button of the chosen color becomes brighter and the other 5 buttons become dimmer, when the color is chosen from the 6 buttons (26) or from a right click and choose from a list that appears (29).

28. The user clicks on one of the Field Values between FIRST and LAST.

29. The user right clicks a Field Value between FIRST and LAST, and chooses a color from a list of six colors that appears.

30. Each pair of values (Field Number,Color Number) chosen in (26-29) above is added to a sequential list of these pairs in a local variable CLICK[] = (Field Number,Color Number).

31. The system calls a PHP function supplied by me: SETON(FIRST,LAST,TAGS,CLICK) using input created at 18/20/21, 22/24, 17 and 30, and returns ON[Field Number] = Color Number or 0.

32. The page is displayed with the color of each Field Value of interest (between FIRST and LAST) being the color of the color number stored in ON[Field Number] = Color Number or 0, where 0 is BLACK.

33. A BACK arrow and a FORWARD arrow allow the user to alter the sequence of inputs. This simply removes or adds an entry to the sequential list of (Field Number, Color Number) entries in variable CLICK created in (30), then continues to (31) above.

34. When the page is displayed in (32) the horizontal line of the last Field Value clicked in (28) or (29) is displayed in the middle of the screen with half of the monitor's vertical height above that Field Value and half of the monitor's vertical height below that Field Value.

35. A PHP function supplied by me is called: MKTABLE(FIRST,LAST,FV,TAGS,ON) with inputs made at FIRST=18/20/21, LAST=22/24, FV=12/13/15, TAGS=17, ON=31, and returns a pair of variables TABLE[Row Number][Column Number]=Field Value and COLNA[Column Number]=Column Name.

36. The table in variable TABLE with column headings in COLNA set in (35) is displayed centered or at the top of the page if over a page tall, with row numbers on the left of each row, column names above the top row, and column numbers in a row above that. So the top row is column numbers, the next row is column names, and the rest of the rows are the rows in TABLE with an extra column on the left with the row numbers in it.

37. If the user clicks a panel it expands and lists the variables FIRST, LAST, CLICK, FV, TAGS, ON with one line per Field Value and columns for Field Number, Field Value, TAGS and Color Number.

Thanks,

Charlie

Habilidades: MySQL, PHP, Arquitetura de software, Teste de Software, Hospedagem Web, Gestão de Site , Teste de Website

Ver mais: which software we need to develop a website in php, which languages we can use for create a website, what was the first programming language, what's an algorithm, what programming language is this, what programming do i need for a website, what is the most used programming language, what is pair programming, what is embedded programming, what is direct data entry, what is data structures in c, what is data structures and algorithms, what is data structures, what is database technology, what is a variable in programming, what is a string in programming, what is a programming algorithm, what is an algorithms, what is an algorithm in programming, what is an algorithm, what is algorithms in programming, what is algorithms, what is algorithm in programming, what is algorithm, what is a function in programming

Acerca do Empregador:
( 0 comentários ) United States

ID do Projeto: #3020764

7 freelancers estão ofertando em média $1008 para este trabalho

palglobe

See private message.

$595 USD in 14 dias
(13 Comentários)
5.7
xtreamrohit

See private message.

$2465 USD in 14 dias
(5 Comentários)
4.0
deepnayana

See private message.

$637.5 USD in 14 dias
(1 Comentário)
0.0
guardianpressinc

See private message.

$1700 USD in 14 dias
(3 Comentários)
0.0
titupetrea

See private message.

$425 USD in 14 dias
(0 Comentários)
0.0
bistech

See private message.

$510 USD in 14 dias
(1 Comentário)
0.0
alienwebdotin

See private message.

$722.5 USD in 14 dias
(0 Comentários)
0.0