The present invention generally relates to association of web page resources and data with web page presentation. More particularly, the present invention relates to synchronously publishing a web page and corresponding web page resources.
With the advent of the computer age, computer and software users have grown accustomed to user-friendly software applications that help them write, calculate, organize, prepare presentations, send and receive electronic mail, make music, and the like. For example, modem electronic word processing applications allow users to prepare a variety of useful documents. Modem spreadsheet applications allow users to enter, manipulate, and organize data. Modem electronic slide presentation applications allow users to create a variety of slide presentations containing text, pictures, data or other useful objects. Internet and intranet browsing applications allow users to navigate to a variety of useful pages for viewing or interacting with information on numerous topics.
Typical Internet web pages often include information such as text, images, music and the like associated with one or more topics. In addition, many web pages include links to various resources either contained on the same web page as a given link or contained on a different web page. Selection of a given link causes the user's web browsing application to locate and display or otherwise execute the resource associated with the selected link. Images, links to documents and files, as well as links to other pages, are all presented in one screen in a user's web browsing application. And, the web page often retrieves these various forms of information from multiple logical locations on a web server.
When a web page comprised of these remote elements is published and is accessible by web browsing applications, the web page becomes dependent upon these resources. If the resources are deleted, moved, altered, taken offline for editing, or otherwise made unavailable or inaccessible by the web page, the web page will suffer either by rendering broken links or broken image and/or text regions on the page.
Accordingly, there is a need for methods and systems for improving association of web page resources and data with web page presentation. There is further a need for synchronously publishing a web page and its corresponding resources. It is with respect to these and under considerations that the present invention has been made.
Embodiments of the present invention solve the above and other problems by providing improved maintenance of the association of web page resources with corresponding regions and links in a web page. According to one embodiment of the present invention, resources such as images, documents, files and other web pages and associated resources, are tied to or bound to a parent web page. When the parent web page is published or made available for access by browsing applications, all dependent items are also published. When the web page is unpublished or made unavailable for access by browsing applications, then all dependent items are also unpublished. When a page is reverted to a prior published version, then all dependent items are also reverted to a prior published version that matches the version presented in the parent web page at the prior time. When the parent page is deployed or copied from an authoring web server or web server cluster to a production web server or web server cluster, where web pages on the production server are accessible by a larger audience, all dependent items are also deployed or copied to the production web server or web server cluster. Dependent items may be “locked” for use by the parent web page. This prevents the dependent items from being moved, deleted, or edited outside of the authoring of the parent page.
According to another embodiment, metadata associated with dependent resources or items that are associated with or linked to regions or links of a given web page are sourced as they are added to a parent web page. Thus, the metadata may be pulled directly into the appropriate region or link in the web page from the sourced dependent resource or item. Rather than a web page author having to type in a title, description, image or other data presented as the link or image on the web page, the author may optionally source the metadata of the target item on the parent page. According to one aspect of this embodiment, the author picks and chooses the metadata she wants from the target and uses it on her web page, and the author annotates her own metadata for excluding metadata the author does not want from the source item.
According to another embodiment, resources associated with or linked to regions or links of a web page are “impersonated” in the web page by placing a reference to each resource in the web page so that the reference behaves as if it is the actual target resource. Impersonating the reference in the web page by placing the reference to the resource in the web page provides for security of the target item, such as when a browsing party does not have rights to the target item. Placing the reference to the resource in the web page also provides for hiding target information associated with the reference from the web page if the target information has expired. Further, if a URL for the target information has changed, providing a reference to a target resource in the web page allows for automatic updating of the new URL to prevent link breakage.
These and other features and advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.
As briefly described above, embodiments of the present invention are directed to methods and systems for improving maintenance of the association of web page resources with corresponding regions and links in a web page. According to embodiments of the present invention, a model for creating dependencies between items in a web page and associated target resources is provided. Metadata associated with dependent items or resources associated with regions and/or links in a parent web page may be sourced by the parent web page. Additionally, embodiments of the present invention provide for placing a reference in a parent web page associated with a target resource for providing improved security of access to the target resource, maintenance of presentation of the target resource, and update of uniform resource locator (URL) information associated with target references.
These embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the spirit or scope of the present invention. The following detailed description is therefore not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents.
Referring now to the drawings, in which like numerals refer to like elements through the several figures, aspects of the present invention and an exemplary operating environment will be described.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Embodiments of the invention may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.
With reference to
The computing device 100 may have additional features or functionality. For example, computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in
Computing device 100 may also contain communication connections 116 that allow the device to communicate with other computing devices 118, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 116 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
A number of program modules and data files may be stored in the system memory 104 of the computing device 100, including an operating system 105 suitable for controlling the operation of a networked personal computer, such as the WINDOWS operating systems from MICROSOFT CORPORATION of Redmond, Wash. System memory 104 may also store one or more program modules, such as word processor application 120, and others described below. The web browsing application 120 is operative to provide functionality for viewing, editing, and processing electronic information via one or more Internet-based or other network-based web pages. In addition, as described herein, web page content is edited in a web page editing mode. Web page editing may be performed via an editing mode of the web browsing application 120, or via another suitable web page editing application or tool may be programmed for allowing editing of a web page via a drag and drop operation described herein. Other applications 106 that may be used in accordance with embodiments of the present invention include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.
Referring to
According to embodiments of the present invention, by creating dependencies between resource items and associated regions or links in the associated web page 200, when the web page 200 is published or made available for access by a browsing application, then all dependent items are also published. Thus, during the publication period, if a given dependent item (resource) is altered or otherwise affected, the presently published version of the parent web page remains in tact with all resource information “as published” when the parent web page was published. A page author can control whether these changes are allowed or not. Typically, if your page is associated with dependent resources, the page author will not want to allow anyone to alter those dependent resources. When the parent page is deployed or copied from an authoring web server or web server cluster to a production web server or web server cluster, where web pages on the production server are accessible by a larger audience, all dependent items are also deployed or copied to the production web server or web server cluster. Similarly, when the web page is unpublished or is made unavailable for access by a browsing application then all dependent items are also unpublished. Each published version of the parent web page and published dependent resources are stored in “as published” versions. Thus, when a web page 200 is reverted to a prior published version, then all dependent items are also reverted to a prior published version that matches the version presented in the parent page at the prior time.
According to one embodiment of the present invention, dependent items such as the image contained in the image library 310, the document contained in the document library 320, and the web page contained in the page library 330 may be locked by the parent web page 200 author/editor once they are tied to regions or links in the parent web page. Locking the dependent items prevents the dependent items from being moved, deleted, or edited outside the authoring of the parent web page 200. Thus, locking the dependent items or resources requires that edits to any of the locked items or resources must be made through edits to the web page 200.
Referring now to
According to another embodiment of the present invention, resources associated with or linked to regions of a web page are “impersonated” in the web page by placing a reference to each resource in the web page so that the reference behaves as if it is the actual target resource. According to this embodiment of the present invention, a model is provided for placing a reference to a file, page, link, image, and the like on the web page 200 and having that reference impersonate the actual remotely stored resource item. Each referenced resource is monitored to track the continued availability of the reference or changes associated with the resource, such as changes to the resource's URL because of a change in location of the resource. Such “impersonation” behavior by the reference placed in the web page allows for preventing selection of the reference for access to a corresponding resource if the resource is not available. Thus, confusion to users is avoided because the availability of the reference in the web page signals an availability of the actual target resource. If the reference is not published, or is otherwise hidden from view, the user will not select the reference only to be thwarted by a lack of availability or access to the actual resource.
For example, the reference may be hidden from the web page based on security associated with the actual target resource item. That is, if a user browsing to the web page does not have rights for accessing and reviewing the actual target resource item, the user will not see the reference in the web page. If the user does have rights to the resource, then the reference will be visible to the user, and the user may select the reference for accessing the desired resource. For another example, the reference to the actual resource may be hidden in the web page based on expiration of the associated actual target resource. If the target resource is set to expire on a certain day/time, once that day/time is reached, the reference to the actual target resource item on the web page disappears.
Additionally, the reference to the actual target resource item may receive an updated URL based on movement of the actual target resource item. For example, if the target resource item is moved from one location to a second location, all web pages referencing that resource item will automatically be updated to use the new URL. Accordingly, no links to these references will be broken based on movement of the target resource item. This will not only work for references from within a local site, but also for references across sites in a distributed computing environment.
As described herein, a method and system for synchronously publishing a web page and its corresponding resources is provided. According to embodiments of the present invention, images, documents, files, and pages may be bound or tied to a parent web page which allows these resources to follow the parent web page lead as to whether or not they may be browsed, whether or not they may be moved, deleted, or renamed, whether edits made to these resources are published, or whether changes are undone or reverted to a prior version. In addition, according to embodiments of the present invention, metadata associated with such resources may be sourced by a parent web page for maintaining up-to-date corresponding data in the parent web page. And, as described above, placing a reference in a given web page for impersonating an actual target resource item allows for automatically expiring references to items when an associated target resource item expires, automatically repairing link addresses on a parent web page when a target resource item is moved, and allows for representing the security of a target resource item in the parent web page so that only those with rights and privileges to view the target resource item may access the target resource item via the web page.
It will be apparent to those skilled in the art that various modifications or variations may be made in the present invention without departing from the scope or spirit of the invention. Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.