With web pages growing more sophisticated over the years, embedding objects such as URLs, images and video clips into web pages has become a common practice for web designers and content creators. It has been widely adopted by corporate websites and proven to be very effective for corporate websites for marketing, product introduction, and internal documentation purposes.
However, the traditional ways of providing a dynamic link to a stored object or pasting the object into a web page as a static content do not scale well with the size and complexity of modern corporate websites. The embedded objects are oftentimes maintained by other parties within the organization. Dynamically linking to an object from a web page, e.g., by including the in the web page a hypertext link to a URL associated with the stored object, may result in a “broken” link if the object is moved to a different storage location. On the other hand, pasting an object as static content may result in outdated content being included in a web page, e.g., if the included object as stored elsewhere is updated. Worse yet, an embedded may be moved and/or changes by a party unknown to the web designer. As a result, it takes significant overhead to fix broken links and/or update static content in a timely fashion, especially if a large number of web pages have to be maintained.
Therefore, an efficient way to update web pages when store objects included and/or linked to by them are moved and/or changed.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, and in which:
The invention can be implemented in numerous ways, including as a process, a system, a system, a composition of matter, 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. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. A component such as a processor or a memory described as being configured to perform a task includes both a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the 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 invention is not unnecessarily obscured.
Automatically updating a web page in which stored content stored content has been incorporated is disclosed. In some embodiments, if a content object stored in a repository or other location is changed, a web page in which the object has been incorporated is updated automatically. In some embodiments, a table is maintained, for example in a repository or other location in which incorporated and/or linked objects are stored, in which stored objects that have been incorporated into web pages are tracked. In some embodiments, the table and/or a separate table includes an identification of the web pages into which a stored object has been incorporated. In the event the object is changed, the table is used to automatically update with the new object content the web page(s), if any, into which the object that has been changed is incorporated. In some embodiments, a web page that includes a stored object could in turn itself be embedded in another web page, and all the nested web pages are updated automatically if the object is changed. In some embodiments, a web page is saved in an intermediate format (e.g., XML) first with a link to the stored object, and the object is incorporated as a static content only when the web page is published. Changing the store object will force all the web pages including it either directly or indirectly to be republished. In some embodiments the software system is implemented as an online tool that could be launched and run within a browser.
Using a managed identifier to provide a link to a stored content object in a manner that does not require a linking web page to be updated if a physical storage location of the stored object is changed is disclosed. In some embodiments, the physical location of a stored object that is embedded in a web page or another web page whose URL is included in a designed web page is tracked and the physical location is associated with a managed identifier so the linkage is not broken when the physical location is moved. In some embodiments, a table is created and automatically updated in a repository (or other storage in which a stored object is stored) to map the managed identifier to a current physical location of a stored object within the repository (or other storage). In some embodiments, when the physical location of a stored object is changed, all web pages that include a link to the object are republished automatically. In some embodiments, web pages reference the managed identifier and are not required to be updated when the object is moved. Instead, only the table is updated. When a link is selected, the table is consulted to identify the current location of the stored object with which a managed identifier included in and/or otherwise associated with the link is associated.
In some embodiments, a link to an object stored in repository 130 is included in a web page published to web server 140 by including in the web page a reference to a managed identifier associated with the stored object. Upon selection of such a link, e.g., by a user who has browsed to a web page in which the link is embedded, the managed link is used to determine a current location in repository 130 of the stored object, the object (e.g., a referenced web page) is retrieved, for example from repository 130 and/or web server 140, e.g., using a URL or other locator to which the managed identifier has been mapped, and returned to the user that selected the link. In some embodiments, the managed identifier remains the same even if the stored object is moved within repository 130 and/or on web server 140. As a result, even if numerous pages reference a stored object the location of the object only has to be update in one location, instead of in each occurrence in the numerous web pages.
In some alternative embodiments, when the web page is published (650) the managed identifier is replaced by a URL or other location identifier. In such embodiments, a table or other data structure, such as described above for incorporated stored objects, is used to update web pages that include links to a stored object that has been moved to a new location.
In some embodiments, a change in location (700) is treated as indicating a potential change in content and web pages into which the content of the stored object has been incorporated are republished automatically, to ensure any new/modified content is included.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5937160 | Davis et al. | Aug 1999 | A |
| 6092074 | Rodkin et al. | Jul 2000 | A |
| 6247032 | Bernardo et al. | Jun 2001 | B1 |
| 6343302 | Graham | Jan 2002 | B1 |
| 6557013 | Ziff et al. | Apr 2003 | B1 |
| 6560639 | Dan et al. | May 2003 | B1 |
| 6611835 | Huang et al. | Aug 2003 | B1 |
| 6750885 | Finch et al. | Jun 2004 | B1 |
| 6842782 | Malik et al. | Jan 2005 | B1 |
| 7143344 | Parker et al. | Nov 2006 | B2 |
| 7194469 | Dowd et al. | Mar 2007 | B1 |
| 7237002 | Estrada et al. | Jun 2007 | B1 |
| 7316003 | Dulepet et al. | Jan 2008 | B1 |
| 7401083 | Daemke et al. | Jul 2008 | B2 |
| 20020046244 | Bimson et al. | Apr 2002 | A1 |
| 20020046245 | Hillar et al. | Apr 2002 | A1 |
| 20020091725 | Skok | Jul 2002 | A1 |
| 20020140730 | Linsey et al. | Oct 2002 | A1 |
| 20020184255 | Edd et al. | Dec 2002 | A1 |
| 20030023632 | Ries et al. | Jan 2003 | A1 |
| 20030028801 | Liberman et al. | Feb 2003 | A1 |
| 20030074634 | Emmelmann | Apr 2003 | A1 |
| 20030101255 | Green | May 2003 | A1 |
| 20030163519 | Kegel et al. | Aug 2003 | A1 |
| 20030196171 | Distefano, III | Oct 2003 | A1 |
| 20030204811 | Dam et al. | Oct 2003 | A1 |
| 20040006747 | Tyler | Jan 2004 | A1 |
| 20040019634 | Van Geldern et al. | Jan 2004 | A1 |
| 20040148318 | Taylor et al. | Jul 2004 | A1 |
| 20040148576 | Matveyenko et al. | Jul 2004 | A1 |
| 20040205529 | Poulose et al. | Oct 2004 | A1 |
| 20040205659 | Barry et al. | Oct 2004 | A1 |
| 20040215719 | Altshuler | Oct 2004 | A1 |
| 20040217985 | Ries et al. | Nov 2004 | A9 |
| 20040225658 | Horber | Nov 2004 | A1 |
| 20050050462 | Whittle et al. | Mar 2005 | A1 |
| 20050108418 | Bedi et al. | May 2005 | A1 |
| 20050171947 | Gautestad | Aug 2005 | A1 |
| 20050229101 | Matveyenko et al. | Oct 2005 | A1 |
| 20050246627 | Sayed | Nov 2005 | A1 |
| 20050262427 | Cantwell et al. | Nov 2005 | A1 |
| 20060235984 | Kraus et al. | Oct 2006 | A1 |
| 20070162845 | Cave et al. | Jul 2007 | A1 |
| 20070208773 | Tsao | Sep 2007 | A1 |
| 20070209005 | Shaver et al. | Sep 2007 | A1 |
| 20070239726 | Weiss et al. | Oct 2007 | A1 |
| 20080010425 | Funk et al. | Jan 2008 | A1 |
| 20080040425 | Hines | Feb 2008 | A1 |
| 20080040661 | Curtis et al. | Feb 2008 | A1 |