Abstract:
A system and method are disclosed for providing a webpage comprising receiving instructions for previewing a page; creating a preview version of the page, wherein links are modified to reflect a location of the preview version; and displaying the preview version of the page.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to webpages. More specifically, a system and method for creating or modifying a webpage is disclosed.  
       BACKGROUND OF THE INVENTION  
       [0002]     Webpage designers are turning more frequently to webpage design tools. Often, a user will open and edit multiple webpages simultaneously when using a design tool. The complexity of juggling multiple pages can be difficult to manage and coordinate changes among the various pages. What is needed is a system and method for efficiently creating and modifying a webpage. The present invention addresses such a need.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0003]     The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:  
         [0004]      FIGS. 1A-1B  are block diagrams of a system and method for modifying a webpage according to an embodiment of the present invention.  
         [0005]      FIG. 2  is a flow diagram of a method according to an embodiment of the present invention for modifying a webpage.  
         [0006]      FIG. 3  is an example of a screen shot illustrating a live preview pane according to an embodiment of the present invention.  
         [0007]      FIG. 4  is a screen shot of a navigation bar creation window according to an embodiment of the present invention.  
         [0008]      FIG. 5  shows an example of a navigation bar according to an embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0009]     It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. It should be noted that the order of the steps of disclosed processes may be altered within the scope of the invention.  
         [0010]     A detailed description of one or more preferred embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment. On the contrary, the scope of the invention is limited only by the appended claims and the invention encompasses numerous alternatives, modifications and equivalents. For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. The present invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured.  
         [0011]      FIGS. 1A-1B  are block diagrams of a system and method for modifying a webpage according to an embodiment of the present invention. The word modify, as used herein, includes but is not limited to, creating a new webpage as well as modifying an existing webpage. Likewise, the word create or creating, as used herein, includes but is not limited to, creating a new webpage as well as modifying an existing webpage.  FIG. 1A  shows a simplified example of a webpage which includes page  100  and page  102 . In this example, page  100  includes a link to webpage  102 . Webpage  102  is shown to also include a link to webpage  100 . If the user modifies webpage  100 , and then chooses to preview either webpage  100  or  102 , then the latest version of webpages  100 - 102  are shown so that if the user selects the link  106  to webpage  100 , then the modified version of webpage  100  is displayed rather than the old, unmodified version. Likewise, if the user has modified webpage  102 , if the user selects the link  104  to webpage  102 , then the most recently modified version of webpage  102  is shown, regardless of whether he has saved the latest modification.  
         [0012]     In  FIG. 1B , a preview version of the modified webpage  100 ′ is shown along with a preview version of webpage  102 ′. In this example, a preview version  100 ′ of webpage  100  is created and saved, preferably when a preview command is selected by the user or when the webpage  100 ′ is saved, in order to capture changes made by the user. The preview versions of the webpages  100 ′- 102 ′ contain modified links  104 ′- 106 ′. The modified links  104 ′- 106 ′ are modified to link to the preview versions webpage  100 ′ and webpage  102 ′ rather than the saved versions  100 - 102 . In this manner, the links are consistent to the user when the user previews a webpage prior to saving his changes. For example, if the user makes changes to webpage  100  and webpage  102 , when he chooses to preview webpage  102 , he will see the preview version  102 ′ and when he selects the link  106 ′ to webpage A, then the preview version of webpage  100 ′ will be displayed. Likewise, when he selects link  104 ′ to webpage B, then the preview version  102 ′ will be displayed. Accordingly, the preview versions of the webpages will appear consistent during modification.  
         [0013]     If the links are not rendered until the web browser launches, then the assets associated with the links can be modified so that when the links are rendered, the links will be modified. Alternatively, the links themselves can be modified.  
         [0014]      FIG. 2  is a flow diagram of a method according to an embodiment of the present invention for modifying a webpage. In this example, two pages are open. A saved version of page A is provided ( 198 ). This saved version can be a preexisting page or a new, blank page that has not yet been customized. Page A is modified by a user ( 200 ). Instructions are received to preview page A ( 202 ). The saved version of page A is left unmodified and a preview version of page A is created which looks like the modified version of page A ( 204 ). In one embodiment, all files currently open and modified since the last preview has a preview version created that look like the current pages, regardless of whether the latest changes had been saved. In one embodiment, the preview versions can be generated every time a file is saved in addition to or instead of creating the preview versions when the user selects to preview a page. Additionally, a preview version of all files that have no current preview versions can be created, for example when a file is saved or when a preview instruction is received. One example of creating a preview version is to regenerate the entire file in the latest modified form.  
         [0015]     Links for the webpages are modified so that the links point to the proper preview page at the preview location upon which the preview page is saved ( 206 ). In one embodiment, the memory location of the saved webpage is replaced with the preview location of the corresponding preview page. Accordingly, if the preview location is the same as the memory location of the saved webpage, then the actual link may remain the same since it will be replaced with the same information. In another embodiment, there could be a determination of whether the link should be changed rather than substituting all links.  
         [0016]     All references to assets in the webpages are changed to the preview location of these files ( 208 ). An asset, as referred to herein, includes any file which can be incorporated into a website, such as html files, images, or animation. An example of a preview location is cache or a different memory location rather than the memory location where the saved version of the webpage is located. Changing the references to assets to the preview location of these files will facilitate consistency of the various pages when the user wishes to preview them.  
         [0017]     The web browser is then invoked and directed to the preview version of page A ( 210 ).  
         [0018]     In another aspect of the invention, a preview pane can be used to substantially immediately show the effects of a modification of a webpage.  FIG. 3  is an example of a screen shot illustrating a live preview pane according to an embodiment of the present invention. In this example, a webpage  302  is being modified by a user. The preview pane  300  shows a preview of what the webpage  302  will look like. Changes to webpage  302  are reflected in the preview pane  300 . In one embodiment, the changes made to webpage  302  are immediately updated in the preview pane  300 . In another embodiment, the preview pane  300  can be updated periodically, for example, if the user makes a change on webpage  302 , then a timer can be set and the preview pane  300  can be updated a half a second later so that all of the changes made within that time period can be updated together in the preview pane  300 .  
         [0019]     The preview pane  300  can be modified so that extraneous items such as border, highlights, or grid, are shown in webpage  302  are not displayed in preview pane  300 . In one embodiment webpage  302  momentarily turns off the borders, highlights, and grid, or anything else that would not normally be seen in the final published webpage, and is rendered without the turned-off components in preview pane  300 , then turned back on in page  302 . This sequence preferably occurs fast enough so that it is not noticeable by the user.  
         [0020]     In rendering the preview pane  300 , each object on page  302  can be made to paint itself onto preview pane  300 . Accordingly, the graphics context of the object is created, scaled to a small size appropriate for the preview pane  300 . Each object is then instructed to paint itself to the graphics context and then display on the screen in preview pane  300 .  
         [0021]     In yet another aspect of the invention, a navigation bar is disclosed.  FIG. 4  is a screen shot of a navigation bar creation window according to an embodiment of the present invention. In this example, a navigation bar window  400  lists all pages  402 A- 402 B on the website so that the user can select the pages to become part of the navigation bar. A theme can also be selected for the button effects and rollovers so that the user can automatically select a set of appearances for the buttons when they are unselected, when the mouse rolls over the button, and when they are selected. The navigation bar&#39;s appearance can also be previewed in a preview window.  
         [0022]      FIG. 5  shows an example of a navigation bar  500  which can be viewed as a set of buttons that link to various locations within the website. These buttons on the navigation bar  500  can function as a single object so that when the user drags the navigation bar  500 , all of the buttons  502 A- 502 B move as a single object. The images associated with the navigation bar  500  can be rendered at publish time. Each button  502 A- 502 B of the navigation bar  500  can have multiple images, such as three images: mouse rollover, active, and inactive, wherein the mouse rollover is when the cursor is on a button, active is the page that is being displayed, and inactive is a page that this not being displayed. The navigation bar  500  is an asset that can be added to many pages and when the navigation bar  500  is changed, the changed bar  500  can be seen in all the webpages without having to change it for each individual page.  
         [0023]     Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. It should be noted that there are many alternative ways of implementing both the process and apparatus of the present invention. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.