SYSTEM AND METHOD FOR FACILITATING AND CONTROLLING WEB SITE DEVELOPMENT
FIELD OF THE INVENTION The present application relates to the updating of web pages and in particular to the updating of web pages by entities other than the web site administrator.
BACKGROUND OF THE INVENTION
It has become common practice for the owner or administrator of a web site to allow the site to be developed through contributions from multiple external vendors. For example, the web site owner may want to describe of a range of product offerings from a variety of manufacturers. Each manufacturer may be allowed to independently contribute information and other content to the web site. Or, the web site may be in the nature of a news center wherein the web site owner may want to merge content contributions from multiple different external news sources such as the AP wire, journalists and broadcast feed. A difficulty with allowing multiple external vendor content contributions to be made a single web site is that the web site owner or administrator has to take additional steps, particularized to each external vendor, in order to adapt the content contributions so that they are suitable for integration into the single web site. An additional difficulty exists if the web site owner/administrator allows external vendors to independently access and alter the web site, in that areas maintained by the web site owner/administrator or content contributed by other external vendors may be disturbed. Yet a further difficulty exists in that if the web site owner/administrator does not carefully monitor content contributions from external vendors, the web site owner/administrator could lose control over the content, format and "look and feel" of the v/eb site.
Various systems and methods have been proposed for facilitating web site development. One such system is provided in U.S. Patent No. 5,911,145 to Arora et al. The system disclosed in Arora et al. is entirely controlled by the user contributing content to the web page. As described in Arora et al., a user accesses computer system 100 through input device 150. Structure editor software 120 is stored on computer system 100 and includes a portion 202 that creates and manages a hierarchy of pages and a portion 204 that publishes the pages.
U.S. Patent No. 5,945,989 to Freishtat et al. discloses a method and apparatus for adding and altering content on websites. The system enables users without programming
knowledge to create and modify web pages through interactive media. Through the use of the system, a user can modify his or her own web site using only the telephone. The components of the invention respond to telephonic indications to modify the web site.
U.S. Patent No. 6,026,433 to D'Arlach et al. discloses a method of creating and editing a web site in a client-server environment using customizable web templates. When a client computer generates a request to create or edit a web site, the server computer transmits a list of templates to the client for display. Each template includes customizable objects and elements.
Despite these developments, a need exists for a convenient web site development environment for multiple external vendors to integrate their content contributions into a single web site as well as a mechanism for the web site owner/administrator to control the content contributions by such external vendors.
SUMMARY OF THE INVENTION It is accordingly an object of the invention to provide a system and method for web site development in which a plurality of content contributions from a plurality of external vendors can be integrated into a single web site but one in which the web site owner/administrator can maintain control over the integration of such content contributions into the web site. A further object of the invention is to allow web site development to occur in an environment that emulates the ultimate production environment.
Yet a further object of the invention is to provide a system and method for testing web site development content contributions prior to publishing them to the publication environment. To achieve the foregoing objects, and in accordance with the purpose of the invention as embodied and broadly described herein, there is provided a system for enabling a plurality of external vendors to contribute content to a web site while controlling the plurality of external vendor content contributions within a master environment. The master environment includes a controlled development environment, an integration environment, a staging environment, and a production environment. The system comprises the controlled development environment for enabling web site development by at least one external vendor; a development repository within the integration environment for receiving the plurality of external vendor web site content
contributions; the staging environment within the master environment for testing the plurality of external vendor web site content contributions; and the production environment of the master environment for receiving the plurality of external vendor web site content contributions transmitted from the staging environment following successful testing of the external vendor content contributions in the staging environment.
In another aspect of the invention, a method is provided for enabling a plurality of external vendors to contribute content to a web site while controlling the plurality of vendor content contributions within a master environment. The master environment including a controlled development environment, an integration environment, a staging environment, and a production environment. The method comprises the steps of providing the controlled development environment for access by at least one external vendor; receiving the plurality of external vendor content contributions in a development repository within the integration environment; testing the plurality of external vendor content contributions within the staging environment of the master environment; and publishing the plurality of external content vendor contributions to the production environment of the master environment following successful testing of the external vendor content contributions in the staging environment.
In yet another aspect of the invention, a system for facilitating and controlling web site development is provided. The system comprises a controlled development environment accessible to a plurality of external vendors, wherein the controlled development environment is configured to permit independent web site development for generating a plurality of content contributions by each one of the plurality of external vendors. Additionally, a master environment is provided. The master environment includes a development repository for receiving a plurality of external vendor content contributions from each one of the plurality of external vendors from the controlled development environment and a staging environment provided with a limited access mechanism for allowing access only by a web site administrator. The staging environment includes means for testing the plurality of external vendor content contributions in an environment emulating a production environment. The master environment further includes the production environment having an architecture that parallels an architecture of the staging environment, the production environment being publicly accessible and including means for publishing the plurality of external vendor content contributions. Additionally, a mechanism is provided for transmitting the
plurality of external vendor content contributions from the controlled development environment to the development repository of the master environment.
These and other features, objects, and advantages of the preferred embodiments will become apparent when the detailed description of the preferred embodiments is read in conjunction with the drawings attached hereto.
BRIEF DESCRIPTION OF THE DRAWING
Figure 1 is a block diagram illustrating the system for facilitating and controlling web site development of the present invention; Figure 2 is a block diagram illustrating the integration environment of the system of the invention;
Figure 3 is a block diagram illustrating the details of the staging environment and production environment of the invention;
Figure 4 is a flow chart illustrating the main steps of the method of the invention; Figure 5 illustrates the steps performed on content contributions submitted to the development repository of the master environment;
Figure 6 is a flow chart illustrating the steps performed in the staging environment of the master environment; and
Figure 7 is a flow chart illustrating the steps involved when content contributions are sent to the production environment of the master environment.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings in which like reference numerals refer to corresponding elements.
Figure 1 is a block diagram illustrating the components of a web site development system 100 operated by a web site owner or a web site administrator and the interaction with a plurality of external vendors 10. As discussed above, it is becoming increasingly common for a business that seeks to have an Internet presence to use one or more external vendors as web site developers and/or content contributors. Because of the multimedia nature of the World Wide Web, there can be many district content components of a web site, including audio, video, graphics, text and underlying program code. It is also becoming increasingly common to utilize different external vendors to supply separate
and distinct content contributions for a web site. Thus, the present invention addresses the integration of such distinct and separate content contributions of multiple external vendors into a single production version (i.e., the commercial or "live," publicly- accessible version) of the web site. The plurality of external vendors 10 each interact with a controlled development environment 150 of the system 100. The controlled development environment 150 can be constructed by each of the external vendors 10 to the specifications of the web site administrator. Alternatively, the web site administrator can maintain the controlled development environment 150. Each of the external vendors 10 may create and develop content, and edit content contributions for the web site in the development environment 150. After editing web site content in the development environment 150, each of the external vendors 10 can transmit such content contributions across a firewall 175 to an integration environment 200. The integration environment 200 is provided to test and publish the content contributions created in the development environment 150. The details of all of the aforementioned components are provided in conjunction with the figures that follow.
The development environment 150 is an environment that is local to each of the external vendors 10. The development environment 150 is created to match the integration environment 200 through similarly configured hardware and software. Each of the external vendors 10 is provided with a version control tool 152 that produces a control version of the web site which emulates the current production version of the web site. The control version of the web site preferably includes a working area in which each of the external vendors 10 can modify the control version of the web site, and a read-only area which allows the external vendors 10 to view, but not edit, the control version of the web site. The read-only area may be an area wholly controlled by the web site owner/administrator. Alternatively, the read-only area could comprise a plurality of areas each reserved for a separate one of the different external vendors 10. The above described version control tool 152 is implemented through the use of a standard source code control process that is operated so as to give each qualified external vendor 10 the appropriate version of the web site (i.e., a version which emulates the current "live" production version) by providing a unique working area and a unique read-only area for each external vendor 10.
Figure 2 illustrates the components of the integration environment 200. The integration environment 200 receives a plurality of content contributions from the plurality of external vendors 10 transmitted from the development environment 150 and includes a development repository 210, a staging environment 220, a production environment 230, a storage and back-up system 240, and a database cluster 250. After each of the plurality of external vendors 10 creates web site content contributions in the development environment 150, the developed web site content contributions are transmitted to the development repository 210 of the integration environment 200. The development repository 210 comprises a repository server. The development repository 210 is accessible to both the web site administrator and to authorized ones of the plurality of external vendors 10, but is not accessible to the general public. The development repository 210 processes transmitted external vendor content contributions, performs integration testing, and transmits to the web site administrator requests to receive business approval to integrate the transmitted external vendor content contributions into the production version of the web site and processes the web site administrator's responses to such requests to receive business approval.
The development repository 210 includes a standard version control tool 215 to determine which version of the web site the external vendors 10 should use to perform testing on the new content contributions. The version control tool 215 also performs conflict resolution when two or more external vendors 10 conflict over versions.
The development repository 210 further includes integration testing tools 212. The integration testing tools 212 are capable of performing two tests: (1) an integration test on an individual external vendor's content contributions and (2) an integration test for a new version of the master web site after each of the external vendor's content contributions are merged and integrated into a single web site.
In a preferred embodiment, the repository server is comprised of a Sun E4500 system, which is an 8 CPU system having two GB of RAM. Alternatively, any system capable of performing the aforementioned functions could be substituted.
After receiving business approval to integrate the external vendors' content contributions into the production version of the web site, the development repository 210 transmits the content contributions of the external vendors 10 to the staging environment 220. The staging environment 220 is preferably divided into a plurality of staging web servers 222 and a plurality of staging applications servers 224 as illustrated in greater
detail in Figure 3. In a preferred embodiment of the system, the plurality of staging web servers 222 are each comprised of a Sun E420R system having one CPU and 256 MB of
RAM. The plurality of staging applications servers 224 are each preferably comprised of a Sun E420R system having two CPUs and one GB of RAM. From the staging environment 220, the tested integrated web site content contributions of the external vendors 10 are forwarded through the database cluster 250 to the production environment
230. The production environment 230 includes a plurality of production web servers 232 and a plurality of production application servers 234 as shown in Figure 3.
In a preferred embodiment, each of the plurality of production web servers 232 is comprised of a Sun E450 system having two CPUs and one GB of RAM. Preferably, each of the plurality of production application severs 234 is comprised of a Sun E4500 system having four CPUs and two GB of RAM.
In the staging environment 220, the integrated web site content contributions of the external vendors 10 (the "new web site version") is tested in an environment similar to the production environment so that testing can more reliably assess how the new web site version will perform when published or posted to the production environment. Accordingly, the basic architecture of the staging environment 220 is the same as the basic architecture used in the production environment 230 so that the staging environment 220 emulates the production environment 230. A difference between the production environment 230 and the staging environment 220 is that the architecture of the production environment 230 is slightly more "robust," i.e., more bytes of memory, etc. In other words, the architecture of the staging environment 220 is a scaled-down version of the architecture of the production environment 230.
As shown in Figure 1, the web site development system 100 includes a firewall 175 and an access mechanism 180 between the development environment 150 and the integration environment 200. Access mechanism 180 may comprise a Virtual Private Network ("VPN"). Such a VPN allows multiple users, such as the multiple external vendors 10 here, to utilize the same transmission lines through software control that causes the lines to appear as individual dedicated lines. A VPN must effectively divide bandwidth between the multiple users in order to function efficiently.
The VPN 180 preferably employs public key infrastructure (PKI) style encryption and connects the development environment 150 to the integration environment 200 across a firewall 175 having restricted access. In order to connect with the integration
environment 200, a security system is preferably employed. The security system may comprise hardware tokens, password protection, or any other known security technique.
The access mechanism 180 may be a dedicated line such as a Tl line to give direct access either to the web site administrator or to a dedicated space. Alternatively, access could be provided via the Internet.
Figure 4 is a flow chart illustrating the main steps involved in the method of the present invention. In Procedure A, the multiple external vendors 10 each access their development environment 150. In Procedure B, each of the multiple external vendors 10 forwards the developed web site content contributions to the development repository 210. In Procedure C, the development repository 210 performs initial testing and a plurality of other steps as described in further detail with reference to Figure 5. In Procedure D, the staging and integration testing operations are performed in the staging environment 220, and finally in Procedure E, the new web site version is posted or published to the production environment 230. Figure 5 illustrates the details of the operations performed in the development repository 150. In Step CIO, one of the external vendors 10 contacts the development repository 210. In Step C20, the development repository 210 determines if the one external vendor 10 is a qualified external vendor to submit content contributions to the web site. If the one external vendor 10 is a qualified external vendor, the one external vendor 10 transmits its developed content contributions in Step C30 to the development repository 210 where they are logged into the development repository 210 an intake control process. In Step C40, integration testing of the transmitted developed web site content contributions is performed. If the results of the integration testing are successful in Step C50, the transmitted developed web site content contributions are submitted for business approval to the web site administrator in Step C60. If the web site administrator approves the web site content contributions in Step C70, the web site content contributions are transmitted to the staging environment in Step C80. If in Step C20, the contacting one external vendor 10 is not a qualified external vendor, the one external vendor 10 will be notified and provided with instructions for qualification in Step C90. Likewise, if the integration testing performed during Step C50 is unsuccessful, the process will skip to Step C90 and the one external vendor 10 will be provided with appropriate instructions for re-testing. Additionally, if business approval is not received for the web site content contributions in Step C70, the process skips to Step C90 in which
the one external vendor 10 is notified of the denial of approval and provided with instructions to edit and re-submit the content contributions for approval.
After the initial procedures are performed in the development repository 210, the web site content contributions are integrated into the new web site version and are forwarded to the staging environment 220 for more in-depth testing. Figure 6 shows the steps performed by the process of the present invention in the staging environment 220.
First, in step D10, the new web site version is posted to the staging environment 220. In step D20, integration tests are performed to ensure that the integrated new web site version meets all requirements for format and content established by the web site administrator. These integration tests may comprise any such integration tests currently known in the art. In step D30, a determination is made as to whether the results of the tests conducted in step D20 are satisfactory. If the test results are satisfactory, the integrated new web site version is sent to the production environment 230 in step D40. If the test results are not satisfactory, revisions to the new web site version are made in step D50. Revisions to the new web site version can be accomplished by any known means and can be made by returning the one external vendor 10 to the development environment 150 or can be made by the system 100 in the integration environment 200. Once revisions to the new web site version have been made in step D50, the revisions are again posted to the staging environment 220 in step D10 and the integration testing is repeated in step D20. The above-described integration testing can be performed until a satisfactory result is reached or until the one external vendor 10 terminates the session.
Once the new web site version been posted to the production environment 230 in step 40, the new web site version is replicated in the production environment 230 in step E10. The production environment 230 makes the new web site version generally available to the public via Internet access in step E20.
It will be apparent to those skilled in the art that various modifications and variations can be made in the system and method of the present invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided that they come within the scope of the appended claims and their equivalents.