WO2001075673A2 - Method for developing and maintaining content for websites - Google Patents

Method for developing and maintaining content for websites Download PDF

Info

Publication number
WO2001075673A2
WO2001075673A2 PCT/US2001/010244 US0110244W WO0175673A2 WO 2001075673 A2 WO2001075673 A2 WO 2001075673A2 US 0110244 W US0110244 W US 0110244W WO 0175673 A2 WO0175673 A2 WO 0175673A2
Authority
WO
WIPO (PCT)
Prior art keywords
level
web page
dynamic tag
level object
recited
Prior art date
Application number
PCT/US2001/010244
Other languages
French (fr)
Other versions
WO2001075673A3 (en
Inventor
Virgil Bistriceanu
Matthew Minogue
Justin Knowlden
Original Assignee
Mypoints.Com, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mypoints.Com, Inc. filed Critical Mypoints.Com, Inc.
Priority to AU2001251135A priority Critical patent/AU2001251135A1/en
Publication of WO2001075673A2 publication Critical patent/WO2001075673A2/en
Publication of WO2001075673A3 publication Critical patent/WO2001075673A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Definitions

  • the present invention is generally related to software engineering for computer networks.
  • the present invention relates to methods for simplifying the design, implementation and maintenance of website software and content.
  • the site source code is checked out from a software repository.
  • the source code is then modified as to reflect the content change.
  • the source code is then re-compiled. Once these steps are complete, the source code can be checked back into the repository.
  • This multi-step process has certain drawbacks when used for website development. Arguable the most significant of these is the need for skilled software engineers to oversee the process. This is true even where the change is limited largely or completely to content, without any change to website function.
  • the multi-step process is also relatively inflexible and not ideally suited for piecemeal changes.
  • each web page within a website is defined as a top-level object.
  • Each top-level object may be recursively defined in terms of lower-level objects.
  • the top-level and lower-level objects for the entire website are preferably stored in a database.
  • Each object is a snippet of HTML code and corresponds to a particular entity such as a header, navigation bar, content or footer.
  • Objects may contain dynamic tags. Each dynamic tag is a placeholder for a particular value. In some cases, dynamic tags are placeholders for per-user data
  • Dynamic tags can also be placeholders for other objects.
  • the software for the website includes a parser. The parser is invoked each time a web page is requested. Once invoked, the parser recursively parses the top-level object for the requested web page as well as all included lower level objects. As the parser processes each object, it replaces each instance of a dynamic tag with the tag's corresponding value.
  • an embodiment of the present invention includes a method for providing web pages, the method comprising the steps of: defining each web page as a corresponding object hierarchy, receiving a request for a specified web page, recursively parsing the corresponding object hierarchy to construct the specified web page; and returning the constructed web page.
  • Figure 1 is a block diagram of a computer network shown as an exemplary environment for an embodiment of the present invention.
  • Figure 2 is a block diagram of a computer or terminal as used in the network of Figure 1.
  • Figure 4 is a block diagram showing the components of a sample web page.
  • Figure 3 is a block diagram showing an object hierarchy that corresponds to the sample web page of Figure 3.
  • a computer network 100 is shown as a representative environment for an embodiment of the present invention.
  • Computer network 100 is intended to be representative of the complete spectrum of computer network types including Internet and internet-like networks.
  • Computer network 100 includes a number of computers, of which computers 102a through 102e are representative.
  • Computers 102 are intended to be representative of the entire spectrum of devices that may be interconnected in computer networks.
  • Computers 102 may also be television set top boxes, such as the WebTV system.
  • Computers 102 may also be handheld devices such as personal data assistants or cellular telephones. Numerous other consumer devices are also possible.
  • FIG. 2 shows a representative implementation for computers 102.
  • each computer 102 includes a processor, or processors 202, and a memory 204.
  • Processor 202 can be selected from a wide range of commercially available or custom types.
  • An input device 206 and an output device 208 are connected to processor 202 and memory 204.
  • Input device 206 and output device 208 represent all types of I/O devices such as disk drives, keyboards, modems, network adapters, printers and displays.
  • Each computer 102 may also includes a disk drive 210 of any suitable disk drive type (equivalently, disk drive 210 may be any non-volatile mass storage system such as "flash" memory).
  • An embodiment of the present invention provides an object-oriented method for developing and maintaining content for websites.
  • memory 204 includes a web server program 212, a parser program 214 and a database 216.
  • Web server program 212 accepts requests for web pages from users of network 100.
  • Web server program 212 responds to these requests by invoking parser program 214 to construct appropriate web pages using database 216.
  • FIG. 2 shows web server program 212, parser program 214 and database 216 as separate entities. This particular configuration is intended to be representative in nature and other configurations are equally practical. Parser program 214 may be, for example, part of web server program 212. Parser program 214 may also be part of the software associated with database 216 or part of a middle tier (application server) positioned between web server program 212 and database 216.
  • middle tier application server
  • Figure 2 also shows web server program 212, parser program 214 and database 216 to be resident in memory 204. It should be understood that web server program 212, parser program 214 and database 216 may be fully or partially resident in memory 204. Under certain circumstances, for example web server program 212, parser program 214 and database 216 may be fully or partially located on disk drive 210. Web server program 212, parser program 214 and database 216 may also be remotely located on two or more computers 102.
  • Web page 300 includes a navigation bar 302, an image 304, a footer 306 and a welcome banner 308.
  • Navigation bar 302 is subdivided into buttons
  • each web page i.e., each entity that has it's own URL
  • each top-level object is recursively defined in terms of zero or more lower-level objects.
  • the top-level object includes lower-level objects for navigation bar 302, image 304, footer 306 and welcome banner 308.
  • Each lower-level object may also be recursively defined in terms of still lower-level objects. This is true for navigation bar 302 which is defined in terms of buttons 310a through 310e.
  • Footer 306 is also defined in terms of lower-level objects (buttons 312a and 312b). The deconstruction of objects into lower-level objects is subject to infinite variation.
  • a hierarchy of objects corresponding to web page 300 is shown in Figure 4.
  • Each object i.e., each top-level object and each lower-level object
  • the HTML code for each object may include any number of dynamic tags.
  • Each dynamic tag is a placeholder for a particular value and gets replaced by that value during page construction.
  • dynamic tags can be used to represent a range of different values.
  • database 216 includes personal information describing users. This type of information would be available, for instance, in cases where users subscribe to particular websites or services.
  • dynamic tags can be used to represent particular pieces of personal information. The following example shows how objects can be used to build page 300:
  • the dynamic tag ⁇ _getFirstAndLastName _> represents the user's name (in this hypothetical case "John Q. Public") and is replaced by parser program 214 each time web page 300 is constructed.
  • welcome banner 308 would be appear differently if the user was "Jane Doe” or "Joe Smith”.
  • the specific type of information stored for each user, and the range of dynamic tags used to display personal information is entirely dependent on the particular embodiment of web server program 212, parser program 214 and database 216. Typical examples include names, addresses, phone numbers, account balances and other personal data.
  • Dynamic tags can also implement personal link counters (i.e., how many times has this user visited this page). Dynamic tags can also be used to award points associated with web page usage. A points system is described in detail in U.S.
  • personal information implies that web server program 212, parser program 214 and database 216 have the ability to recognize individual users. This can be accomplished using several methods. For one method, identity information is extracted from cookies supplied by the users' browser programs. For another method, users explicitly identify themselves by logging in.
  • Dynamic tags can also be used to include objects within other objects.
  • the top level object for web page 300 could include dynamic tags for the lower level objects representing navigation bar 302, image 304 and footer 306.
  • the lower-level object for navigation bar 302 could include dynamic tags for the objects representing buttons 310a through 310e for home, next, previous, last and first operations.
  • Footer 304 could include dynamic tags for the objects representing buttons 312a and 312b.
  • the dynamic tag ⁇ _ parseObject footer.global _> tells the parser to include (recursively) another object.
  • the argument following parseObject tells the parser which object to include (in this case footer.global).
  • Each top-level and lower-level object is preferably stored in database 216.
  • parser program 214 receives a request for a web page (i.e., receives a request for a specific URL) it retrieves the corresponding top-level object from database 216. Starting with that top-level object, parser program 214 begins a recursive parsing process to render the requested web page. During this process, parser program 214 replaces each instance of a dynamic tag with its corresponding value. For dynamic tags representing personal values, parser program 214 retrieves the corresponding information (e.g., first name, last name, address, account balance, etc.) from database 216.
  • information e.g., first name, last name, address, account balance, etc.
  • parser program 214 may consults appropriate resources (which may include database 216) to perform the appropriate resolution. Dynamic tags that correspond to other lower-level objects cause parser program 214 to retrieve the corresponding lower-level objects from database 216. Parser program 214 then continues the recursive parsing process with the retrieved objects. In this way, the preferred parsing method resembles a depth first traversal of the top-level and lower-level objects that are included in the requested web page. It should be appreciated, however, that the depth first search order is preferred but not required. Other search orders are also possible. Objects in database 216 may be configured and maintained using a range of methods. For one embodiment, objects in database 216 are maintained using a database maintenance interface.
  • the maintenance interface controls the way in which users access the top-level and lower-level objects in database 216. All objects are normally provided to users on a read-only basis. To modify a particular object, a user locks the object using the maintenance interface. The maintenance interface then provides the user with read/write access to the object. This prevents simultaneous conflicting modifications to the same object by different users.
  • the maintenance interface is preferably configured to maintain revision control information for each object.
  • the revision control information tracks the change history of each object — showing how each object has been modified and which user made the modification.
  • the maintenance interface is preferably configured support building and preview of both top- level and lower-level objects. This allows developers to see the results of any modifications they have made.
  • the method of the present invention effectively minimizes the need for technically skilled software developers.
  • software development is limited to the creation of modification of dynamic tags (i.e. to creating or modifying the software that retrieves from database 216 user-specific information or performs actions in database 216 related to user's actions on the web site).
  • Content developers are free to build content that includes dynamic tags without ever having to be concerned with the details of the tags' implementations. In this way, the roles of software developer and content developer are largely separated.

Abstract

An object-oriented method for developing and maintaining content for websites is provided. For a representative embodiment, each web page within a website is defined using a hierarchy of objects. Each object is a snippet of HTML code and corresponds to a particular entity such as a header, navigation bar, content or footer. Objects may contain dynamic tags. Tags may be used to include per-user data. Dynamic tags may also be used to include other objects. The parser constructs web pages by recursively parsing the object from which they are constructed. The parser replaces dynamic tags with appropriate values during the recursive parsing process.

Description

METHOD FOR DEVELOPING AND MAINTAINING
CONTENT FOR WEBSITES
Field Of The Invention The present invention is generally related to software engineering for computer networks.
More specifically, the present invention relates to methods for simplifying the design, implementation and maintenance of website software and content.
Background Of The Invention
Techniques for making software simple to design and maintain are important to any software development process. This is especially true where software is being developed for use as part of a website. Projects of this type tend to be highly artistic, creative and content driven. Website development can also be somewhat informal and is often performed by a mixture of technical and non-technical contributors.
In most cases, changing website content requires a multi-step process. First the site source code is checked out from a software repository. The source code is then modified as to reflect the content change. When required, the source code is then re-compiled. Once these steps are complete, the source code can be checked back into the repository.
This multi-step process has certain drawbacks when used for website development. Arguable the most significant of these is the need for skilled software engineers to oversee the process. This is true even where the change is limited largely or completely to content, without any change to website function. The multi-step process is also relatively inflexible and not ideally suited for piecemeal changes.
For these and other reasons, a need exists for new methods for managing website content. It is important that these methods allow website content to be developed and changed without assistance from software engineers. This need is particularly relevant where website content is subject to frequent or on-going change. It is an object of the present invention to provide a method that addresses these needs.
Summary Of The Invention
An embodiment of the present invention provides a method for developing and maintaining content for websites. For a representative embodiment, each web page within a website is defined as a top-level object. Each top-level object may be recursively defined in terms of lower-level objects. The top-level and lower-level objects for the entire website are preferably stored in a database. Each object is a snippet of HTML code and corresponds to a particular entity such as a header, navigation bar, content or footer. Objects may contain dynamic tags. Each dynamic tag is a placeholder for a particular value. In some cases, dynamic tags are placeholders for per-user data
(such as a user's name or address). Dynamic tags can also be placeholders for other objects. The software for the website includes a parser. The parser is invoked each time a web page is requested. Once invoked, the parser recursively parses the top-level object for the requested web page as well as all included lower level objects. As the parser processes each object, it replaces each instance of a dynamic tag with the tag's corresponding value.
Stated differently, an embodiment of the present invention includes a method for providing web pages, the method comprising the steps of: defining each web page as a corresponding object hierarchy, receiving a request for a specified web page, recursively parsing the corresponding object hierarchy to construct the specified web page; and returning the constructed web page.
Advantages of the invention will be set forth, in part, in the description that follows and, in part, will be understood by those skilled in the art from the description herein. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents.
Brief Description Of The Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Figure 1 is a block diagram of a computer network shown as an exemplary environment for an embodiment of the present invention.
Figure 2 is a block diagram of a computer or terminal as used in the network of Figure 1.
Figure 4 is a block diagram showing the components of a sample web page. Figure 3 is a block diagram showing an object hierarchy that corresponds to the sample web page of Figure 3.
Detailed Description Of The Preferred Embodiments
Reference will now be made in detail to preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same of like parts.
In Figure 1, a computer network 100 is shown as a representative environment for an embodiment of the present invention. Computer network 100 is intended to be representative of the complete spectrum of computer network types including Internet and internet-like networks.
Computer network 100 includes a number of computers, of which computers 102a through 102e are representative. Computers 102 are intended to be representative of the entire spectrum of devices that may be interconnected in computer networks. Computers 102 may also be television set top boxes, such as the WebTV system. Computers 102 may also be handheld devices such as personal data assistants or cellular telephones. Numerous other consumer devices are also possible.
Figure 2 shows a representative implementation for computers 102. Structurally, each computer 102 includes a processor, or processors 202, and a memory 204. Processor 202 can be selected from a wide range of commercially available or custom types. An input device 206 and an output device 208 are connected to processor 202 and memory 204. Input device 206 and output device 208 represent all types of I/O devices such as disk drives, keyboards, modems, network adapters, printers and displays. Each computer 102 may also includes a disk drive 210 of any suitable disk drive type (equivalently, disk drive 210 may be any non-volatile mass storage system such as "flash" memory). An embodiment of the present invention provides an object-oriented method for developing and maintaining content for websites. For the purposes of illustration, it is assumed that one of computer systems 102 is a web server and has been configured to use the method of the present invention. For that computer system 102, memory 204 includes a web server program 212, a parser program 214 and a database 216. Web server program 212 accepts requests for web pages from users of network 100. Web server program 212 responds to these requests by invoking parser program 214 to construct appropriate web pages using database 216.
Figure 2 shows web server program 212, parser program 214 and database 216 as separate entities. This particular configuration is intended to be representative in nature and other configurations are equally practical. Parser program 214 may be, for example, part of web server program 212. Parser program 214 may also be part of the software associated with database 216 or part of a middle tier (application server) positioned between web server program 212 and database 216.
Figure 2 also shows web server program 212, parser program 214 and database 216 to be resident in memory 204. It should be understood that web server program 212, parser program 214 and database 216 may be fully or partially resident in memory 204. Under certain circumstances, for example web server program 212, parser program 214 and database 216 may be fully or partially located on disk drive 210. Web server program 212, parser program 214 and database 216 may also be remotely located on two or more computers 102.
Construction of web pages by parser program 214 is better understood in terms of the simplified, representative web page 300 of Figure 3. Web page 300 includes a navigation bar 302, an image 304, a footer 306 and a welcome banner 308. Navigation bar 302 is subdivided into buttons
310a through 310e for home, next, previous, last and first operations. Footer 304 is subdivided into button 312a showing a current page number and button 312b showing a copyright information operation. Within database 216, each web page (i.e., each entity that has it's own URL) is stored as a top-level object. Each top-level object is recursively defined in terms of zero or more lower-level objects. In the case of web page 300, the top-level object includes lower-level objects for navigation bar 302, image 304, footer 306 and welcome banner 308. Each lower-level object may also be recursively defined in terms of still lower-level objects. This is true for navigation bar 302 which is defined in terms of buttons 310a through 310e. Footer 306 is also defined in terms of lower-level objects (buttons 312a and 312b). The deconstruction of objects into lower-level objects is subject to infinite variation.
A hierarchy of objects corresponding to web page 300 is shown in Figure 4.
Each object (i.e., each top-level object and each lower-level object) is composed of a snippet of HTML code. The HTML code for each object may include any number of dynamic tags. Each dynamic tag is a placeholder for a particular value and gets replaced by that value during page construction. Depending on the particular embodiment, dynamic tags can be used to represent a range of different values. For one such embodiment, database 216 includes personal information describing users. This type of information would be available, for instance, in cases where users subscribe to particular websites or services. For this type of embodiment, dynamic tags can be used to represent particular pieces of personal information. The following example shows how objects can be used to build page 300:
<HTML> <HEAD> <TITLE>Sample usage of dynamic tags</TITLE>
</HEAD> <BODY> <_ parseObject header.global _> Welcome, <__ getFirstAndLastName _> <_ parseObject mainPage.global _>
<_ parseObject footer.global _> </BODY> </HTML>
Within this object, the dynamic tag <_getFirstAndLastName _> represents the user's name (in this hypothetical case "John Q. Public") and is replaced by parser program 214 each time web page 300 is constructed. Thus, welcome banner 308 would be appear differently if the user was "Jane Doe" or "Joe Smith". The specific type of information stored for each user, and the range of dynamic tags used to display personal information, is entirely dependent on the particular embodiment of web server program 212, parser program 214 and database 216. Typical examples include names, addresses, phone numbers, account balances and other personal data. Dynamic tags can also implement personal link counters (i.e., how many times has this user visited this page). Dynamic tags can also be used to award points associated with web page usage. A points system is described in detail in U.S.
Application No. 09/602,168 filed June 22, 2000, entitled "Reward-based Model for ISP Service" That disclosure is incorporated in this document by reference.
The use of personal information implies that web server program 212, parser program 214 and database 216 have the ability to recognize individual users. This can be accomplished using several methods. For one method, identity information is extracted from cookies supplied by the users' browser programs. For another method, users explicitly identify themselves by logging in.
Dynamic tags can also be used to include objects within other objects. Thus, the top level object for web page 300 could include dynamic tags for the lower level objects representing navigation bar 302, image 304 and footer 306. The lower-level object for navigation bar 302 could include dynamic tags for the objects representing buttons 310a through 310e for home, next, previous, last and first operations. Footer 304 could include dynamic tags for the objects representing buttons 312a and 312b. In the sample code fragment shown above, the dynamic tag <_ parseObject footer.global _> tells the parser to include (recursively) another object. The argument following parseObject tells the parser which object to include (in this case footer.global).
Each top-level and lower-level object is preferably stored in database 216. When parser program 214 receives a request for a web page (i.e., receives a request for a specific URL) it retrieves the corresponding top-level object from database 216. Starting with that top-level object, parser program 214 begins a recursive parsing process to render the requested web page. During this process, parser program 214 replaces each instance of a dynamic tag with its corresponding value. For dynamic tags representing personal values, parser program 214 retrieves the corresponding information (e.g., first name, last name, address, account balance, etc.) from database 216. For other dynamic tags, parser program 214 may consults appropriate resources (which may include database 216) to perform the appropriate resolution. Dynamic tags that correspond to other lower-level objects cause parser program 214 to retrieve the corresponding lower-level objects from database 216. Parser program 214 then continues the recursive parsing process with the retrieved objects. In this way, the preferred parsing method resembles a depth first traversal of the top-level and lower-level objects that are included in the requested web page. It should be appreciated, however, that the depth first search order is preferred but not required. Other search orders are also possible. Objects in database 216 may be configured and maintained using a range of methods. For one embodiment, objects in database 216 are maintained using a database maintenance interface. The maintenance interface controls the way in which users access the top-level and lower-level objects in database 216. All objects are normally provided to users on a read-only basis. To modify a particular object, a user locks the object using the maintenance interface. The maintenance interface then provides the user with read/write access to the object. This prevents simultaneous conflicting modifications to the same object by different users.
The maintenance interface is preferably configured to maintain revision control information for each object. The revision control information tracks the change history of each object — showing how each object has been modified and which user made the modification.
The maintenance interface is preferably configured support building and preview of both top- level and lower-level objects. This allows developers to see the results of any modifications they have made.
The method of the present invention effectively minimizes the need for technically skilled software developers. In practice, software development is limited to the creation of modification of dynamic tags (i.e. to creating or modifying the software that retrieves from database 216 user-specific information or performs actions in database 216 related to user's actions on the web site). Content developers, on the other hand, are free to build content that includes dynamic tags without ever having to be concerned with the details of the tags' implementations. In this way, the roles of software developer and content developer are largely separated.
Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope of the invention being indicated by the following claims and equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method for providing a web page, the method comprising the steps of: receiving a request for the web page; retrieving a top-level object associated with the web page; parsing the top-level object to construct the web page; returning the constructed web page.
2. A method as recited in claim 1 that further comprises the steps of: retrieving a lower-level object included in the top-level object; and parsing the lower-level object to construct the web page.
3. A method as recited in claim 2 that further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; retrieving per-user information corresponding to dynamic tag; and inserting the per-user information in place of the dynamic tag in the top-level or lower-level object.
4. A method as recited in claim 3 that further comprises the step of identifying the user using a cookie supplied by the user's browser.
5. A method as recited in claim 2 that further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to the lower-level object; and inserting the lower-level object in place of the dynamic tag in the top-level object.
6. A method as recited in claim 2 that further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to a second lower-level object; and inserting the second lower-level object in place of the dynamic tag in the top-level or lower-level object.
7. A method for providing web pages, the method comprising the steps of: defining each web page as a corresponding object hierarchy; receiving a request for a specified web page; recursively parsing the corresponding object hierarchy to construct the specified web page; and returning the constructed web page.
8. A method as recited in claim 7 wherein each object is a snippet of HTML code.
9. A method as recited in claim 7 wherein each object may include one or more dynamic tags, each dynamic tag corresponding to a particular piece of per-user information, and wherein the step of recursively parsing the object hierarchy further comprises the step of replacing each dynamic tag with its corresponding per-user information.
10. A method as recited in claim 7 wherein each object may include one or more dynamic tags, each dynamic tag acting as a link to a lower-level object, and wherein the step of recursively parsing the object hierarchy further comprises the step of replacing each dynamic tag with the corresponding lower-level object.
11. A data storage medium having machine-readable code stored thereon, the machine-readable code comprising instructions executable by an array of logic elements, the instructions defining a method for providing a web page, the method comprising: receiving a request for the web page; retrieving a top-level object associated with the web page; parsing the top-level object to construct the web page; returning the constructed web page.
12. A data storage medium as recited in claim 11 wherein the method further comprises the steps of: retrieving a lower-level object included in the top-level object; and parsing the lower-level object to construct the web page.
13. A data storage medium as recited in claim 12 wherein the method further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; retrieving per-user information corresponding to dynamic tag; and inserting the per-user information in place of the dynamic tag in the top-level or lower-level object.
14. A data storage medium as recited in claim 13 that further comprises the step of identifying the user using a cookie supplied by the user's browser.
15. A data storage medium as recited in claim 12 wherein the method further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to the lower-level object; and inserting the lower-level object in place of the dynamic tag in the top-level object.
16. A data storage medium as recited in claim 12 wherein the method further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to a second lower-level object; and inserting the second lower-level object in place of the dynamic tag in the top-level or lower-level object.
17. A system for providing a web page, comprising: a memory device; and a processor in communication with said memory device, said processor configured to perform a method that comprises the steps of: receiving a request for the web page; retrieving a top-level object associated with the web page; parsing the top-level object to construct the web page; returning the constructed web page.
18. A system as recited in claim 17 that further comprises the step of identifying the user using a cookie supplied by the user's browser.
19. A system as recited in claim 17 wherein the method further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to the lower-level object; and inserting the lower-level object in place of the dynamic tag in the top-level object.
20. A system as recited in claim 17 wherein the method further comprises the steps of: detecting a dynamic tag in the top-level or lower-level objects; using the dynamic tag as a link to a second lower-level object; and inserting the second lower-level object in place of the dynamic tag in the top-level or lower-level object.
21. A system for providing a web page that comprises: means for receiving a request for the web page; means for retrieving a top-level object associated with the web page; means for parsing the top-level object to construct the web page; means for returning the constructed web page.
22. A system as recited in claim 21 that further comprises: means for retrieving a lower-level object included in the top-level object; and means for parsing the lower-level object to construct the web page.
23. A system as recited in claim 22 that further comprises: means for detecting a dynamic tag in the top-level or lower-level objects; means for retrieving per-user information corresponding to dynamic tag; and means for inserting the per-user information in place of the dynamic tag in the top- level or lower-level object.
24. A system as recited in claim 23 that further comprises means for identifying the user using a cookie supplied by the user's browser.
25. A system as recited in claim 22 that further comprises: means for detecting a dynamic tag in the top-level or lower-level objects; means for using the dynamic tag as a link to the lower-level object; and means for inserting the lower-level object in place of the dynamic tag in the top-level object.
26. A system as recited in claim 22 that further comprises: means for detecting a dynamic tag in the top-level or lower-level objects; means for using the dynamic tag as a link to a second lower-level object; and means for inserting the second lower-level object in place of the dynamic tag in the top-level or lower-level object.
PCT/US2001/010244 2000-03-31 2001-03-30 Method for developing and maintaining content for websites WO2001075673A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001251135A AU2001251135A1 (en) 2000-03-31 2001-03-30 Method for developing and maintaining content for websites

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54024400A 2000-03-31 2000-03-31
US09/540,244 2000-03-31

Publications (2)

Publication Number Publication Date
WO2001075673A2 true WO2001075673A2 (en) 2001-10-11
WO2001075673A3 WO2001075673A3 (en) 2003-12-04

Family

ID=24154612

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/010244 WO2001075673A2 (en) 2000-03-31 2001-03-30 Method for developing and maintaining content for websites

Country Status (2)

Country Link
AU (1) AU2001251135A1 (en)
WO (1) WO2001075673A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020667B2 (en) 2002-07-18 2006-03-28 International Business Machines Corporation System and method for data retrieval and collection in a structured format
CN1307545C (en) * 2002-12-24 2007-03-28 鸿富锦精密工业(深圳)有限公司 Object oriented business website erection system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997015018A1 (en) * 1995-10-16 1997-04-24 Bell Communications Research, Inc. Method and system for providing uniform access to heterogeneous information
WO1998021671A1 (en) * 1996-11-14 1998-05-22 Triteal Corporation Distributed document processing through an object request broker and a receptionist object
WO1999008182A1 (en) * 1997-08-05 1999-02-18 Lutris Technologies, Inc. Method and apparatus for static and dynamic generation of information on a user interface
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997015018A1 (en) * 1995-10-16 1997-04-24 Bell Communications Research, Inc. Method and system for providing uniform access to heterogeneous information
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
WO1998021671A1 (en) * 1996-11-14 1998-05-22 Triteal Corporation Distributed document processing through an object request broker and a receptionist object
WO1999008182A1 (en) * 1997-08-05 1999-02-18 Lutris Technologies, Inc. Method and apparatus for static and dynamic generation of information on a user interface

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHALLENGER J ET AL: "A publishing system for efficiently creating dynamic Web content" INFOCOM 2000. NINETEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. PROCEEDINGS. IEEE TEL AVIV, ISRAEL 26-30 MARCH 2000, PISCATAWAY, NJ, USA,IEEE, US, 26 March 2000 (2000-03-26), pages 844-853, XP010376174 ISBN: 0-7803-5880-5 *
HENRY E: "A LOOK INSIDE JAVASERVER PAGES" WEB TECHNIQUES, MILLER FREEMAN, US, vol. 4, no. 11, November 1999 (1999-11), pages 71-74,76, XP001098229 ISSN: 1086-556X *
KITAYAMA F ET AL: "Design of a framework for dynamic content adaptation to Web-enabled terminals and enterprise applications" SOFTWARE ENGINEERING CONFERENCE, 1999. (APSEC '99). PROCEEDINGS. SIXTH ASIA PACIFIC TAKAMATSU, JAPAN 7-10 DEC. 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 7 December 1999 (1999-12-07), pages 72-79, XP010363911 ISBN: 0-7695-0509-0 *
WEIGUANG SHAO ET AL: "An agent architecture for supporting individualized services in Internet applications" TOOLS WITH ARTIFICIAL INTELLIGENCE, 1998. PROCEEDINGS. TENTH IEEE INTERNATIONAL CONFERENCE ON TAIPEI, TAIWAN 10-12 NOV. 1998, PISCATAWAY, NJ, USA,IEEE, US, 10 November 1998 (1998-11-10), pages 140-147, XP010319851 ISBN: 0-7803-5214-9 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020667B2 (en) 2002-07-18 2006-03-28 International Business Machines Corporation System and method for data retrieval and collection in a structured format
CN1307545C (en) * 2002-12-24 2007-03-28 鸿富锦精密工业(深圳)有限公司 Object oriented business website erection system

Also Published As

Publication number Publication date
WO2001075673A3 (en) 2003-12-04
AU2001251135A1 (en) 2001-10-15

Similar Documents

Publication Publication Date Title
KR100900743B1 (en) Data sharing system, method and software tool
US7856601B2 (en) Dynamic service presentation
US6961750B1 (en) Server-side control objects for processing client-side user interface elements
US7873668B2 (en) Application data binding
US20060020883A1 (en) Web page personalization
CA2676697C (en) Method and apparatus for providing information content for display on a client device
US7716591B2 (en) System and method for dynamically generating a web page
US7415524B2 (en) Postback input handling by server-side control objects
US6429880B2 (en) Method and apparatus for binding user interface objects to application objects
CN101211364B (en) Method and system for social bookmarking of resources exposed in web pages
US20030005159A1 (en) Method and system for generating and serving multilingual web pages
US20020042831A1 (en) System and method for building applications that adapt for multiple device and protocol standards
JPH11514769A (en) Embedded web server
US8407598B2 (en) Dynamic web control generation facilitator
US20040064822A1 (en) Web server having function of Java servlet, method for updating Java program and computer program
US10572278B2 (en) Smart controls for user interface design and implementation
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
JP2004164623A (en) Device, system, method, and program for generating display data and storage medium
EP1204030A1 (en) Extending hypermedia documents by adding tagged attributes
KR101154717B1 (en) A method and apparatus for managing multiple languages in a data language
US7831905B1 (en) Method and system for creating and providing web-based documents to information devices
WO2001075673A2 (en) Method for developing and maintaining content for websites
WO2002060558A2 (en) Systeme and method for dynamic web page generation
WO2001075597A2 (en) Efficient user interface for setting application program user preferences
JP2004326740A (en) Web page creation apparatus, inclusion apparatus, web page creation system, control method of web page creation, web page creation program and recording medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP