Patent ID: 8271547

Claim:
A dynamic webpage versioning system, comprising: a configuration database comprising computer-readable storage media, the configuration database configured to store plural versions of configuration data for a dynamic webpage, wherein each of the plural versions is simultaneously available without reconstruction by the configuration database for production of plural versions of the dynamic webpage, the plural versions comprising a first version and a second version; and a computing device comprising a processor and communicatively coupled to the configuration database and a network, the computing device comprising, a website manager operable on the processor and configured to produce two or more different versions of the dynamic webpage at the same time using different versions of the configuration data, wherein the website manager makes the dynamic webpage produced using the first version of the configuration data publically available at a first uniform resource locator (URL) to one or more users on the network, and restricts access to the dynamic webpage produced using the second version of the configuration data and accessible on the network at a second URL, and a publication engine operable on the processor and configured to replace the first version of the configuration data with the second version of the configuration data in the configuration database in response to a version transition request, wherein, in response to a request from a particular client to the first URL and prior to the version transition request, the website manager produces the dynamic webpage using the first version of the configuration data, wherein the plural versions of the configuration data stored on the computer-readable storage medium of the configuration database comprise a work-in-progress version, a prototype version, a live version, and a previous live version, and wherein the publication engine is to transition the work-in-progress version of the configuration data to the prototype version by causing the configuration database to store the work-in-progress version of the configuration data as prototype configuration data, and wherein to transition the work-in-progress version of the configuration data to the prototype version, the publication engine is further configured to pre-render one or more dynamically defined, static components of the dynamic webpage produced using the work-in-progress version of the configuration data and to cause the configuration database to store the pre-rendered components as prototype configuration data.