Abstract:
A system and method for providing a network-based site having a common appearance. The system may include a tag embedded in each page of a network-based site, a script to be called from within the tag, and a configuration database storing page configuration information to be called or queried by the script. The pages of the network-based site may be stored in a page storage medium. The method may include receiving a request for a page, retrieving the page from a page storage medium and executing a database script associated with the page to access configuration information from a configuration database. The method may further include receiving configuration information associated with the page from the configuration database, wherein the page, including the configuration information, may be served to a user.

Description:
FIELD OF THE INVENTION  
         [0001]    The invention is generally related to website design. More particularly, the invention is related to configuration of web pages on a website.  
         BACKGROUND OF THE INVENTION  
         [0002]    It is often desired in website design to provide a common look and feel for each page of a website, without the need to cut and paste hypertext markup language (“HTML”) into each page to achieve the common appearance.  
           [0003]    One approach to providing web pages having a common look is to use common gateway interface (“CGI”) scripts. In this approach, a user&#39;s browser queries a server side script with certain parameters, and an entire web page is then generated as a result of the query. However, when CGI scripts are used to generate web pages, a single URL is used for the entire website. Also, security needs to be integrated into the script if all pages are not to be accessible by all users.  
           [0004]    Another approach is to use cascading style sheets. In this approach, a link to a style sheet may be embedded at the top of each web page. However, cascading style sheets are not able to provide a high degree of functionality. Also, if a change needs to be made to the appearance of all of the web pages in the website, either the style sheet needs to be changed, or each page of the website has to be changed.  
         SUMMARY OF THE INVENTION  
         [0005]    A system and method for providing a network-based site having a common appearance is described. The system may include a tag embedded in each page of a network-based site, a script to be called from within the tag, and a configuration database storing page configuration information to be called or queried by the script. The pages of the network-based site may be stored in a page storage medium.  
           [0006]    The method may include receiving a request for a page, retrieving the page from a page storage medium and executing a database script associated with the page to access configuration information from a configuration database. The method may further include receiving configuration information associated with the page from the configuration database, wherein the page, including the configuration information, may be served to a user. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    The invention is illustrated by way of example and not limitation in the accompanying figures in which like numeral references refer to like elements, and wherein:  
         [0008]    [0008]FIG. 1 is a block diagram illustrating one embodiment of a network system employing principals of an embodiment of the invention;  
         [0009]    [0009]FIG. 2 is a block diagram illustrating one embodiment of the network site of FIG. 1; and  
         [0010]    [0010]FIG. 3 is a flow diagram illustrating one embodiment of the method for presenting pages of a network site so that the pages have a common look and feel;  
         [0011]    [0011]FIG. 4 is a flow diagram illustrating one embodiment of additional processes for presenting pages of a network site so that the pages have a common look and feel. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0012]    In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that these specific details need not be used to practice the invention. In other instances, well known structures, interfaces, and processes have not been shown in detail in order not to obscure unnecessarily the invention.  
         [0013]    [0013]FIG. 1 is a block diagram illustrated one embodiment of a network system employing principals of an embodiment of the invention. This system  100  includes a network site  110 , network  101  and network service providers  122 .  
         [0014]    The network  101  may include the internet or any other network such as a local area network (“LAN”), a wide area network (“WAN”), etc. The network site  110  may include a server  112  for serving pages, such as, for example, web pages, to users of network  101 .  
         [0015]    The server  112  may include, for example, a workstation running a Microsoft Windows™ NT™ operating system, a Windows™ 2000 operating system, or another similar operating system or platform. The network site  110  may also be connected to a database  130 . Although the database is shown outside the network site  110 , in one embodiment, the database  130  may be included with the network site  110 . The database  130  may include or interface to, for example, an Oracle™ relational database such as sold commercially by Oracle Corporation, an Informix™ database, a Database 2 (DB2) database, etc. Network service providers  122  may provide communications between client systems  124  and network  101 . The client system(s)  124  may include, for example, a personal computer running a Microsoft Windows™ 95 operating system, a Windows 98 operating system, a Millenium™ operating system, etc.  
         [0016]    The client system(s)  124  may also include a microprocessor such as an Intel x86-based device, an Advanced Micro Devices x86-compatible device, etc. The client may further include electronic memory such as a random access memory (RAM) or an electronically programmable read only memory (EPROM), a storage device such as a hard drive, a compact disk read only memory device (CDROM), etc.  
         [0017]    The client system(s)  124  may be equipped with an integral or a connectable cathode ray tube (CRT), a liquid crystal display (LCD), an electroluminescent display, a light emitting diode (LED) or another display screen, panel or device for viewing and manipulating files, data and other resources using a graphical user interface (GUI) or a command line interface (CLI). The client may also include a network-enabled appliance such as a WebTV™ unit, a browser-equipped or other network-enabled cellular telephone, etc.  
         [0018]    In one embodiment, the client system(s)  124  maybe connected to network  101  through network service provider  122 . In one embodiment, client system(s)  124  may be connected to network service provider  122  through another network  126 . Network service providers  122  and network site  110  may be connected to the network  101  through a communications link. In one embodiment the network  101  may be or include a communications link. The communications link may include or interface to, for example, the Internet, an intranet, a Local Area Network (LAN), etc.  
         [0019]    [0019]FIG. 2 is a block diagram illustrating one embodiment of the network site of FIG. 1. Network site  210  may include a server module  212 , database script module  214 , pages module  216  and configuring information module  218 . The network site  210  may present pages  231 , such as, for example, web pages, to users at the client systems  124  through server module  212 .  
         [0020]    The server module  212  may access the pages module  216  to retrieve a page  231  requested by the user. In one embodiment, the page  231  is embedded with a tag  232 . The tag  232  may be a link to a database script stored in database script module  214 . In operation, the server module  212  may detect the tag  232  and retrieve a database script associated with the tag  232  from database script module  214 . Database script module  214  may be a component of the database  130 .  
         [0021]    The server  212  may then execute the database script retrieved from database script module  214  of database  130  to obtain configuring information from the configuring information module  218 .  
         [0022]    The database script retrieved from database script module  214  maybe executed using a database engine associated with database  130 . The database engine may retrieve configuration information from a configuring information module  218  of network site  210 .  
         [0023]    The database script may use functions defined in the centralized database  130  to generate information to be displayed on page  231  in hypertext markup language (“HTML”). In one embodiment, the configuration information  218  may be stored in HTML. The configuration information  218  may be incorporated into the final HTML page  231  to be presented to browser of the client system  124 .  
         [0024]    For example, a typical page using the framework described above in HTML may appear as:  
                                                                   &lt;!doctype html public “-//w3c//dtd html 4.0 transitional//en”&gt;            &lt;!-- Begin Header --&gt;   [header tag]            &lt;!--#include       virtual=“/cgi-bin/example/webframe?page=first_page&amp;action=header” --&gt;       &lt;!-- End Header --&gt;       &lt;h4&gt;This is a page&lt;/h4&gt;       &lt;p&gt;Lots of stuff could go here...            &lt;!-- Begin Footer --&gt;   [footer tag]            &lt;!--#include       virtual=“/cgi-bin/example/webframe?page=first_page&amp;action=footer” --&gt;                  
 
         [0025]    In the example above, the script in the tags for header and footer may call a database engine of database  130  to retrieve the header and footer information for the page  231 , which is referenced in the database as “first 13  page.” Database  130  may include HTML content that may be printed where the “&lt;#includevirtual= . . . ” lines are. The completed HTML page may be transmitted to the browser of client system  124  to be displayed.  
         [0026]    [0026]FIG. 3 is a flow diagram illustrating one embodiment of the method for presenting pages  231  of a network site  110 ,  210  so that the pages  231  have a common look and feel. It will be appreciated that the processes described below with reference to FIGS. 3 and 4 may be performed in any order and not all of the process steps are necessary for the operation of the present invention.  
         [0027]    At processing block  310 , a request for a page  231  is received by the network site  110 ,  210 . At processing block  320 , the server  212  of the network site  110 ,  210  retrieves the page  231  requested by the user from the pages module  216 . In one embodiment, the pages module  216  may include a page storage medium, such as a file system. In one embodiment, the page storage medium may be a part of centralized database  130 .  
         [0028]    At processing block  330 , the server  112  may execute a database script associated with the retrieved page  231 . In one embodiment, the server  212  may detect the tag  232  in page  231 . The server  212  may then execute a database script  214  contained in or associated with the tag  232 .  
         [0029]    In one embodiment, the server  212  may retrieve the database script from a database script module  214 . In one embodiment, the server may assign a page name to the page  231  and use the page name inside the database script module  214  to retrieve configuring information for the page  231 .  
         [0030]    At processing block  340 , the server  212  may receive the configuration information associated with the page  231 . At processing block  350 , the server  212  may serve the page  231  along with the configuration information. In one embodiment, the configuration information may be in HTML. The server may then incorporate the configuration information into the HTML of the page  231  for presenting to the browser of client system  124 .  
         [0031]    In one embodiment, the database script may comprise a common gateway interface (“CGI”) script. In one embodiment, the configuration information may include a header, a footer and/or information to be inserted within the body of the page. The information may include images, text or any other HTML construct.  
         [0032]    In one embodiment, the configuration information allows a network site  110 ,  210  to provide management information such as, for example, who may access the page, who was the last to edit the page, when the page was last edited, and/or how many times a particular person visited the page. The particular may include, for example, the person who last edited the page.  
         [0033]    [0033]FIG. 4 is a flow diagram illustrating additional processes that may be performed in one embodiment of a method for presenting pages  231  of a network site  110 ,  210  so that the pages  231  have a common look and feel. At step  410 , the server  212  may update page  231  stored in pages module  216  when page  231  is edited by a user at a client system  124 . In one embodiment, the user may edit the page  231  in the same manner as a user may edit any HTML document. In addition, the user may update the CGI script to change the appearance of page  231 .  
         [0034]    At step  420 , a user may update configuration data  218  in database  130 . The user may change the information provided by the database script  330 , for example, to provide information on management events. Management events may include editing of page  231 , a change in who may access the page  231 , and/or access of the page  231  by a user.  
         [0035]    Thus, a framework has been described allowing a database  130  to control configuration of a whole network site  110 ,  210  where the network site  110 ,  210  may include multiple pages  231 . The framework allows configuration data  218  of all pages  231  of a network site  110 ,  210  to be changed without changing each page  231  of the network site  110 ,  210 . This is accomplished using a mechanism for inclusion (tag(s)  232 ) provided by the server  212 . Also, since each page on the network site  110 ,  210  has its own address, the server  112 ,  212  can perform security functions for the pages  231  of the network site  110 ,  210 , so that additional security functions do not have to be added to each page  231 .  
         [0036]    The method described above, with reference to FIG. 3, may be compiled into computer programs (e.g., software residing in network site  110 ,  210 ). These computer programs can exist in a variety of forms both active and inactive. For example, the computer program can exist as software comprised of program instructions or statements in source code, object code, executable code or other formats. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the computer program can be configured to access, including signals downloaded through the Internet or other networks.  
         [0037]    While this invention has been described in conjunction with the specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. These changes and others may be made without departing from the spirit and scope of the invention.