WO2002037325A2 - Method of dynamically creating a web page according to user preferences - Google Patents

Method of dynamically creating a web page according to user preferences Download PDF

Info

Publication number
WO2002037325A2
WO2002037325A2 PCT/GB2001/004811 GB0104811W WO0237325A2 WO 2002037325 A2 WO2002037325 A2 WO 2002037325A2 GB 0104811 W GB0104811 W GB 0104811W WO 0237325 A2 WO0237325 A2 WO 0237325A2
Authority
WO
WIPO (PCT)
Prior art keywords
preferences
user
web
information
web page
Prior art date
Application number
PCT/GB2001/004811
Other languages
French (fr)
Other versions
WO2002037325A3 (en
Inventor
Adrian Kennedy
Michael Hartman
Original Assignee
Nortel Networks Limited
Nortel Networks Uk Limited
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 Nortel Networks Limited, Nortel Networks Uk Limited filed Critical Nortel Networks Limited
Priority to CA002428004A priority Critical patent/CA2428004A1/en
Priority to EP01978646A priority patent/EP1393203A2/en
Publication of WO2002037325A2 publication Critical patent/WO2002037325A2/en
Publication of WO2002037325A3 publication Critical patent/WO2002037325A3/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

Definitions

  • the invention relates to a method of dynamically creating a web page according to user preferences.
  • web sites such as web-based software applications
  • web-based software applications are designed for use by a particular audience of users from a particular cultural group or for users with particular preferences. This makes use of such web sites difficult, for example, for users who are not familiar with the language, date format and culturally specific icons used in the web site. Even for uses who are familiar with the language and culturally specific icons used in a given web-site, that user may still be presented with irrelevant information because that web-site is designed to operate for many different types of users.
  • a corresponding computer system for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer system comprising:-
  • a processor arranged to invoke a selection algorithm to select one of the resource files on the basis of the accessed information about preferences; and • wherein said processor is further arranged to dynamically create a web page using the selected resource file.
  • a corresponding computer program is provided which is arranged to control a computer system for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer program being arranged to control the computer system such tha -
  • a resource file is stored comprising pre-specified information
  • web pages are dynamically created to fit the preferences of individual users. For example, a plurality of locales may be specified, such as French-Canadian, French, US-English and UK-English. Web pages may then be dynamically created to fit one of these locales.
  • different types of customer are specified for a flight-booking service such as frequent business users, frequent leisure users and family users. Web-pages are then dynamically created to fit one of these customer types.
  • resource files are used, it is simple to add more resource files or to update existing resource files without needing to make changes to several different version of a web site.
  • the accessed information about preferences of a particular user is accessed automatically, such that in use, web pages are created according to preferences of a user without manual input about those preferences by the user being required.
  • This provides the advantage that the system is effectively “invisible” to users who are unaware that web pages are being dynamically created for a particular locale suited to that user. For example, users are presented automatically with their preferred language or a "next best" choice without any intervention from them.
  • information received from the user's machine and/or web browser is used to automatically determine which locale is most appropriate.
  • a user interface is provided such that the user is able to manually specify a locale from those available without the need to understand the language of the current locale being provided.
  • the system is able to provide a "next best" locale. For example, if French-Canadian is not available, the French locale is selected.
  • a web-page for display to a particular user comprising a plurality of items of information selected according to preferences of the user, said items of information having been dynamically selected using pre-specified information from a selected resource file; and said resource file having been selected from a plurality of reserve files according to accessed information about preferences of the particular user.
  • Figure 1 is a schematic diagram of a client computer connected to a web server via the internet according to the prior art.
  • Figure 2 is a schematic diagram of a client computer connected to a web server which is arranged to dynamically create web pages according to preferences of a user.
  • Figure 3 is a flow diagram of a method of dynamically creating web pages according to preferences of a user.
  • Figure 4 is a schematic diagram of client computers connected to a web server and CallPilot (trade mark) server such that web pages may be dynamically created to present the CallPilot web messaging service in different formats and/or languages.
  • CallPilot trademark
  • Figure 5 is an example of a web page display that has been dynamically created according to user preferences.
  • Embodiments of the present invention are described below by way of example only. These examples represent the best ways of putting the invention into practice that are currently known to the Applicant although they are not the only ways in which this could be achieved.
  • locale is used to refer to pre-specified information about user preferences (such as language, date format and format of icons) that are typically exhibited by people from a particular group. For example, a locale may be specified for North American English speakers and a different locale specified for UK English speakers. A locale may also be specified for users of other types, such as frequent users of flight-booking services.
  • FIG. 1 illustrates operation of a web site as is known in the art.
  • a client computer 10 is connected to a web server 12 via the internet 11 or other suitable communications network.
  • the client computer 10 comprises web browser software 13 such as Internet Explorer (trade mark), Netscape Navigator (trade mark) or any other suitable web browser software.
  • the web browser software typically provides a user interface in a particular language, such as English, Japanese, German or French.
  • a web site comprising a plurality of linked web pages 14 is stored on the web server 12 and is accessible by a user at the client computer 10 using the web browser software 13.
  • a temporary file called a cookie
  • This temporary file contains information such as a history of web sites visited by the user in the last web surfing session. If the user exits the web browser software the cookie remains stored on the client PC. Also, when the user of the client computer sends a request to the web server 12, cookie information available on the client computer is sent together with the request, in the form of a cookie.
  • a plurality of resource files are created, one for each required locale.
  • these resource files 15 are stored on the web server 12.
  • the resource files are stored in the form of dynamic link library (DLL) files and this gives the advantage that they can be dynamically loaded based on a user's requested preferences such as a language selection.
  • DLL dynamic link library
  • a localisation company can take a dll file and process/localise it to contain strings for any particular language required, be it French/German, etc.
  • the locale value that is contained within the resource file is then appended onto the end of the resource file e.g.
  • resource_de.dll for German
  • resource_fr.dll for French
  • the information in the resource files may be stored in any suitable format provided a method of retrieving the strings from the relevant resource file is available.
  • Each resource file contains a plurality of strings of text in the particular language for the particular locale. For example, "welcome" is one possible string where the locale is English.
  • the creator of the resource files uses knowledge about the particular web pages to be presented in order to create these resource files. That is, the resource files are specific to a particular instance of a web site.
  • the web pages are to comprise images, a separate directory of images 16 is stored on the web server 12.
  • a selection algorithm 17 which when executed is arranged to select a locale from a plurality of pre-specified locales.
  • the selection algorithm uses information about preferences of a user of the client computer 10 in order to make the selection. More detail about the selection algorithm 17 is described below in the section headed "selection algorithm".
  • the information about the preferences of the user may either be provided manually by the user or may be automatically “detected" by software provided on the web server 12.
  • Figure 3 is a high level flow diagram of the method of dynamically creating web pages for particular locales.
  • a resource file is stored comprising pre- specified text information (box31 of Figure 3).
  • the resource files are stored on the web-server and contain strings as described above.
  • Information about preferences of a user is accessed (box 32 of Figure 3). For example, this is done by accessing information in a request for the web page made to the web server from a web-browser on a client computer. This is described further below in the section headed "information about preferences of a user”.
  • a selection algorithm is then invoked to select one of the resource files on the basis of the accessed information about preferences (box 33 of Figure 3).
  • the web page is dynamically created using the selected resource file (box 34 of Figure 3).
  • the information about the preferences of the user may either be provided manually by the user or may be automatically "detected" by software provided on the web server 12.
  • a user of the client computer 10 operates the web-browser to request a first web page of a web site from the web server 12.
  • This request contains information about the location of the client computer 10 in order that the requested web page may be sent to the client computer.
  • a request typically contains a universal resource locator (URL) for the client computer 10.
  • This URL may contain a locale value such as "En” for English, "Fr-Ca,” for French Canadian and so on.
  • analysis software (which may be stored and executed at the web server 12) obtains the locale value from the URL and uses this as at least part of the "information about preferences of a user" (see box 32 of Figure 3).
  • the analysis software is able to analyse the cookie to see if it contains a locale value. If so, the locale value is used as at least part of the information about preferences of a user. Other information in the cookie may also be analysed to assess preferences of a user.
  • web browsers 13 are usually support a single language, such as French or Spanish.
  • the analysis software checks the HTTP (hyper text transfer protocol) header to establish which language or languages are supported by the web browser 13. This also provides information about the preferences of the user.
  • the analysis software is also arranged to check the characters of the top-level domain name of the client computer 10 (or a server from which the client computer subtends). In some cases the last two characters of the top-level domain name indicate a country. For example, the domain name "some.host.ie” has a domain of "ie2 for Ireland. Other domain names which end in “.com”, “.org”, or other non- country specific domains are not analysed in this way.
  • the selection algorithm comprises an ordered sequence of steps, which are carried out in sequence. If one of the steps succeeds in identifying user preference information then the remaining steps of the selection algorithm are ignored. That is, if a certain step fails to identify preference information, then the next step in the selection algorithm sequence is followed. Preferably there are five steps as listed in the order below: Step l
  • Step 1 involves checking whether any locale value is specified in the URL for the client computer 10 as described above. If so, that locale value is passed as a parameter to the process which dynamically creates the first web page. This is achieved through an ASP (Active Server Page) page parameter.
  • ASP Active Server Page
  • Step 2 comprises checking the cookie for a locale value or other information as described above.
  • Step 3 comprises checking the HTTP header value for the language supported by the web browser 13, as described above.
  • Step 4 comprises checking the last two characters of the top level domain name of the client (or server from which the client subtends), as described above.
  • Step 5 is a default step and comprises setting the locale value to any pre-specified value, such as "En" for English.
  • That locale value is used to select a corresponding resource file. That is, there is one resource file for each locale that it is desired to support. This may be achieved by giving each resource file a name which ends with the appropriate locale value and then matching the locale value output by the selection algorithm with the resource file name. If no match is found, then an attempt is made to find a generalised version of the resource. For example, if a resource file is required for French-Canadian users, then the locale value may be FR-CA. If no resource file named "resourcefile FR CA.dll" is found then a search is carried out for resource files named "resourcefile_FR.dll". If this second resource file is not found then the default resource file for the default locale is selected.
  • the selection algorithm comprises some or all of the five steps above, arranged in different sequences, or where all the steps are carried out and the results combined to produce a single locale value.
  • Each string that can be loaded up has an identifier (ID) associated with it, which is defined in a cpp header file.
  • ID identifier
  • the ID in the cpp header file maps into the selected resource file, in which each ID has a string associated with it. Whilst the string can change for each language the ID remains static, and therefore the identifier (ID) is placed in the view.
  • a function is called which is passed this resource ID and the relevant string from the resource file is returned.
  • These retrieved strings (and or images) are then wrapped in HTML tags to form a completed web page and returned to the web browser 13. The whole process of retrieving the images/strings and wrapping them in HTML tags takes place all at the same time. As the HTML tags are created the strings and other relevant details are obtained from the resource file and the tags, strings and other details such as images are output as a single page to the user's browser. Manual selection of locale value
  • buttons comprise pre- specified images that enable the user to select one of the supported locales (other than the one that is currently being used) in a manner that is independent of the language presented by the web browser.
  • a locale value is set in a cookie stored on the client computer. This ensures that in future, when the user accesses the same web site, his or her manually set preference is taken into account first. Also, as a result of the selection, the current web page is re-created and presented again to the user according to the selected locale.
  • buttons for locales that are currently supported are presented to the user. This is achieved by creating a list of available resource files each time a user logs into or request a first web page from the web server 12. This enables resource files to be updated, installed or removed from the web server 12 without the need to stop and restart the web server 12 or the client computer 10.
  • the analysis software, software for dynamically creating the web pages and the software for implementing the selection algorithm are implemented using a programming language such as C++ and are stored and executed on the web server 12.
  • a programming language such as C++
  • the software may be stored in any location accessible to the web server and executed on any suitable processor which is accessible to the web server.
  • the web pages may be of any suitable type such as ASP (Active Server Pages), JSP (Java Server Pages) or HTML (hyper text mark up language).
  • the web site comprises a web based software application for unified messaging such as Nortel Network's CallPilot (trade mark) unified messaging tool.
  • the CallPilot tool provides a single inbox through which users are able to receive voice, fax and email messages. Users are able to operate this inbox using voice commands because the CallPilot tool uses voice recognition technology.
  • Provision of a CallPilot system is illustrated in Figure 4 in which a CallPilot I MAP (internet messaging applications protocol) server 40 is provided in communication with the web server 12 which in this case is an I MAP proxy.
  • the present invention enables the CallPilot Web Messaging tool to be used by people of different locales.
  • three different locales Japanese, French and German are supported and three different client computers 10a, 10b and 10c are illustrated, each requiring a different locale.
  • the three different locales are supported without the need to provide three separate versions of Web Messaging, one for each locale.
  • Figure 5 shows an example of a web page that has been dynamically created using the method described herein.
  • This web page is displayed in pseudo Swedish to illustrate how the method is used to display a given web page in formats and language suitable for a particular locale.
  • the text shown in the web page has all been provided from a resource file for this particular locale.
  • buttons 50, 51 , 52, 53 are displayed in order for a user to manually select another locale as described above.
  • a range of applications are within the scope of the invention. These include situations in which it is required to dynamically create web pages according to user preferences. For example, to provide web pages in different languages such as French, German or English or to enable date formats and icons to be adjusted for people from different cultures.
  • the web pages may form part of a web-based application such as CallPilot (trade mark) produced by Nortel Networks, or any other suitable web-based application.
  • CallPilot trademark
  • E-commerce applications web-based email, on-line banking and web shopping applications.

Abstract

Previously, multiple versions of web sites such as web-based software applications have had to be created in different languages such as French, German and English, or with different content/format for users with different preferences. This is complex, time consuming, expensive and can lead to errors when the different version are created. The present invention avoids the need for different versions of web sites to be created by dynamically creating web pages in a required language or format or to suit particular user preference. User cultural preferences are automatically detected, for example, by analysing locale values in URLs or cookies sent from the user's web browser or by analysing the domain name of the user's client computer. This preference information is used to select one of a plurality of resource files using a selection algorithm. One resource file is provided for each preference type that it is desired to support and contains a plurality of strings of text that are required for display in the web site. Once a resource file has been selected this is used to dynamically create a web page which is then sent to the client computer. Manual input of preference information by the user is also possible.

Description

METHOD OF DYNAMICALLY CREATING A WEB PAGE ACCORDING TO USER
PREFERENCES
Background of the invention
The invention relates to a method of dynamically creating a web page according to user preferences.
One problem with existing web sites, such as web-based software applications, is that these are designed for use by a particular audience of users from a particular cultural group or for users with particular preferences. This makes use of such web sites difficult, for example, for users who are not familiar with the language, date format and culturally specific icons used in the web site. Even for uses who are familiar with the language and culturally specific icons used in a given web-site, that user may still be presented with irrelevant information because that web-site is designed to operate for many different types of users.
Previously, this problem has been addressed by creating several versions of a given web site, for example, in which the web pages are translated into different languages and any culturally specific format and other changes made. However, this is time consuming, expensive and slows down release of the web site. Storage requirements are increased and images and source code typically have to be changed. Because such changes are required, it is then necessary to test each version of the web site and this in turn is expensive and time consuming.
Even in the case that several versions of a web site are provided, for example, in different languages or for users of other different preference types, a user must still be able to select the most appropriate version for display. One problem has been enabling such a selection to be made effectively. For example, if the options are presented in a single language the user may not be able to understand that language and make the selection.
It is accordingly an object of the present invention to provide a method of dynamically creating a web page according to user preferences which overcomes or at least mitigates one or more of the problems noted above. Further benefits and advantages of the invention will become apparent from a consideration of the following detailed description given with reference to the accompanying drawings, which specify and show preferred embodiments of the invention.
Summary of the invention
According to an aspect of the present invention there is provided a method of dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said method comprising the steps of:-
• for each locale, storing a resource file comprising pre-specified information;
• accessing information about preferences of a particular user;
• invoking a selection algorithm to select one of the resource files on the basis of the accessed information about preferences; and
• dynamically creating a web page using the selected resource file.
A corresponding computer system is also provided for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer system comprising:-
• a stored resource file for each locale, each of said resource files comprising pre-specified information;
• an input arranged to access information about preferences of a particular user;
• a processor arranged to invoke a selection algorithm to select one of the resource files on the basis of the accessed information about preferences; and • wherein said processor is further arranged to dynamically create a web page using the selected resource file.
A corresponding computer program is provided which is arranged to control a computer system for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer program being arranged to control the computer system such tha -
• for each locale, a resource file is stored comprising pre-specified information;
• information is accessed about preferences of a particular user;
• a selection algorithm is invoked to select one of the resource files on the basis of the accessed information about preferences; and
• a web page is dynamically created using the selected resource file.
This provides the advantage that it is not necessary to create and store several different versions of a web site in different languages or for users who have other different preferences. Rather, web pages are dynamically created to fit the preferences of individual users. For example, a plurality of locales may be specified, such as French-Canadian, French, US-English and UK-English. Web pages may then be dynamically created to fit one of these locales. In another example, different types of customer are specified for a flight-booking service such as frequent business users, frequent leisure users and family users. Web-pages are then dynamically created to fit one of these customer types. In addition, because resource files are used, it is simple to add more resource files or to update existing resource files without needing to make changes to several different version of a web site. This is possible whilst the system is "live" without the need for any "downtime". In this way, easy deployment of local-language or other versions of web-based applications and other web based services and products is enabled without the need to make changes to any of the existing software code for those web based applications, services and products. Preferably the accessed information about preferences of a particular user is accessed automatically, such that in use, web pages are created according to preferences of a user without manual input about those preferences by the user being required. This provides the advantage that the system is effectively "invisible" to users who are unaware that web pages are being dynamically created for a particular locale suited to that user. For example, users are presented automatically with their preferred language or a "next best" choice without any intervention from them. In one embodiment, when a user initially connects to a web server, information received from the user's machine and/or web browser is used to automatically determine which locale is most appropriate.
It is also possible for users to change the current locale by making a manual selection which is "remembered" by the system so that when the user next logs in, the manually selected locale is used. Preferably, a user interface is provided such that the user is able to manually specify a locale from those available without the need to understand the language of the current locale being provided.
In the event that the specific locale required by a user is not available, the system is able to provide a "next best" locale. For example, if French-Canadian is not available, the French locale is selected.
According to another aspect of the present invention there is provided a web-page for display to a particular user, said web page comprising a plurality of items of information selected according to preferences of the user, said items of information having been dynamically selected using pre-specified information from a selected resource file; and said resource file having been selected from a plurality of reserve files according to accessed information about preferences of the particular user.
Brief description of the drawings
Figure 1 is a schematic diagram of a client computer connected to a web server via the internet according to the prior art.
Figure 2 is a schematic diagram of a client computer connected to a web server which is arranged to dynamically create web pages according to preferences of a user. Figure 3 is a flow diagram of a method of dynamically creating web pages according to preferences of a user.
Figure 4 is a schematic diagram of client computers connected to a web server and CallPilot (trade mark) server such that web pages may be dynamically created to present the CallPilot web messaging service in different formats and/or languages.
Figure 5 is an example of a web page display that has been dynamically created according to user preferences.
Detailed description of the embodiments
Embodiments of the present invention are described below by way of example only. These examples represent the best ways of putting the invention into practice that are currently known to the Applicant although they are not the only ways in which this could be achieved.
The term "locale" is used to refer to pre-specified information about user preferences (such as language, date format and format of icons) that are typically exhibited by people from a particular group. For example, a locale may be specified for North American English speakers and a different locale specified for UK English speakers. A locale may also be specified for users of other types, such as frequent users of flight-booking services.
Figure 1 illustrates operation of a web site as is known in the art. A client computer 10 is connected to a web server 12 via the internet 11 or other suitable communications network. The client computer 10 comprises web browser software 13 such as Internet Explorer (trade mark), Netscape Navigator (trade mark) or any other suitable web browser software. The web browser software typically provides a user interface in a particular language, such as English, Japanese, German or French. A web site comprising a plurality of linked web pages 14 is stored on the web server 12 and is accessible by a user at the client computer 10 using the web browser software 13.
When a user of the client computer requires access to a particular web site, that user enters details of the particular web site to the web browser software which then sends a request to the web server on which the particular web site is stored. This request contains information about the location of the client computer in order that the requested web pages may be sent from the web server 12 to the client computer 10.
During use of the web browser software a temporary file, called a cookie, is written by the web browser 13 to the client computer 10. This temporary file contains information such as a history of web sites visited by the user in the last web surfing session. If the user exits the web browser software the cookie remains stored on the client PC. Also, when the user of the client computer sends a request to the web server 12, cookie information available on the client computer is sent together with the request, in the form of a cookie.
Previously, in order to provide different versions of a web site suitable for different locales, a separate version of the web site for each required locale has been created and stored on the web server 12. This is unsatisfactory for many reasons as described in the section above headed "Background of the invention". In the present invention, different versions of web pages, suitable for different locales (e.g. languages and cultures), are dynamically created. This avoids the need to create and store many different versions of a web site for different locales and user preferences.
An example in which different language versions of a web-site are dynamically created is now described. In order to dynamically create web pages for web sites in different locales, a plurality of resource files are created, one for each required locale. As shown in Figure 2, these resource files 15 are stored on the web server 12. The resource files are stored in the form of dynamic link library (DLL) files and this gives the advantage that they can be dynamically loaded based on a user's requested preferences such as a language selection. For example, a localisation company can take a dll file and process/localise it to contain strings for any particular language required, be it French/German, etc. The locale value that is contained within the resource file is then appended onto the end of the resource file e.g. resource_de.dll for German, resource_fr.dll for French. However, it is not essential to use DLL files; the information in the resource files may be stored in any suitable format provided a method of retrieving the strings from the relevant resource file is available. Each resource file contains a plurality of strings of text in the particular language for the particular locale. For example, "welcome" is one possible string where the locale is English. The creator of the resource files, uses knowledge about the particular web pages to be presented in order to create these resource files. That is, the resource files are specific to a particular instance of a web site.
If the web pages are to comprise images, a separate directory of images 16 is stored on the web server 12.
Also stored on the web server 12 is a selection algorithm 17 which when executed is arranged to select a locale from a plurality of pre-specified locales. The selection algorithm uses information about preferences of a user of the client computer 10 in order to make the selection. More detail about the selection algorithm 17 is described below in the section headed "selection algorithm". The information about the preferences of the user may either be provided manually by the user or may be automatically "detected" by software provided on the web server 12.
Figure 3 is a high level flow diagram of the method of dynamically creating web pages for particular locales. For each locale a resource file is stored comprising pre- specified text information (box31 of Figure 3). For example, the resource files are stored on the web-server and contain strings as described above. Information about preferences of a user is accessed (box 32 of Figure 3). For example, this is done by accessing information in a request for the web page made to the web server from a web-browser on a client computer. This is described further below in the section headed "information about preferences of a user". A selection algorithm is then invoked to select one of the resource files on the basis of the accessed information about preferences (box 33 of Figure 3). Finally, the web page is dynamically created using the selected resource file (box 34 of Figure 3). As mentioned above, the information about the preferences of the user may either be provided manually by the user or may be automatically "detected" by software provided on the web server 12.
Information about preferences of a user
In order to describe the information about preferences of the user, the case in which the preferences are automatically detected is now described. A user of the client computer 10 operates the web-browser to request a first web page of a web site from the web server 12. This request contains information about the location of the client computer 10 in order that the requested web page may be sent to the client computer. For example, such a request typically contains a universal resource locator (URL) for the client computer 10. This URL may contain a locale value such as "En" for English, "Fr-Ca," for French Canadian and so on. In that case, analysis software (which may be stored and executed at the web server 12) obtains the locale value from the URL and uses this as at least part of the "information about preferences of a user" (see box 32 of Figure 3).
If a cookie has been sent to the web server 12 together with the request, then the analysis software is able to analyse the cookie to see if it contains a locale value. If so, the locale value is used as at least part of the information about preferences of a user. Other information in the cookie may also be analysed to assess preferences of a user.
Other information about preferences of the user is obtainable from the web browser 13. As mentioned above, web browsers 13 are usually support a single language, such as French or Spanish. The analysis software checks the HTTP (hyper text transfer protocol) header to establish which language or languages are supported by the web browser 13. This also provides information about the preferences of the user.
The analysis software is also arranged to check the characters of the top-level domain name of the client computer 10 (or a server from which the client computer subtends). In some cases the last two characters of the top-level domain name indicate a country. For example, the domain name "some.host.ie" has a domain of "ie2 for Ireland. Other domain names which end in ".com", ".org", or other non- country specific domains are not analysed in this way.
Selection Algorithm
In a preferred embodiment, the selection algorithm comprises an ordered sequence of steps, which are carried out in sequence. If one of the steps succeeds in identifying user preference information then the remaining steps of the selection algorithm are ignored. That is, if a certain step fails to identify preference information, then the next step in the selection algorithm sequence is followed. Preferably there are five steps as listed in the order below: Step l
Step 1 involves checking whether any locale value is specified in the URL for the client computer 10 as described above. If so, that locale value is passed as a parameter to the process which dynamically creates the first web page. This is achieved through an ASP (Active Server Page) page parameter.
Step 2
Step 2 comprises checking the cookie for a locale value or other information as described above.
Step 3
Step 3 comprises checking the HTTP header value for the language supported by the web browser 13, as described above.
Step 4
Step 4 comprises checking the last two characters of the top level domain name of the client (or server from which the client subtends), as described above.
Step 5
Step 5 is a default step and comprises setting the locale value to any pre-specified value, such as "En" for English.
Once one of these five steps has been successful in producing a locale value, that locale value is used to select a corresponding resource file. That is, there is one resource file for each locale that it is desired to support. This may be achieved by giving each resource file a name which ends with the appropriate locale value and then matching the locale value output by the selection algorithm with the resource file name. If no match is found, then an attempt is made to find a generalised version of the resource. For example, if a resource file is required for French-Canadian users, then the locale value may be FR-CA. If no resource file named "resourcefile FR CA.dll" is found then a search is carried out for resource files named "resourcefile_FR.dll". If this second resource file is not found then the default resource file for the default locale is selected.
In other embodiments, the selection algorithm comprises some or all of the five steps above, arranged in different sequences, or where all the steps are carried out and the results combined to produce a single locale value.
Dynamic creation of the web pages
As described with reference to Figure 3 above, once a resource file has been selected, this is used to dynamically create web pages suitable for the corresponding locale. As explained above, every string that has to be displayed on the web pages is held within the resource file. As a request for one of the web pages arrives at the web server 12, software for dynamically creating the web pages processes the request and begins to build a view. This view is a software entity which acts as a container or template which has variables or slots in which text and or images may be inserted. The form of the view that is created depends on which web page has been requested, with each web page being represented by a different view. The software for dynamically creating the web pages then retrieves the necessary strings and or images from the resource file 17 and images directory 16 by making function calls to the selected resource file. Each string that can be loaded up has an identifier (ID) associated with it, which is defined in a cpp header file. The ID in the cpp header file maps into the selected resource file, in which each ID has a string associated with it. Whilst the string can change for each language the ID remains static, and therefore the identifier (ID) is placed in the view. A function is called which is passed this resource ID and the relevant string from the resource file is returned. These retrieved strings (and or images) are then wrapped in HTML tags to form a completed web page and returned to the web browser 13. The whole process of retrieving the images/strings and wrapping them in HTML tags takes place all at the same time. As the HTML tags are created the strings and other relevant details are obtained from the resource file and the tags, strings and other details such as images are output as a single page to the user's browser. Manual selection of locale value
As described above it is also possible for the user to manually provide information about his or her preferences. For example, this is achieved by presenting one button on the first web page for each locale that is supported. These buttons comprise pre- specified images that enable the user to select one of the supported locales (other than the one that is currently being used) in a manner that is independent of the language presented by the web browser. Once the user selects one of these buttons, a locale value is set in a cookie stored on the client computer. This ensures that in future, when the user accesses the same web site, his or her manually set preference is taken into account first. Also, as a result of the selection, the current web page is re-created and presented again to the user according to the selected locale.
Only buttons for locales that are currently supported are presented to the user. This is achieved by creating a list of available resource files each time a user logs into or request a first web page from the web server 12. This enables resource files to be updated, installed or removed from the web server 12 without the need to stop and restart the web server 12 or the client computer 10.
Preferably the analysis software, software for dynamically creating the web pages and the software for implementing the selection algorithm are implemented using a programming language such as C++ and are stored and executed on the web server 12. However, this is not essential, any suitable programming language can be used and the software may be stored in any location accessible to the web server and executed on any suitable processor which is accessible to the web server. The web pages may be of any suitable type such as ASP (Active Server Pages), JSP (Java Server Pages) or HTML (hyper text mark up language).
In a preferred embodiment, the web site comprises a web based software application for unified messaging such as Nortel Network's CallPilot (trade mark) unified messaging tool. The CallPilot tool provides a single inbox through which users are able to receive voice, fax and email messages. Users are able to operate this inbox using voice commands because the CallPilot tool uses voice recognition technology. Provision of a CallPilot system is illustrated in Figure 4 in which a CallPilot I MAP (internet messaging applications protocol) server 40 is provided in communication with the web server 12 which in this case is an I MAP proxy. The present invention enables the CallPilot Web Messaging tool to be used by people of different locales. In this example, three different locales, Japanese, French and German are supported and three different client computers 10a, 10b and 10c are illustrated, each requiring a different locale. By dynamically creating web pages of the web based CallPilot tool, the three different locales are supported without the need to provide three separate versions of Web Messaging, one for each locale.
Figure 5 shows an example of a web page that has been dynamically created using the method described herein. This web page is displayed in pseudo Swedish to illustrate how the method is used to display a given web page in formats and language suitable for a particular locale. The text shown in the web page has all been provided from a resource file for this particular locale. Also, four buttons 50, 51 , 52, 53 are displayed in order for a user to manually select another locale as described above.
A range of applications are within the scope of the invention. These include situations in which it is required to dynamically create web pages according to user preferences. For example, to provide web pages in different languages such as French, German or English or to enable date formats and icons to be adjusted for people from different cultures. The web pages may form part of a web-based application such as CallPilot (trade mark) produced by Nortel Networks, or any other suitable web-based application. For example, E-commerce applications, web-based email, on-line banking and web shopping applications.

Claims

1. A method of dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said method comprising the steps of:-
(i) for each locale, storing a resource file comprising pre-specified information;
(ii) accessing information about preferences of a particular user;
(iii) invoking a selection algorithm to select one of the resource files on the basis of the accessed information about preferences; and
(iv) dynamically creating a web page using the selected resource file.
2. A method as claimed in claim 1 wherein said accessed information about preferences of a particular user is accessed automatically, such that in use, web pages are created according to preferences of a user without manual input about those preferences by the user being required.
3. A method as claimed in claim 1 wherein said information about preferences of a particular user is accessed from a web-browser which is arranged to allow that user to access the dynamically created web pages in use.
4. A method as claimed in any preceding claim wherein said information about preferences of a particular user comprises a locale value.
5. A method as claimed in any of claims 1 to 3 wherein said information about preferences of a particular user comprises a domain name associated with a client computer which is arranged to allow that user to access the dynamically created web pages in use.
6. A method as claimed in claim 1 wherein said information about preferences of a particular user is obtained from a cookie forwarded from a web-browser which is arranged to allow that user to access the dynamically created web pages in use.
7. A method as claimed in any of claims 1 to 3 wherein said selection algorithm comprises a plurality of ordered steps, each arranged to provide a locale value indicating the user's preferences, and such that the ordered steps are carried out in sequence until one of the steps provides a locale value.
8. A method as claimed in any preceding claim wherein the step of dynamically creating a web page using the selected resource file comprises building a view which represents the web page.
9. A method as claimed in claim 8 wherein the step of dynamically creating a web page further comprises retrieving text information from the selected resource file for insertion in the view.
10. A computer system for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer system comprising:-
(i) a stored resource file for each locale, each of said resource files comprising pre-specified information;
(ii) an input arranged to access information about preferences of a particular user;
(iii) a processor arranged to invoke a selection algorithm to select one of the resource files on the basis of the accessed information about preferences; and
(iv) wherein said processor is further arranged to dynamically create a web page using the selected resource file.
11. A computer system as claimed in claim 10 which is a web server.
12. A computer program arranged to control a computer system for dynamically creating a web page according to user preferences said user preferences being pre-specified by a plurality of locales, said computer program being arranged to control the computer system such tha -
(i) for each locale, a resource file is stored comprising pre-specified information;
(ii) information is accessed about cultural preferences of a particular user;
(iii) a selection algorithm is invoked to select one of the resource files on the basis of the accessed information about preferences; and
(iv) a web page is dynamically created using the selected resource file.
13. A computer program as claimed in claim 12 which is stored on a computer readable medium.
14. A method of accessing a dynamically created web page from a client computer which is in communication with a web server as claimed in claim 11 , said method comprising the steps of:
(i) requesting a web page from the web server;
(ii) receiving a dynamically created web page from the web server.
15. A communications network comprising a web server as claimed in claim 11.
16. A web page for display to a particular user, said web page comprising a plurality of items of information selected according to preferences of the user, said items of information having been dynamically selected using pre-specified information from a selected resource file; and said resource file having been selected from a plurality of resource files according to accessed information about preferences of the particular user.
PCT/GB2001/004811 2000-11-06 2001-10-30 Method of dynamically creating a web page according to user preferences WO2002037325A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002428004A CA2428004A1 (en) 2000-11-06 2001-10-30 Method of dynamically creating a web page according to user preferences
EP01978646A EP1393203A2 (en) 2000-11-06 2001-10-30 Method of dynamically creating a web page according to user preferences

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70700500A 2000-11-06 2000-11-06
US09/707,005 2000-11-06

Publications (2)

Publication Number Publication Date
WO2002037325A2 true WO2002037325A2 (en) 2002-05-10
WO2002037325A3 WO2002037325A3 (en) 2003-12-18

Family

ID=24839973

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/004811 WO2002037325A2 (en) 2000-11-06 2001-10-30 Method of dynamically creating a web page according to user preferences

Country Status (3)

Country Link
EP (1) EP1393203A2 (en)
CA (1) CA2428004A1 (en)
WO (1) WO2002037325A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2403306A (en) * 2003-06-25 2004-12-29 Canon Europa Nv Website localisation
ITTV20130118A1 (en) * 2013-07-29 2015-01-30 Sorridi Editore S R L COMPUTERIZED SYSTEM FOR THE DISTRIBUTION OF A MULTI-PLATFORM DIGITAL EDITORIAL PRODUCT AND RELATIVE METHOD.
US10263910B2 (en) 2013-01-23 2019-04-16 Alibaba Group Holding Limited Resource calling for hybrid applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
EP0889421A1 (en) * 1997-06-12 1999-01-07 Yahoo, Inc. Dynamic page generator
WO1999057660A1 (en) * 1998-05-06 1999-11-11 Iweb Ltd. Content enhancement system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
EP0889421A1 (en) * 1997-06-12 1999-01-07 Yahoo, Inc. Dynamic page generator
WO1999057660A1 (en) * 1998-05-06 1999-11-11 Iweb Ltd. Content enhancement system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHESNAIS ET AL: "The Fishwrap personalized news system" PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON COMMUNITY NETWORKINGINTEGRATED MULTIMEDIA SERVICES TO THE HOME, XX, XX, 20 June 1995 (1995-06-20), pages 275-282, XP002074902 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2403306A (en) * 2003-06-25 2004-12-29 Canon Europa Nv Website localisation
US10263910B2 (en) 2013-01-23 2019-04-16 Alibaba Group Holding Limited Resource calling for hybrid applications
ITTV20130118A1 (en) * 2013-07-29 2015-01-30 Sorridi Editore S R L COMPUTERIZED SYSTEM FOR THE DISTRIBUTION OF A MULTI-PLATFORM DIGITAL EDITORIAL PRODUCT AND RELATIVE METHOD.

Also Published As

Publication number Publication date
CA2428004A1 (en) 2002-05-10
EP1393203A2 (en) 2004-03-03
WO2002037325A3 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
KR100552554B1 (en) Method and system for fulfilling requests for information from a network client
US5793966A (en) Computer system and computer-implemented process for creation and maintenance of online services
US20030005159A1 (en) Method and system for generating and serving multilingual web pages
US7194678B1 (en) Dynamic web page generation method and system
EP1320972B1 (en) Network server
US7526520B2 (en) Method and apparatus for providing a client by a server with an instruction data set in a predetermined format in response to a content data request message by a client
US20020065910A1 (en) Method, system, and program for providing access time information when displaying network addresses
US20020078102A1 (en) Method and system for customized modification and presentation of remotely saved web content
US7725906B2 (en) Method and device for executing a function with selection and sending of multiple results in a client-server environment
US20020032706A1 (en) Method and system for building internet-based applications
WO2001057661A2 (en) Method and system for reusing internet-based applications
US20020087559A1 (en) Method and system for retrieving documents using hyperlinks
WO1996029664A1 (en) Computer system and computer-implemented process for creation and maintenance of on-line services
US20080172396A1 (en) Retrieving Dated Content From A Website
CA2437273C (en) Network conduit for providing access to data services
US20040162873A1 (en) Method and apparatus of wrapping an existing service
WO2001048630A2 (en) Client-server data communication system and method for data transfer between a server and different clients
AU738349B2 (en) Learning control information generation method, apparatus and computer readable medium storing learning control information generation program
US20020087915A1 (en) Error handler method and system for internet-based applications
US7831905B1 (en) Method and system for creating and providing web-based documents to information devices
WO2002037325A2 (en) Method of dynamically creating a web page according to user preferences
KR100429558B1 (en) ADE data set component of client computer for transmitting/receiving of data between web servers
CA2297596A1 (en) Method and system for reusing internet-based applications
WO2001075673A2 (en) Method for developing and maintaining content for websites
US20030154445A1 (en) Module for generating objects, from raw data retrieved from at least a data source containing at least a document written in a markup language

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2001978646

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2428004

Country of ref document: CA

WWP Wipo information: published in national office

Ref document number: 2001978646

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2001978646

Country of ref document: EP